Image 01 Image 02

XAMPP para Linux como VirtualHost

Publicado el 23 Junio 2008 por victor. Visto 2,548 veces
1

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:

  1. Abre una ventana de Terminal y entra como root:
    su
  2. 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.

  1. /etc/hosts, este archivo indica el mapeo de hosts
  2. /opt/lampp/etc/httpd.conf, Archivo de configuración del servidor Apache
  3. /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

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (2 calificaciones, promedio: 5 de 5)
Loading ... Loading ...


1
Respuesta a.. XAMPP para Linux como VirtualHost

Morrisgrill publicado el 29 Julio, 2009

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)



Escribe una respuesta...