Queremos tener dos sitios web en el mismo servidor físico.
Sistema operativo: Ubuntu Server 16.04
Servidor web: Apache2
Tenemos dos dominios. En este ejemplo estos dos dominios diferentes los proporciona la empresa DynDNS.
ejemplo1.dyndns.org y ejemplo2.dyndns.org
Redirigiremos los puertos para https 81 y 82 configurando el NAT en el router a la IP fija local del Servidor de nuestro domicilio.
Se configura en el router abriendo puertos en la sección NAT.
Usamos el editor de ficheros «nano» que viene incluido en Ubuntu Server
Creamos los directorios de cada sitio web:
sudo mkdir -p /var/www/html/ejempo1.dyndns.org
sudo mkdir -p /var/www/html/ejempo2.dyndns.org
Damos los permisos. Sin esto no funcionaria:
sudo chown -R www-data:www-data /var/www/html/ejempo1.dyndns.org
sudo chmod -R 755 /var/www/html/ejempo1.dyndns.org
sudo chown -R www-data:www-data /var/www/html/ejempo2.dyndns.org
sudo chmod -R 755 /var/www/html/ejempo2.dyndns.org
En los anteriores directorios incluimos los ficheros del sitio web.
Comentar todo su contenido. No lo vamos a usar:
cd /etc/apache2/sites-available
sudo nano 000-default.conf
Editamos:
sudo nano ejempo1.dyndns.org.conf
Listen 81
<VirtualHost *:81>
ServerName ejempo1.dyndns.org
ServerAlias *.ejempo1.dyndns.org
ServerAdmin nombre@gmail.com
DocumentRoot /var/www/html/ejempo1.dyndns.org
DirectoryIndex index.php index.html
<Directory /var/www/html/ejempo1.dyndns.org/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Editamos el otro fichero de configuración del otro dominio:
sudo nano ejempo2.dyndns.org.conf
Listen 82
<VirtualHost *:82>
ServerName ejempo2.dyndns.org
ServerAlias *.ejempo2.dyndns.org
ServerAdmin nombre@gmail.com
DocumentRoot /var/www/html/ejempo2.dyndns.org
DirectoryIndex index.html
<Directory /var/www/html/ejempo2.dyndns.org/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
En el terminal:
sudo a2ensite ejempo1.dyndns.org.conf
sudo a2ensite ejempo2.dyndns.org.conf
Reiniciamos apache2 para que se activen los cambios que hemos hecho:
sudo service apache2 restart
Si hay problemas podemos ver el fichero log de apache2 que nos dará pistas:
cat /var/log/apache2/error.log
En este ejemplo he usado los puertos 81 y 82 para HTTP. Entonces es obligatorio abrir puertos en el router [«port forwarding»]
Instalamos el programa ddclient si tenemos una IP dinámica con el servicio DynDNS que se encarga de que nuestros dominios apunten a la IP que nos proporcione el proveedor de la conexión a Internet, si tenemos un a IP dinámica en vez de fija.
sudo apt-get install ddclient
sudo nano /etc/ddclient.conf
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
protocol=dyndns2
use=web, web=checkip.dyndns.com, web-skip=’IP Address’
server=members.dyndns.org
login=nombre_usuario_registrado_en_cuenta_DynDNS
password=’******’
ejemplo1.dyndns.org,ejemplo2.dyndns.org
#daemon=ejemplo 600= 6 minutos
daemon=600
#fin fichero
En terminal:
sudo /etc/init.d/ddclient restart
sudo /etc/init.d/ddclient status
Ahora comprobamos las siguientes direcciones con el navegador:
https://ejempo1.dyndns.org.conf
https://ejempo2.dyndns.org.conf
¡Y hecho!
En este ejemplo he usado los puertos 81 y 82 para HTTP. Entonces es obligatorio abrir puertos en el router [«port forwarding»].
Fuente con mis propias modificaciones aquí