VirtualHost con Apache2

apache
En el día de hoy vamos a ver una utilidad que nos va a dar mucho juego en nuestros servicios web, y es la capacidad de alojar, en un mismo servidor, con misma dirección ip y en el mismo puerto, tantas direcciones web como deseemos.

Para ésta demostración crearemos, con Vagrant, una máquina virtual con Debian Stretch, con el servicio Apache2 instalado, la cual atacaremos desde la misma máquina anfitriona, o cualquier máquina conectada a la red local. Aquí os dejo el Vagrantfile usado.

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
   config.vm.define "apache" do |apache|
      apache.vm.box = "debian/stretch64"
      apache.vm.hostname = "Apache"
      apache.vm.network "public_network", type: "dhcp"
   end
end

Una vez en la máquina virtual, instalamos Apache2 con:

# apt install apache2

Vamos a crear dos páginas web, una será http://www.prueba1.org, y la otra http://www.prueba2.org, las cuales almacenaremos en /srv/www/, con lo que tendremos que crearnos los directorios para cada una de ellas:

# mkdir -p /srv/www/prueba1
# mkdir -p /srv/www/prueba2

Dentro de cada una tendremos un ‘index.html’ el cual simplemente, para ésta demostración. pondremos una simple frase de, ‘Éste es el servidor de pruebas 1’ o ‘Éste es el servidor de pruebas 2’.

Ahora pasaremos a la configuración, lo primero es darle los permisos correctos a las carpetas que hemos creado, para ello teclearemos el siguiente comando:

# chown -R www-data:www-data /srv/www

Ahora activaremos que, el servicio Apache2, lea dichos directorios, para ello descomentamos en el ficher ‘/etc/apache2/apache2.conf’ las siguientes lineas:

        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted

Acto seguido, configuraremos ambos ‘sitios’ para ello copiaremos el fichero ‘/etc/apache2/sites-available/000-default.conf’ para modificar posteriormente la configuración, crearemos dos copias, una para cada uno.

# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/prueba1.conf
# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/prueba2.conf

Os dejo aquí lo que hay que modificar, lo demás se puede quedar comentado (iesgn y departamentos, respectivamente):

        ServerName www.prueba1.org
        ServerAdmin webmaster@localhost
        DocumentRoot /srv/www/prueba1
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        ServerName www.prueba2.org
        ServerAdmin webmaster@localhost
        DocumentRoot /srv/www/prueba2
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

Para finalizar la configuración del servidor, activaremos ambos sitios con:

# a2ensite prueba1.conf
# a2ensite prueba2.conf

Por último, en la máquina que accede a ambas páginas webs, modificaremos nuestro fichero ‘/etc/hosts’ (hacen falta permisos de superusuario) y añadimos las dos siguientes lineas, (haced un ‘ip  a’ y ver cual es vuestra ip, de eth1, si habéis usado mi Vagrantfiel, la mía es 192.168.1.131).

www.prueba1.org           192.168.1.131
www.prueba2.org           192.168.1.131
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s