En estos apuntes se recomienda el paquete XAMPP. En la lección Qué es XAMPP se explica qué es XAMPP, qué versión se recomienda en estos apuntes y cómo conseguirla.
En esta lección se explica la Instalación y el uso de XAMPP en Windows 10. Las capturas corresponden a la instalación de XAMPP 8.0.9 en Windows 10.
Antes de instalar un servidor de páginas web es conveniente comprobar si no hay ya uno instalado, o al menos si no está en funcionamiento. Para ello, es suficiente con abrir el navegador y escribir la dirección http://localhost. Si se obtiene un mensaje de error es que no hay ningún servidor de páginas web en funcionamiento (aunque podría haber algún servidor instalado, pero no estar en funcionamiento).
Una vez obtenido el archivo de instalación de XAMPP, hay que hacer doble clic sobre él para ponerlo en marcha.
El cortafuegos de Windows es el encargado de filtrar las peticiones exteriores a nuestro equipo, por ejemplo cuando desde el navegador de otro ordenador de la red local en la que nos encontramos alguien quiere abrir páginas alojadas en nuestro servidor.
El cortafuegos de Windows filtra las conexiones de acuerdo con las reglas de entrada que haya establecidas. Por ello, cuando se pone en marcha por primera vez cualquiera de los servidores que instala XAMPP, el cortafuegos de Windows pregunta al usuario si quiere autorizar o no las conexiones desde el exterior para ese servidor en concreto (Apache, MariaDB, etc.) .
Así, la primera vez que se pone en marcha Apache después de la instalación mediante el botón Start correspondiente ...
... el cortafuegos de Windows pregunta al usuario en qué perfiles de red (privado o público) se permitirá que Apache se comunique con otros equipos. Si lo permitimos (marcando la casilla), otros equipos de la misma red local podrán ver páginas en nuestro servidor, pero si no lo permitimos (dejando la casilla sin marcar), las peticiones del exterior no llegarán al servidor.
Para saber qué perfil es necesario autorizar, tendremos que saber qué perfil estamos utilizando. Para ello, tenemos que abrir la aplicación Configuración > Red e Internet y hacer clic en Propiedades de Ethernet:
Se abrirá la pantalla del perfil de red, en la que podremos ver si nuestro perfil de red es público o privado:
En principio, sería suficiente con autorizar el perfil que tengamos seleccionado (sea este público o privado):
Tenga en cuenta que si autoriza únicamente uno de los dos perfiles y posteriormente cambia el perfil de red, el cortafuegos de Windows no le preguntará si autoriza el acceso a este perfil hasta que no se reinicie Apache. Lógicamente, si autorizamos ambos perfiles, Apache será siempre accesible independientemente del perfil.
Tenga en cuenta también que la ventana que solicita autorización crea siempre reglas de entrada en el cortafuegos para el perfil de red actual. Si se marca la casilla y se permite el acceso, se creará una regla permitiendo el acceso, pero si la casilla se desmarca o si se cancela o cierra la ventana, se creará una regla denegando el acceso.
Si el arranque de Apache tiene éxito, el panel de control mostrará el nombre del módulo con fondo verde, su identificador de proceso, los puertos abiertos (http y https), el botón "Start" se convertirá en el botón "Stop" y en la zona de notificación se verá el resultado de las operaciones realizadas.
Si se abre el programa "Windows Defender Firewall con seguridad avanzada", en el apartado de Reglas de entrada se pueden ver las nuevas reglas añadidas (una para cada protocolo, TCP o UDP).
Tenga en cuenta que el cortafuegos de Windows sólo mostrará la ventana solicitando autorización la primera vez que se inicie Apache en un perfil de red para el que no se hayan establecido anteriormente las reglas de entrada. Si posteriormente se desean modificar o eliminar las autorizaciones, tendremos que hacerlo con el programa "Windows Defender Firewall con seguridad avanzada".
Abriendo el programa "Windows Defender Firewall con seguridad avanzada", en el apartado de Reglas de entrada podremos ver las reglas de Apache que bloquean el acceso a nuestro perfil de red.
Para permitir una conexión que estaba bloqueada, basta con hacer clic derecho sobre la regla, elegir en el menú contextual la opción Propiedades y en la pestaña General hacer clic en Permitir la conexión y en Aceptar.
Parece ser que algunas veces el instalador de XAMPP no consigue crear la carpeta XAMPP del menú inicio con los iconos de acceso directo. [Referencias: foro de xampp mensaje 14/05/19 y mensaje 29/05/19]. Por ello, una vez completada la instalación, compruebe si se ha creado la carpeta en el menú de inicio, como muestra la imagen siguiente:
Si no se ha creado, abra el explorador de archivos, abra el directorio de instalación de XAMPP (en principio, C:\xampp\), haga clic derecho sobre el programa xampp-control.exe y elija la opción "Anclar a inicio" o "Anclar a la barra de tareas". Se añadirá un icono al menú de inicio (o a la barra de tareas) que permite abrir el panel de control de XAMPP.
En abril de 2020 se publicó una vulnerabilidad en el panel de control de XAMPP. Un atacante podía modificar el fichero xampp-control.ini y cambiar qué programa se ejecuta cuando se arranca un servidor desde el panel de control de XAMPP. La solución inmediata tomada por el equipo de desarrollo de XAMPP fue restringir los permisos de edición de ese fichero a los usuarios administradores.
Aunque esa solución corrige la vulnerabilidad, el problema es que si el usuario que abre el panel de control de XAMPP no es administrador, cuando se cierra el panel de control se produce un error puesto que la aplicación intenta escribir en el archivo .ini para el que no tiene permisos.
Si en fichero C:\xampp\xampp-control.ini no tiene los permisos adecuados, al salir del panel de control se producirá un error de acceso a ese archivo. Para cerrar esas ventanas, abra el Administrador de tareas de Windows y Finalice la tarea xampp-control.exe.
Este problema se puede sortear, a la espera de que los programadores de XAMPP encuentren una mejor solución, aunque eso suponga estar expuesto a la vulnerabilidad comentada antes. Dos maneras de sortear el problema son:
Referencia: Consulta en el foro de XAMPP en septiembre de 2020
Para comprobar que XAMPP se ha instalado correctamente, inicie el servidor Apache mediante el panel de control y escriba en el navegador la dirección http://localhost. XAMPP abrirá una página web local a la que denominan panel de administración web (dashboard), que incluye alguna herramienta de utilidad:
Al panel de control de XAMPP se puede acceder mediante el menú de inicio "Todos los programas > XAMPP > XAMPP Control Panel" o, si ya está iniciado, mediante el icono del área de notificación.
La primera vez que se abre el panel de control de XAMPP, se muestra una ventana de selección de idioma que permite elegir entre inglés y alemán.
El panel de control de XAMPP se divide en tres zonas:
Para cerrar el panel de control de XAMPP hay que hacer clic en el botón Quit (al cerrar el panel de control no se detienen los servidores):
El botón Cerrar en forma de aspa no cierra realmente el panel de control, sólo lo minimiza:
Si se ha minimizado el panel de control de XAMPP, se puede volver a mostrar haciendo doble clic en el icono de XAMPP del área de notificación.
Haciendo clic derecho en el icono de XAMPP del área de notificación se muestra un menú que permite mostrar u ocultar el panel de control, arrancar o detener servidores o cerrar el panel de control.
Se pueden abrir varios paneles de control simultáneamente y cualquiera de ellos puede iniciar o detener los servidores, pero no es aconsejable hacerlo ya que puede dar lugar a confusiones (por ejemplo, al detener un servidor desde un panel de control los otros paneles de control interpretan la detención como un fallo inesperado y muestran un mensaje de error).
Para poner en funcionamiento Apache (u otro servidor), hay que hacer clic en el botón "Start" correspondiente:
Si el arranque de Apache tiene éxito, el panel de control mostrará el nombre del módulo con fondo verde, su identificador de proceso, los puertos abiertos (http y https), el botón "Start" se convertirá en un botón "Stop" y en la zona de notificación se verá el resultado de las operaciones realizadas.
Para detener Apache (u otro servidor), hay que hacer clic en el botón "Stop" correspondiente a Apache.
Si la parada de Apache tiene éxito, el panel de control mostrará el nombre del módulo con fondo gris, sin identificador de proceso ni puertos abiertos (http y https), el botón "Stop" se convertirá en un botón "Start" y en la zona de notificación se verá el resultado de las operaciones realizadas.
Para reiniciar de nuevo Apache habría que volver a hace clic en el botón "Start" correspondiente a Apache.
Nota:
Los dos archivos principales de configuración son los archivos httpd.conf (Apache) y php.ini (PHP). Para editarlos se puede utilizar el panel de control de XAMPP, que los abre directamente en el bloc de notas. Para ello hay que hacer clic en el botón "Config" correspondiente a Apache y hacer clic en el archivo que se quiere editar.
El la lección Configuración de Apache y PHP se comentan algunas opciones de configuración importantes.
En algunas situaciones es necesario ejecutar el panel de control como administrador, por ejemplo, para configurar los servidores como servicios o deshabilitarlos.
Para ejecutar el panel de control como administrador, hay que hacer clic derecho sobre el icono de acceso directo (Inicio > XAMPP Control Panel > y elegir la opción "Más > Ejecutar como administrador".
Si queremos instalar un servidor como servicio, es decir, que se ponga en marcha cada vez que arrancamos el ordenador, hay que marcar la casilla Service correspondiente. Para ello, es necesario iniciar XAMPP como administrador.
Iniciando XAMPP como administrador, las casillas de la columna Service muestran el estado de los servicios:
Para instalar un servicio, haga clic en la casilla Service correspondiente:
Se mostrará una ventana de confirmación. Para instalar el servicio, haga clic en Yes:
Si el servicio se instala correctamente, se indicará en el panel inferior y se mostrará una marca verde en la columna Service:
Al reiniciar el ordenador, tanto si se hace como administrador como si no, el panel de control de XAMPP indica los servicios arrancados. La columna Service sólo mostrará los iconos si se ha iniciado como administrador.
Si queremos desinstalar un servidor como servicio, es decir, que no se ponga en marcha cada vez que arrancamos el ordenador, hay que desmarcar la casilla Service correspondiente. Para ello, es necesario iniciar XAMPP como administrador.
Para eliminar un servicio, haga clic en la casilla Service correspondiente:
Se mostrará una ventana de aviso, que indica que para desinstalar un servicio, antes debe detenerse el servidor. Haga clic en OK para continuar:
Detenga el servidor haciendo clic en el botón Stop correspondiente:
Una vez detenido el servidor, haga clic en la casilla Service correspondiente:
Se mostrará una ventana de confirmación. Para deinstalar el servicio, haga clic en Yes:
Si el servicio se desinstala correctamente, se indicará en el panel inferior y se mostrará una marca roja en la columna Service: