Servidor Amazon con Apache configurado para múltiples dominios

Hace poco acabé un proyecto en el que tenía que configurar un servidor multi-site. Me decidí por contratar el hosting en Amazon en parte porque hacía tiempo que quería echarle un ojo a esa plataforma, y segundo que Amazon ofrecía los servicios de escalabilidad y rendimiento que el cliente solicitaba.

Aquí dejo una breve guía para configurar el server para gestionar más de un site:

Una vez conectados por SSH a nuestra instancia linux…

1. Activamos el módulo de Apache que da el servicio VirtualHost:

sudo a2enmod vhost_alias
sudo /etc/init.d/apache2 restart

2. Creamos el/los directorio(s) que almacenará nuestros dominios:

mkdir /var/www/vhost/www.midominio.com

3. Creamos la carpeta para los logs de este host virtual:

mkdir /var/www/log
mkdir /var/www/log/www.midominio.com

4. Creamos un fichero de ejemplo para mostrar algo por pantalla:

echo "<?php echo 'Hola mundo, este es mi sitio www.midominio.com'; ?>" > /var/www/vhost/www.midominio.com/index.php

5. Copiamos la configuración del alojamiento virtual de Apache que viene por defecto

sudo cp  /etc/apache2/sites-available/default /etc/apache2/sites-available/www.midominio.com

6. Abrimos este archivo copiado para editarlo

sudo vi /etc/apache2/sites-available/www.midominio.com

Modificamos ServerAdmin con una dirección nuestra. Para que Apache use el dominio, añadimos a continuación:

ServerName midominio.com
ServerAlias www.midominio.com

Editamos DocumentRoot con la ruta donde está nuestro host virtual SIN LA BARRA DEL FINAL!!

DocumentRoot /var/www/vhost/www.midominio.com

En <Directory /var/www/>, modificamos por la misma ruta que antes pero esta vez con la barra final

<Directory /var/www/vhost/www.midominio.com/>

Ahora configuramos los archivos log. El primero es para los errores y el segundo para los accesos:

ErrorLog /var/www/log/www.midominio.com/error.log
CustomLog /var/www/log/www.midominio.com/access.log combined

7. Guardar y salir

8. Activar el dominio y reiniciar Apache para que coja la nueva configuración

sudo a2ensite www.midominio.com
sudo /etc/init.d/apache2 restart

A partir de aquí ya tenemos nuestro servidor preparado y escuchando para recibir conexiones. Sólo falta que un servidor de nombres (DNS) apunte el dominio a nuestra IP. De esta manera cuando alguien solicite por http://www.midominio.com, se resolverá nuestra IP y mostraremos nuestra página de ejemplo con el “Hola mundo, …”.

Este artículo me servirá como recordatorio cuando tenga que volver a configurar un servidor para lo mismo.

Entradas relacionadas:

  1. Configurando PHP local y Master
  2. URL sencillas (SEO)
Etiquetado con: , , , ,
Publicado en: Programación

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>