Multisite con Apache2 Virtual Hosts en Ubuntu 14.04
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 [email protected] # 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.
<VirtualHost *:80>ServerAdmin [email protected] (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.esReiniciamos el servicio
$ service apache2 reloadDebemos 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.