Introducción
Si queremos desarrollar para PHP, y conectarlo con un motor de base de datos como es MySQL necesitamos instalar a ambos, y finalmente a un servidor que escuche las peticiones y las procese mediante PHP.
Pues bien, por eso es que existe un paquete todo en uno que trae principalmente a estas tres herramientas, y adicionalmente algunas otras como phpmyadmin, filezilla server, etcétera.
De lo que hablo es de XAMPP y en este post explicaré cómo instalarlo, configurarlo y establecerlo como servicio para que tanto el demonio de Apache y de MySQL estén siempre encendidos.
Nota: este tutorial fue hecho sobre Windows 10 en 64 bits, pero lo he probado tanto en Windows 7 como en Windows 8.1 (con todas las actualizaciones).
Otros sistemas operativos
¿Usas Ubuntu? mira este tutorial. También es posible instalarlo en Android.
Descarga
Como siempre, lo primero que tenemos que hacer es ir al sitio oficial de XAMPP en este link. Dentro de la página tenemos que buscar la versión más reciente. Al momento de escribir esto, existe la versión 7.1.11.
Lo descargamos y guardamos. Cabe mencionar que la versión de 32 bits funciona correctamente tanto en la plataforma que indica así como en las de 64 bits.
Instalar
Antes de ejecutar el archivo, tenemos que desactivar nuestro antivirus. Después, ejecutarlo como administrador; porque de otra forma puede haber problemas.
Cuando se abra, mostrará una advertencia diciendo que no se instalará bien si no se cuenta con los permisos de administrador, por eso mencioné que debimos ejecutarlo con dicha opción.
Hacemos click en OK para ignorarlo, y seguimos:
Aquí sólo hacemos click en Next >. Nos llevará a lo siguiente:
Esta es una cosa importante de la instalación. Yo recomiendo sólo instalar Apache, MySQL y PHP.
phpMyAdmin es por si queremos visualizar y administrar nuestras bases de datos, pero no es necesario.
Perl por si queremos programar en ese lenguaje, Tomcat para ejecutar archivos JSP supongo y webalizer para generar estadísticas de uso.
Marcamos las que creamos convenientes y hacemos click en Next.
Ahí seleccionamos la ruta. Yo la dejaré así como está, pero somos libres de cambiarla. Sólo que si lo hacemos, debemos recordar la ruta para poder configurar después.
Ahí nos pregunta si queremos saber más sobre Bitnami. Yo desmarcaré el campo y haré click en Next.
Finalmente nos dice que está listo para instalar. Así que hacemos click en Next y esperamos:
Cuando termine de instalar preguntará si queremos iniciar el panel de control. Desmarcamos esa opción y terminamos
Configurar
Ahora veremos cómo iniciar Apache y MySQL como servicios de Windows. Para ello iremos a la ruta de instalación que, si dejamos intacta, es C:\xampp.
Ahí ejecutaremos xampp-control como administrador:
Después elegimos Inglés como idioma:
Hacemos click en la equis roja que tiene a su izquierda Apache. Con esto nos estamos asegurando de que se instale como servicio
Nos pedirá confirmación, hacemos click en Yes
Después Apache tiene que mostrarse con una marca verde como se ve en la siguiente imagen. Lo mismo tenemos que hacer con MySQL
Si pide confirmación se la damos:
Así se debe ver al terminar de configurar ambos servicios:
Y para terminar hacemos click en los botones a la derecha de MySQL y Apache (los que dicen Start). Deben cambiar de “Start” a “Stop”.
Ahora ya podemos hacer click en Quit y salir, pues ya hemos terminado de configurar.
Para terminar, en nuestro navegador favorito vamos a ir a localhost/dashboard y debe aparecer algo como lo de la imagen de abajo. Si es así, hemos terminado de configurar todo correctamente.
Hola mundo desde PHP
Ya hemos probado, pero falta hacer el hola mundo. Vamos a dirigirnos a C:\xampp\htdocs y crearemos un archivo llamado hola.php. Dentro de él escribiremos el siguiente código:
<?php
echo "Hola mundo";
?>
Lo guardamos y ahora de nuevo vamos al navegador pero la ruta la cambiamos a localhost/hola.php y se debe ver esto:
Si nos fijamos bien, la carpeta htdocs viene siendo nuestro directorio raíz. Las carpetas y ficheros que estén ahí serán accesibles desde localhost.
Conclusión
PHP es el lenguaje que ha predominado en la web por mucho tiempo. Seguramente algún día lo veremos remplazado por nuevos lenguajes de servidor, pero mientras tanto no pasa nada si lo aprendemos.
Nota: la contraseña para MySQL no es ninguna (es decir, cadena vacía, nada) y el usuario es root.
Pingback: Sistema web de pagos y cooperaciones open source con PHP - Parzibyte's blog
Pingback: Saber si instalación de PHP es Thread Safe - Parzibyte's blog
Pingback: Ubicación del directorio de extensiones en PHP - Parzibyte's blog
Pingback: Grabar vídeo con JavaScript y enviarlo a servidor con PHP - Parzibyte's blog
Pingback: Instalación de OpenCart versión 3 en servidor Windows y Linux - Parzibyte's blog
Pingback: Configurar apache para servir archivos wasm - Parzibyte's blog
Pingback: Ejecutar código PHP desde terminal o CMD - Parzibyte's blog
Pingback: Ciclo while con fechas en PHP - Parzibyte's blog
Pingback: Obtener elemento aleatorio de arreglo en PHP - Parzibyte's blog
Pingback: Desactivar access.log de Apache en Windows - Parzibyte's blog
Pingback: Adaptar proyecto de PHP a Composer - Parzibyte's blog
Pingback: Ejemplo simple de login con PHP - Parzibyte's blog
Pingback: Enviar correo electrónico con HTML desde PHP - Parzibyte's blog
Pingback: Conectar PHP con MongoDB: CRUD - Parzibyte's blog
Pingback: Conectar GoLang y MySQL - Parzibyte's blog
Pingback: Servidor web completo en Go - Parzibyte's blog
Pingback: Subir archivo a PHP (método simple) - Parzibyte's blog
Pingback: Instalar MySQL (MariaDB) en Android con Termux - Parzibyte's blog
Pingback: Cargar archivo a PHP desde JavaScript con FormData - Parzibyte's blog
Pingback: Hola mundo con symfony 4 - Parzibyte's blog
Pingback: Cómo comenzar un proyecto en CodeIgniter 3.1.9 - Parzibyte's blog
Pingback: Ubicación de my.cnf en Windows y Linux - Parzibyte's blog
Pingback: Python 3 y MySQL: CRUD y ejemplos de conexión - Parzibyte's blog
Pingback: Web Workers en JavaScript: ejemplos y explicación - Parzibyte's blog
Pingback: Qué es un ataque CSRF y cómo prevenirlo - Parzibyte's blog
Pingback: Operador de fusión de null o Null coalesce en PHP - Parzibyte's blog - El blog de Luis Cabrera
Pingback: Tomar foto con Javascript y cámara para guardarla en servidor PHP - Parzibyte's blog - El blog de Luis Cabrera
Pingback: Pequeño, muy pequeño sistema de ventas con PHP - Parzibyte's blog - El blog de Luis Cabrera
Pingback: MySQL y PHP con PDO: CRUD (create, read, update, delete) - Parzibyte's blog - El blog de Luis Cabrera