Imagen de solovino
0 puntos

Nota* se me hizo interesante poner este post ke encontre en la red publicado por una chika llamada cristina =) pues kreo ke hay muy poca informacion al respecto.

XAMPP.- Utilizar VirtualHost en como dominio virtual en Ubuntu con desktop gnome
Posted on febrero

XAMPP.- Utilizar VirtualHost en como dominio virtual en Ubuntu con desktop gnome
¿Qué es el Virtual Host? http://httpd.apache.org/docs/1.3/vhosts/ lo explica:

The term Virtual Host refers to the practice of maintaining more than one server on one machine, as differentiated by their apparent hostname. For example, it is often desirable for companies sharing a web server to have their own domains, with web servers accessible as www.company1.com and www.company2.com, without requiring the user to know any extra path information.

Traducción:

El termino Virtual Host se refiere a la práctica de mantener más de un servidor en una máquina, se distingue por el aparente hostname. Por ejemplo, es a menudo deseable para las compañías que comparten un servidor web tener sus propios dominios, con servidores web accesibles como www.company1.com y www.company2.com, sin requerir que el usuario conozca cualquier información adicional.

Localhost

En informática, en el contexto de redes TCP/IP, localhost es un nombre reservado que tienen todas las computadoras, router o dispositivo que disponga de una tarjeta de red ethernet para referirse a sí mismo. El nombre localhost es traducido como la dirección IP de loopback 127.0.0.1 en IPv4, o como ::1 en IPv6.

Especificación según la IETF

En la RFC 3330 de la IETF, titulado “Special-Use IPv4 Addresses” (“direcciones IPv4 de uso especial”), describe las direcciones 127.0.0.0/8 (nomenclatura CIDR) como un bloque reservado de direcciones IPv4 reservadas para loopback.

Este rango de direcciones no puede ser utilizado o asignado por ninguna organización o ISP. Cualquier paquete con una dirección dentro del rango ’127.0.0.0/8? no puede salir del dispositivo.

Por otro lado, sólo la dirección IPv6 ::1/128 está reservada como dirección loopback en la especificación de la arquitectura de direcciones que define la RFC 3513.

Wikipedia

Loopback

El dispositivo de red loopback es un interfaz de red virtual que siempre representa al propio dispositivo independientemente de la dirección IP que se le haya asignado. El valor en IPv4 es 127.0.0.1 y ::1 para el caso de IPv6.

Se utiliza en tareas de diagnóstico de conectividad y validez del protocolo de comunicación, así como para indicar que el destino del puntero o URL es el mismo host.

Wikipedia

Archivos que usaremos:
/etc/hosts
Indica el mapeo de hosts
/opt/lampp/etc/httpd.conf
Configuración de archivos de Apache
/opt/lampp/etc/extra/httpd-vhosts.conf
Configuración del VirtualHost

El localhost admite dentro del rango ’127.0.0.0/8?. Que todos estos hasta llegar a la octava cuando los llamas la computadora se dirige hacia si misma. Es decir todas las peticiones dirigidas a este rango listado más abajo, son para la computadora o servidor donde son hechas.
a) 127.0.0.0
b) 127.0.0.1
c) 127.0.0.2
d) 127.0.0.3
e) 127.0.0.4
f) 127.0.0.5
g) 127.0.0.6
h) 127.0.0.7
i) 127.0.0.8

Se supone que para cada dominio es una instalación de XAMPP y con el VirtualHost podemos poner varios en una sola. Para que estén en red entendí que son estos pasos pero poniendo la ip del servidor. El procedimiento que explico esta dirigido para tenerla solo para la computadora en que trabajamos.

En Ubuntu recomiendo mejor el uso de sudo, pero se puede llamar una terminal del root con los siguientes pasos: Alt+F2 (Run Application) ==> Escribir gksu gnome-terminal ==> Introducir contraseña ==> Aparece la terminal del root.

Estos son los pasos que seguí en Ubuntu 8.04.2 con desktop gnome e hice uso del sudo.

PASO 1.- Entrar a la cuenta con privilegios de administración en el linux.

PASO 2.- Detener el XAMPP

Desde una terminal del root:

/opt/lampp/lampp stop
Con sudo, en una terminal normal:

sudo /opt/lampp/lampp stop
PASO 3.- Crear carpeta con el nombre que usaremos para el dominio dentro de /opt/lampp/htdocs. Por ejemplo creo la carpeta travesuras en ese lugar, quedando la ruta como /opt/lampp/htdocs/travesuras

Desde una terminal del root:

mkdir /opt/lampp/htdocs/[nombre de la carpeta]
Con sudo; también en una terminal, pero normal:

sudo mkdir /opt/lampp/htdocs/[nombre de la carpeta]
Ejemplos:

Desde una terminal del root:

mkdir /opt/lampp/htdocs/travesuras
Con sudo:

sudo mkdir /opt/lampp/htdocs/travesuras
PASO 4.- Crear archivos de prueba llamados index.html, index.htm y index.php dentro de la carpeta que acabamos de hacer (PASO 3).

Código del php para guardarse dentro del archivo index.php:

|
Mi prueba del php de [nombre de la carpeta]

<?php echo "Probando el php en [nombre de la carpeta]"; ?>

Código del html para guardarse dentro del archivo index.html:

Mi prueba del html de [nombre de la carpeta]

Probando el html en [nombre de la carpeta]

Código del html para el archivo index.htm:

Mi prueba del htm de [nombre de la carpeta]

Probando el htm en [nombre de la carpeta]

Ejemplos:

Código del php (index.php):

Mi prueba del php de travesuras

<?php echo "Probando el php en travesuras"; ?>

Código del html (index.html):

Mi prueba del html de travesuras

Probando el html en travesuras

Código del html (index.htm):

Mi prueba del htm de travesuras

Probando el htm en travesuras

PASO 5.- Abro el hosts y agrego el nombre del nuevo dominio virtual.

a) Abro el hosts
En terminal del root:

gedit /etc/hosts
Con sudo (en una terminal normal):

sudo gedit /etc/hosts
b) Agrego el nombre del dominio virtual (nombre de la carpeta que acabamos de hacer en el PASO 3 junto con la dirección del localhost en número.

El archivo contiene parecido a:

127.0.0.1 localhost
127.0.1.1 [nombre del equipo]

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Justo debajo del nombre del equipo agregamos la línea:

127.0.0.1 [nombre de la carpeta]
Siguiendo nuestro ejemplo:

127.0.0.1 travesuras
Quedando más o menos así:

127.0.0.1 localhost
127.0.1.1 [nombre del equipo]
127.0.0.1 [nombre de la carpeta que hicimos en /opt/lampp/htdocs (PASO 3)]

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Para nuestro ejemplo agrego algunos comentarios:

#Localhost
127.0.0.1 localhost
#Nombre del equipo
127.0.1.1 travesuras
#Travesuras
127.0.0.1 travesuras

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
NOTA.- Recuerden que el rango 127.0.0.0/8 es el del localhost y apuntan a nuestra propia máquina. Además si queremos hacer algún comentario anteponemos el signo # , cuando terminemos de hacerlo damos enter para cambiar la línea y finalizarlo; por ejemplo #Travesuras arriba de 127.0.0.1 para indicar a cual carpeta pertenece.

PASO 6.- Necesitamos descomentar la línea “Include etc/extra/httpd-vhosts.conf” dentro del archivo httpd.conf.

a) Abrimos el archivo httpd.conf

En una terminal del root:

gedit /opt/lampp/etc/httpd.conf
Con sudo dentro de una terminal normal:

sudo gedit /opt/lampp/etc/httpd.conf
b) Buscamos y descomentamos la línea #Include etc/extra/httpd-vhosts.conf quitando el signo # del principio.

Quedando:

Include etc/extra/httpd-vhosts.conf
c) Cambiamos la línea ServerAdmin you@example.com por:

ServerAdmin you@localhost
d) Agregamos al final y sin espacios a ServerName localhost :80 Quedando:

ServerName localhost:80
e) Guardamos

PASO 7.- En el archivo httpd-vhosts.conf introduciremos los datos necesarios para que el XAMPP pueda utilizar nuestra carpeta como si fuera un dominio. Como dijimos en el archivo hosts le dimos la ip del localhost.

a) Abrimos el archivo httpd-vhosts.conf

En terminal del root:

gedit /opt/lampp/etc/extra/httpd-vhosts.conf
Con sudo en una terminal normal:

sudo gedit /opt/lampp/etc/extra/httpd-vhosts.conf
b) Agregamos las líneas:

#localhost

ServerAdmin you@localhost
DocumentRoot /opt/lampp/htdocs
ServerName localhost:80
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log common

#Ponemos cualquier comentario para indicar a que carpeta o dominio pertenece

ServerAdmin you@[nombre de la carpeta que pusimos dentro de /opt/lampp/htdocs]
DocumentRoot [ruta de la carpeta que pusimos dentro de /opt/lampp/htdocs]
ServerName [nombre de la carpeta que pusimos dentro de /opt/lampp/htdocs]
ServerAlias www.[nombre de la carpeta que pusimos dentro de /opt/lampp/htdocs]
ErrorLog logs/[nombre de la carpeta que pusimos dentro de /opt/lampp/htdocs]-error_log
CustomLog logs/[nombre de la carpeta que pusimos dentro de /opt/lampp/htdocs]-access_log common

En nuestro ejemplo nos queda:

#localhost

ServerAdmin you@localhost
DocumentRoot /opt/lampp/htdocs
ServerName localhost:80
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log common

#travesuras

ServerAdmin you@travesuras
DocumentRoot /opt/lampp/htdocs/travesuras
ServerName travesuras
ServerAlias www.travesuras
ErrorLog logs/travesuras-error_log
CustomLog logs/travesuras-access_log common

c) Comentamos los otros VirtualHost de ejemplo agregando al principio de cada línea un signo #

d) Guardamos

PASO 8.- Probar que todo funcione correctamente

a) Inicializamos otra vez el XAMPP

En una terminal del root:

/opt/lampp/lampp start
Con sudo:

sudo /opt/lampp/lampp start
b) Nuestro sitio lo abrimos en el navegador como http://travesuras y si tenemos problemas porque nos manda a la página principal en tonos naranjas y amarillos del XAMPP tecleamos http://travesuras/index.htm

c) Nos aseguramos que esa página principal de administración del XAMPP en tonos naranjas y amarillos siga funcionando tecleando también en el navegador http://localhost

NOTA.- Si no quiere abrir, vemos si el navegador está trabajando fuera de línea; en caso afirmativo lo cambiamos a que trabaje en línea. En firefox es que este desmarcada la opción Work Offline de el menú File.