Hace tiempo ya vimos en un artículo de éste mismo blog cómo instalar un servidor web en la Raspberry Pi bajo el sistema operativo Raspbian. Hoy vamos a ver cómo puedes tener varios dominios en un mismo servidor. Puedes obtener hasta 5 dominios gratuitos en duckdns.org.
Lo primero será irte a la carpeta donde se aloja el contenido del servidor web (/var/www/html) y crear una carpeta por cada dominio. Vamos a suponer que vas a tener alojados los dominios dominio1.com, dominio2.com y dominio3.com. Para ello tendrás que escribir los siguientes comandos en la terminal:
cd /var/www/html sudo mkdir dominio1.com sudo mkdir dominio2.com sudo mkdir dominio3.com
Recuerda cambiar dominio#.com por el nombre de los dominios que vayas a tener. Puedes tener tantos como quieras.
Lo siguiente es configurar el propietario de esas carpetas y sus archivos así como los permisos. Lo puedes hacer con las siguientes instrucciones:
sudo chown -R www-data:www-data dominio1.com sudo chown -R www-data:www-data dominio2.com sudo chown -R www-data:www-data dominio3.com sudo find dominio1.com -type d -print -exec chmod 775 {} \; sudo find dominio2.com -type d -print -exec chmod 775 {} \; sudo find dominio3.com -type d -print -exec chmod 775 {} \; sudo find dominio1.com -type f -print -exec chmod 644 {} \; sudo find dominio2.com -type f -print -exec chmod 644 {} \; sudo find dominio3.com -type f -print -exec chmod 644 {} \;
Ahora tienes que copiar el archivo 000-default.conf con la siguiente instrucción:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/dominio1.com.conf
Y editar ese archivo que hemos copiado con:
sudo nano /etc/apache2/sites-available/dominio1.com.conf
Añade en dicho archivo el siguiente contenido modificando lo que consideres oportuno:
<VirtualHost *:80> ServerAdmin administrador@dominio1.com ServerName dominio1.com ServerAlias www.dominio1.com DocumentRoot /var/www/html/dominio1.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Realiza la misma acción (copiar el archivo 000-default.conf y modificar el contenido) por cada dominio que vayas a tener alojado.
Ahora tienes que activar los dominios y desactivar el default con:
sudo a2ensite dominio1.com sudo a2ensite dominio2.com sudo a2ensite dominio3.com sudo a2dissite 000-default.conf
Ahora ya solo te queda reiniciar el servicio con:
sudo systemctl reload apache2
Si has seguido todos los pasos ya tendrás varios dominios alojados en un mismo servidor web. Cuando el servidor web reciba una petición sabrá a que carpeta tiene que ir a buscar el archivo en función de la URL que se haya solicitado en el cliente.