Multisite en apache con debian squeeze

Esta entrada es otro apunte para no olvidar los pasos.

Cuando tenemos una sola ip pública disponible y queremos alojar varios sitios, no queda otra que habilitar los diferentes sites en directorios diferentes en nuestro apache. También se aplica si tenemos un servidor web y no queremos ir haciendo máquinas virtuales para cada site, ya que malgastamos recursos.

Nos ponemos en antecedentes…. suponemos que tenemos blog alojado; http://blog.craem.net, pero para un colega que quiere colgar otro blog, tenemos el dominio blog.pepito.com.

Primero de todo, en el home de nuestro server, le creamos el directorio:

diablo:/home# ls -l
total 20
drwxr-xr-x 16 www-data www-data 4096 dic 5 23:51 blog
diablo:/home#mkdir blog.pepito.com
diablo:/home#chown -R www-data:www-data blog.pepito.com
diablo:/home#ls -l
diablo:/home# ls -l
total 20
drwxr-xr-x 16 www-data www-data 4096 dic 5 23:51 blog
drwxr-xr-x 3 www-data www-data 4096 ago 19 09:53 blog.pepito.com
diablo:/home#

Hemos creado el directorio y hemos hecho propietario al usuario www-data.

En este directorio copiaremos los ficheros de la web; léase wordpress, joomla, html ……

Ahora crearemos el sitio en el apache; para ello nos vamos a /etc/apache2 y creamos el fichero del sitio:

diablo:/#cd /etc/apache2/sites-available
diablo:/etc/apache2/sites-available# ls -l
total 36
-rw-r–r– 1 root root 946 jul 7 23:30 default
-rw-r–r– 1 root root 7366 mar 28 2010 default-ssl
-rw-r–r– 1 root root 231 ago 24 19:16 blog.craem.net
diablo:/etc/apache2/sites-available# cp blog.craem.net blog.pepito.com
diablo:/etc/apache2/sites-available# ls -l
total 36
-rw-r–r– 1 root root 946 jul 7 23:30 default
-rw-r–r– 1 root root 7366 mar 28 2010 default-ssl
-rw-r–r– 1 root root 231 ago 24 19:16 blog.craem.net
-rw-r–r– 1 root root 231 ago 24 19:16 blog.pepito.com

Y editamos el fichero creado:

diablo:/etc/apache2/sites-available#nano blog.pepito.com

Y lo dejamos tal que:


ServerName blog.pepito.com
ServerAdmin administrador@sitio.com
DocumentRoot /home/blog.pepito.com
DirectoryIndex index.php

AllowOverride All
Order Deny,Allow
Allow from all

Guardamos cambios, reiniciamos apache

# /etc/init.d/apache2 restart

y habilitamos el site:

diablo:/etc/apache2/sites-available# a2ensite blog.pepito.com

Volvemos a reiniciar el apache y listo.

Enjoy your server 😉