XAMPP para Linux como VirtualHost
Publicado el 23 Junio 2008 por victor. Visto 1,808 veces
En el tutorial pasado, vimos como instalar Xubuntu en una pc viejita. Ahora bien, que tal que queremos utilizar esta pc con Linux como un servidor web, ya sea para hacer pruebas de sitios web, o bien como un servidor para una pequeña intranet en casa o en la oficina.
Un método “sencillo”, si, entre comillas, es instalar Apache, MySQL, sendmail, PHP5, etc. en tu sistema de archivos. Sin embargo, si te equivocas en algo, puedes colgar el sistema.
XAMPP, antes LAMPP (iniciales de Linux, Apache, MySQL, PHP y Perl) es un magnífico entorno que viene con todo listo. No requiere instalación, solo se copian los archivos y se inicia XAMPP.
Es más, si algo salió mal, si moviste algo que no debías, tiras a la basura el folder de XAMPP, lo vuelves a copiar y listo!! De nuevo quedará funcionando.
El pero…
Todo esto es magnífico, solo que XAMPP se instala en el directorio /opt/lampp y tus páginas o scripts php, deberán ir en el directorio /opt/lampp/htdocs, además que root es propietario de este directorio. Si necesitas VirtualHost, he aquí el propósito de este sencillo tutorial.
Es más fácil de lo que imaginas!!!
Primero
Descargas XAMPP para Linux (lo siento, pero no uso Windows)
http://www.apachefriends.org/es/xampp-linux.html
Segundo
Lo instalas escribiendo los siguientes comandos:
- Abre una ventana de Terminal y entra como root:
su
- Extrae el archivo que descargaste a /opt:
tar xvfz xampp-linux-1.6.6.tar.gz -C /opt
Importante: Usa sólo este comando para instalar XAMPP, no uses otras herramientas para descomprimir, no funcionará.
Es todo. XAMPP ya está instalado en el directorio /opt/lampp
Tercero
Inicias XAMPP, escribiendo en la terminal:
/sudo /opt/lampp/lampp start
Verás algo así como esto:
Starting XAMPP 1.6.6... LAMPP: Starting Apache... LAMPP: Starting MySQL... LAMPP started
Listo!! Apache y MySQL están corriendo. Escribe en el navegador
http://localhost
Configurando VirtualHost
Antes que nada, hay que detener la ejecución de XAMPP, escribiendo en terminal:
/sudo /opt/lampp/lampp stop
Son tan solo unos cuantos archivos que tendrás que editar.
- /etc/hosts, este archivo indica el mapeo de hosts
- /opt/lampp/etc/httpd.conf, Archivo de configuración del servidor Apache
- /opt/lampp/etc/extra/httpd-vhosts.conf, Muestra los diferentes sitios que tendremos
En este ejemplo crearemos dos dominios, mismos que podrán ser accesados localmente o desde tu red (lo veremos más adelante). Los dominios de ejemplo serán: localhost (default), prueba1, y prueba2. Los archivos de estos dominios los almacenaré en /home/nombre-de-usuario/htdocs
Preparación
Intentaré utilizar lo menos posible la terminal para esto. Lo haremos -casi todo- en el entorno gráfico (con el mouse).
Primero hay que crear la estructura donde se hospedarán los dominios, yo elegí:
/home/nombre-de-usuario
Aquí hay que crear un directorio que hospedará todos mis dominios, y dentro de éste habrá un directorio por dominio: abre home, y haz click derecho para crear tus directorios.
/home/nombre-de-usuario/htdocs /home/nombre-de-usuario/htdocs/prueba1 /home/nombre-de-usuario/htdocs/prueba2
No olvides sustituir nombre-de-usuario por el nombre de tu home
Dentro de prueba1 y prueba2 deberás crear un archivo index.html, pues sin este no sabrás si funciona o no.
mousepad es un editor de textos gráfico que viene con Xubuntu. Puedes usar el que quieras, pero recuerda que algunos de los archivos que modificarás son propiedad de root.
mousepad /home/nombre-de-usuario/htdocs/prueba1/index.html
Y escribe el siguiente código:
<html><head></head><body>Prueba 1</body></html>
lo mismo para prueba2
mousepad /home/nombre-de-usuario/htdocs/prueba2/index.html
Y escribe el siguiente código:
<html><head></head><body>Prueba 2</body></html>
Listo!! Ahora lo más sencillo.
/etc/hosts
Desde la terminal escribe:
sudo mousepad /etc/hosts
verás algo como esto:
127.0.0.1 localhost 127.0.1.1 tu-nombre-desktop #The folowing lines are desirable.... bla, bla, bla....
Al principio, en donde están las direcciones IP, agregarás después de la última tus dominios con la IP de localhost, quedando de la siguiente forma:
127.0.0.1 localhost 127.0.1.1 tu-nombre-desktop 127.0.0.1 prueba1 127.0.0.1 prueba2 #The folowing lines are desirable.... bla, bla, bla....
Guarda el archivo.
/opt/lampp/etc/httpd.conf
Este es el archivo del servidor Apache, lo que haremos aquí es indicarle que incluya el archivo httpd-vhosts.conf
Desde la terminal escribe:
sudo mousepad /opt/lampp/etc/httpd.conf
Casi al final del archivo, encontrarás las siguientes lineas:
# Virtual hosts # Include etc/extra/httpd-vhosts.conf
deberás quitar el # de la linea: Include etc/extra/httpd-vhosts.conf, quedando así:
# Virtual hosts Include etc/extra/httpd-vhosts.conf
Cuidado!! No cambies nada más, pues afectarías el desempeño de Apache. A menos que sepas lo que haces.
Guarda y cierra.
/opt/lampp/etc/extra/httpd-vhosts.conf
En este archivo, describiremos todos nuestros hosts, es decir su ubicación principalmente.
En terminal escribe:
sudo mousepad /opt/lampp/etc/extra/httpd-vhosts.conf
Al abrir este archivo encontrarás varias lineas comentadas (con un # al inicio), ve hasta el fin del archivo y encontrarás una serie de directivas encerradas entre <VirtualHost *:80> y </VirtualHost>.
La primer directiva deberá ser la que ubique a localhost, te recomiendo dejarla como sigue pues la página de inicio de XAMPP, PHPMyAdmin y los ejemplos se encuentran en esta ubicación:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /opt/lampp/htdocs ServerName localhost ServerAlias localhost ErrorLog logs/localhost-error_log CustomLog logs/localhost-access_log common </VirtualHost>
A continuación definiremos las entradas de nuestros 2 sitios:
<VirtualHost *:80> ServerAdmin webmaster@prueba1 DocumentRoot /home/nombre-de-usuario/htdocs/prueba1 ServerName prueba1 ErrorLog logs/prueba1-error_log CustomLog logs/prueba1-access_log common </VirtualHost>
<VirtualHost *:80> ServerAdmin webmaster@prueba2 DocumentRoot /home/nombre-de-usuario/htdocs/prueba2 ServerName prueba2 ErrorLog logs/prueba2-error_log CustomLog logs/prueba2-access_log common </VirtualHost>
No olvides sustituir nombre-de-usuario por el nombre de tu home
Guarda y cierra
En nuestro ejemplo, este archivo deberá quedar con las tres entradas, la primera para localhost, y las siguientes 2 para nuestros dominios de ejemplo.
Listo!!
Ahora, desde tu navegador escribe:
http://localhost, y entrarás a la página de XAMPP http://prueba1 http://prueba2
Tip
Para acceder a este dominio de otra computadora, solo edité -en la otra computadora- el archivo /etc/hosts y agregué la linea de la IP de la máquina que estuvimos configurando, seguido del dominio:
192.168.0.5 prueba1 192.168.0.5 prueba2
Con esto, desde otra computadora (una Mac) tengo acceso a los dominios http://prueba1 y http://prueba2
Muy interesante para entender el funcionamiento de los Virtual Hosts, pero si queremos una aplicación de linux con interfase gráfica para hacer esto de manera más sencilla, existe la posiblidad? (Para gnome y si fuese posible bajarlo con yum)



