Multisite con Apache2 Virtual Hosts en Ubuntu 14.04

Multisite-Apache-Vhosts

Tenemos una web creada en WordPress y necesitamos crear un subdomio para crear otra instancia de WordPress diferente. Una forma de realizarlo es mediante los Virtual Host de Apache.

El dominio principal es «juancarlos.es» y vamos a crear un subdominio nuevo «tienda.juancarlos.es». Crearemos una carpeta especifica para el subdominio y después podremos instalar sobre esa carpeta un nuevo site.

Nuestro Site actual esta en directorio /var/www/html/.

Dentro del directorio /var/www/html/ creamos la carpeta tienda

$ sudo mdkir -p /var/www/html/tienda

Permisos

$ sudo chown  www-data:www-data /var/www/html/tienda
$ sudo chmod -R 755 /var/www/html/tienda

En Apache el fichero de configuración por defecto es «/etc/apache2/sites-avaliable/000-default.conf».

<VirtualHost *:80>

# Leave this alone. This setting tells Apache that
# this vhost should be used as the default if nothing
# more appropriate is available.

ServerName default:80

# REQUIRED. Set this to the directory you want to use for
# your “default” site files.

DocumentRoot /var/www/html

# Optional. Uncomment this and set it to your admin email
# address, if you have one. If there is a server error,
# this is the address that Apache will show to users.

#ServerAdmin you@example.com

# Optional. Uncomment this if you want to specify
# a different error log file than the default. You will
# need to create the error file first.

#ErrorLog /var/www/vhosts/logs/error_log

</VirtualHost>

Creamos un nuevo fichero nuevo copiando el archivo por defecto de configuración con el nombre del dominio nuevo.

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/tienda.juancarlos.es.conf

Editamos.

$ sudo nano /etc/apache2/sites-available/tienda.juancarlos.es.conf

Y añadimos estos campos.

Multisite-Apache-Vhosts

<VirtualHost *:80>
ServerAdmin webadmin@dominio.com (opcional) ServerName tienda.juancarlosbeltran.es ServerAlias www.tienda.juancarlosbeltran.es (opcional) DocumentRoot /var/www/html/tienda <Directory "/var/www/html/tienda"> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

Habilitamos el host virtual en Apache.

$ sudo a2ensite tienda.juancarlos.es

Reiniciamos el servicio

$ service apache2 reload

Debemos modificar el Servidor de DNS para que apunte a nuestro servidor con el nuevo nombre de dominio.

En la carpeta creada podemos restaurar una copia de WordPress realizada con Duplicator o instalar un WordPress con una base de datos nueva.

Tenemos que tener en cuenta que cuando hagamos un copia de seguridad del dominio principal también salvaremos el subdominio.