Cómo montar un Servidor Web portable con XAMPP para realizar pruebas de desarrollo

Cómo montar un Servidor Web portable con XAMPP para realizar pruebas de desarrollo

Si eres alguien que recientemente se ha interesado en el mundo del desarrollo web, sobre todo si deseas enfocarte en el desarrollo de páginas web dinámicas, por seguro ya sabes que sería necesario montar un servidor web con todas las herramientas necesarias para poder ejecutar tus diseños. Apache, MySQL o MariaDB, PHP, Perl, Mercury Mail, etc,... ¿Te son familiares esos términos?.

Hoy hablaremos de XAMPP, un pack de instalación automática con el que podremos servir nuestras páginas web desde la comodidad de nuestros ordenadores (en local), y mejor aún, desde la flexibilidad de una memoria flash USB que podremos llevar a donde sea y seguir trabajando en cualquier ordenador.

XAMPP es el acrónimo de Cualquier Sistema Operativo (X), Apache (A), MySQL (M), PHP (P) y Perl (P). Es una distribución de Apache sencilla, ligera, y gratuita que permite a los desarrolladores crear sin mucho esfuerzo un servidor web local para realizar sus pruebas. XAMPP incluye todo lo necesario para configurar un servidor web: la aplicación del servidor web Apache, el gestor de base de datos MariaDB, y los intérpretes para lenguajes de script PHP y Perl, todos ellos incluidos en un único archivo extraíble y fácil de instalar. Esto lo hace ideal para realizar pruebas de desarrollo sin tener que preocuparnos por las configuraciones e implementaciones propias de un servidor real ya en línea.

Notar también que aunque XAMPP provee un entorno de desarrollo en local ideal para nuestras pruebas, no fue hecho para implementaciones reales en producción. Los mismos encargados del proyecto XAMPP no recomiendan usarlo en un entorno de producción.

En este artículo nos enfocaremos en instalar XAMPP en una memoria o pendrive USB, resultando así en la creación de un servidor web totalmente portable.

Instalaremos XAMPP para Windows, pero es perfectamente aplicable para otros sistemas operativos.


Instalar XAMPP en una memoria USB

1. Tenemos que descargar el comprimido .ZIP que contiene todo lo necesario. Primero ingresamos en la carpeta del proyecto con la lista de versiones disponibles:

Para este artículo usaré la versión 5.6.24 que contiene precisamente la versión 5.6.24 de PHP. Dentro de la versión elegida veremos tres formatos para descargar: EXE, ZIP, y 7Z. Nosotros descargaremos el fichero ZIP (aprox. 146 MB).



2. Realizada la descarga, descomprimimos el fichero ZIP en nuestra memoria USB. Todo quedará guardado en una carpeta de nombre xampp y que posteriormente he renombrado a ServidorPortable (pueden darle el nombre que deseen).


3. Al ingresar a la carpeta ServidorPortable ejecutamos el fichero setup_xampp.bat (no es necesario ser administrador) que abrirá una consola CMD con el diálogo de instalación de XAMPP.


Sólo debemos esperar que realice automáticamente las configuraciones necesarias de instalación. Es un proceso muy rápido y al final nos pedirá presionar una tecla cualquiera para continuar y se cerrará la ventana.


El fichero setup_xampp.bat se ejecutará sólo esta vez, en los próximos inicios de nuestro servidor ya no será necesario ejecutarlo a menos que cambiemos la carpeta ServidorPortable a otra ubicación o le cambiemos el nombre.

4. Ya casi hemos terminado. En la misma carpeta ServidorPortable ejecutamos el fichero xampp-control.exe para que se inicie el Panel de Control de XAMPP.


En su primera ejecución xampp-control.exe nos solicitará elegir el idioma predeterminado del panel, elegimos el Inglés y presionamos el botón Save. Listo!! XAMPP ya está instalado en nuestro USB.



Considera que de ahora en adelante cada vez que queramos arrancar nuestro servidor web sólo tenemos que ejecutar el Panel de Control de XAMPP que es xampp-control.exe . Notemos también que en general no es necesario ejecutarlo como administrador; sin embargo, si queremos iniciar el servidor como un servicio del sistema, sí será necesario ejecutar xampp-control.exe con privilegios elevados.


Iniciando Apache y MySQL

Ya con el Panel de Control de XAMPP abierto nos enfocaremos por el momento en dos módulos: Apache y MySQL.

1. Empezaremos por Apache. Para iniciarlo sólo tenemos que presionar el botón Start.


Se mostrará un aviso del Firewall de Windows (o del que tengamos instalado) para autorizar que Apache se comunique en las redes domésticas o de trabajo. Allí hacemos clic en el botón Permitir acceso.


2. Seguimos ahora iniciando MySQL. Similar al caso anterior presionamos el botón Start de su módulo, por lo que nuevamente el Firewall de Windows nos pedirá autorizar la solicitud, y se la brindamos.



Notaremos que tanto el módulo de Apache como el módulo de MySQL quedarán marcados en un cuadro verde si todo ha resultado correcto.



Probando la instalación de XAMPP

Para determinar que todo esté funcionando de forma correcta sólo tenemos que abrir una pestaña de nuestro navegador web y escribir http://localhost o 127.0.0.1 en la barra de direcciones. Veremos la siguiente ventana indicando que nuestro servidor Apache se está ejecutando sin problema:


Hasta este punto el servidor web en nuestro USB está listo y a la espera para abrir nuestros proyectos web.


Configurando una carpeta de trabajo

Es importante entender que el servidor web opera en conjunto con un directorio de trabajo o directorio raíz de manera que cuando abrimos en nuestro navegador web la dirección http://localhost/, Apache busca el elemento requerido en dicho directorio el cual está establecido en su archivo de configuración httpd.conf mediante la directiva DocumentRoot. El directorio de trabajo puede tener varios nombres: htdocs, public_html o www. En el caso de XAMPP, recibe el nombre de htdocs y es el que será usado por el servidor para servir las páginas web que en nuestro caso serán páginas en PHP.

Bajo la premisa anterior, podríamos pensar que tenemos que trabajar necesariamente dentro de htdocs para que nuestras páginas sean procesadas por el servidor web; sin embargo, también es posible darle instrucciones al servidor Apache para que pueda servir páginas guardadas en otros directorios. Hacer esto último nos permitirá trabajar sin alterar el contenido del directorio raíz del servidor y sin tener que modificar la directiva DocumentRoot.

Para crear un nuevo directorio de trabajo alternativo, diferente de htdocs (sin quitarle sus atributos de DocumentRoot), crearemos un alias. ¿Por qué? La directiva Alias permitirá al servidor abrir páginas web que no están dentro del directorio raíz, y eso es precisamente lo que buscamos.

1. En primer lugar vamos a crear una copia de seguridad del archivo de configuración original de Apache por si algo saliera mal. De ser así, de obtener un error, sólo tendríamos que restaurar el archivo de respaldo y todo volverá a funcionar.

Para esto vamos a la ruta: F:\ServidorPortable\apache\conf\

donde F: es la letra de unidad de nuestra memoria USB. Allí creamos una copia del archivo httpd.conf


2. Creamos una carpeta de trabajo en el pendrive USB. Por ejemplo, para este caso la he creado en la raíz de la unidad con el nombre practicas (sin tilde adrede).


Dentro de esta carpeta creamos un archivo con un editor de texto (Bloc de notas por ejemplo) con el siguiente contenido:
<?php
   echo "Hola Conocimiento Adictivo";
?>

Lo guardamos como prueba.php (extensión de archivo .PHP).

3. Ahora vamos al Panel de Control de XAMPP y en el módulo de Apache presionamos el botón Config, luego en Apache (httpd.conf).


Se abrirá el archivo de configuración de Apache en el Bloc de notas de Windows.

4. Dado que hemos descargado la versión 5.6.24 de XAMPP el módulo alias ya debe estar cargado mediante la directiva:
LoadModule alias_module modules/mod_alias.so

De forma predeterminada, el módulo alias no está comentado por lo que no es necesario modificarlo, aunque de todas maneras podemos revisar. Si es que la línea anterior iniciara con la almohadilla # (esto indica que dicha línea es un comentario), entonces se la borramos.


5. En el mismo fichero de configuración que tenemos abierto, vamos a la línea <IfModule alias_module> que es donde agregaremos la directiva Alias que necesitamos. Debemos notar que el módulo alias tiene una etiqueta de apertura y otra de cierre, y que nuestra configuración debe ir entre ambas.
<IfModule alias_module>
...

Aquí agregaremos nuestra configuración

...
</IfModule>


Dentro de ese bloque agregaremos la siguiente configuración:
# ==============================================================
# Bloque editado el 02-10-2016
# Creando un Alias para la carpeta "practicas" del USB (raiz).

Alias /practicas "\practicas"
<Directory "\practicas">
   Options Indexes FollowSymLinks Includes ExecCGI
   AllowOverride All
   Require all granted
</Directory>
# ==============================================================


Notemos que he iniciado el bloque de configuración comentando lo que estoy editando. Pueden omitirlo si lo desean, pero considero que agregar un breve comentario ayudará en futuras revisiones.

  • /practicas es el nombre (alias) para abrir el directorio en cuestión desde el navegador web, es decir, abriremos esa carpeta con la siguiente dirección: http://localhost/practicas
  • "\practicas" es la ruta del directorio que estamos enlazando ubicado en nuestra memoria USB.
  • Sobre lo que permiten las opciones posteriores pueden revisar en el siguiente enlace.

6. Ya agregada la configuración anterior, guardamos los cambios (Archivo > Guardar).

7. Para que los cambios sean tomados por el servidor tenemos que reiniciar los módulos de Apache y MySQL. En el Panel de Control de XAMPP presionamos el botón Stop en cada uno de ellos y luego los volvemos a iniciar con el botón Start, primero Apache y luego MySQL.

8. Finalmente sólo tenemos que probar los cambios. Abrimos la siguiente dirección en nuestro navegador web: http://localhost/practicas


Allí veremos nuestro archivo prueba.php, le damos clic y veremos el mensaje generado.


Listo! Ya tenemos todo a punto para empezar a crear nuestras páginas web en PHP usando la carpeta practicas.


Cerrando XAMPP de forma correcta

Cuando queramos cerrar nuestro servidor, primero tenemos que presionar el botón Stop de cada uno de los módulos activos (Apache y MySQL) y luego presionar el botón Quit del Panel de Control de XAMPP.

Tengamos en cuenta que si cerramos el Panel de Control de XAMPP directamente desde el botón Salir (X) de la ventana, ninguno de los módulos (Apache y MySQL) se cerrará y se seguirán ejecutando en segundo plano; además, el panel de control sólo estará minimizado en la bandeja del sistema.

De forma alternativa tenemos también la opción de cerrar tanto los módulos activos como el panel de control ejecutando el archivo xampp_stop.exe


Eso ha sido todo, esperemos que en algún momento esta entrada les sea de utilidad.

0 comentarios