Crear y quitar virtual hosts en Apache sobre Ubuntu

Arturo León me pasó un par de scripts que usa para configurar y des-configurar rápidamente Virtual Hosts en Apache sobre Ubuntu. Me vienen de maravilla, ya que muy constantemente tengo que darlos de alta para el desarrollo, las pruebas y pasado un tiempo a quitarlos. Solo les hice un par de ajustes que necesitaba y listo.

Los scripts son simples, pero muy prácticos. Les vendrá de maravilla a desarrolladores que no saben (indebidamente) como configurar Apache.

N00b Aclaration: Donde diga: chown linnk:linnk $RUTA$DOMINIO, cambia “linnk” por el usuario de tu Ubuntu.

Script 1: crear-virtualhost.sh

#!/bin/bash
 
if [ -z $1 ]
then
	echo "Debe ingresar el nombre del dominio"
	exit 1
else
	DOMINIO=$1
fi
 
if [ -z $2 ]
then
	RUTA="/var/www/"
else
	RUTA=$2
fi
 
echo "Configurando dominio "$DOMINIO
 
#CREAMOS LA ENTRADA EN /ETC/HOSTS
echo "127.0.0.1	"$DOMINIO >> /etc/hosts
 
#CREAMOS EL ARCHIVO DE VIRTUAL HOST
touch /etc/apache2/sites-available/$DOMINIO
 
#AGREGAMOS EL VIRTUAL HOST
echo "<VirtualHost *:80>
	ServerAdmin god@$DOMINIO
	ServerName  *.$DOMINIO
	ServerAlias $DOMINIO
 
	DocumentRoot $RUTA$DOMINIO/
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
	<Directory $RUTA$DOMINIO/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
</VirtualHost>" > /etc/apache2/sites-available/$DOMINIO
 
#CREAMOS EL DIRECTORIO PARA EL DOMINIO
mkdir $RUTA$DOMINIO
chmod 775 $RUTA$DOMINIO
chown linnk:linnk $RUTA$DOMINIO
 
#CONFIGURAMOS APACHE
a2ensite $DOMINIO
 
#REINICIAMOS APACHE
/etc/init.d/apache2 reload
 
echo "Listo!"

Su ejecución es sudo ./crear-virtualhost.sh example.com /otro/lugar/www/ y el script configurará el virtual host, así como el dominio local. El segundo parametro es opcional, yo lo utilizo porque tengo una carpeta especial para los proyectos que hago con Subversion y otra para los que hago con Git, si no envías un segundo parametro te creará el proyecto en la carpeta default de Apache: "/var/www/".

Script 2: quitar-virtualhost.sh

#!/bin/bash
 
if [ -z $1 ]
then
	echo "Debe ingresar el nombre del dominio"
	exit 1
else
	DOMINIO=$1
fi
 
echo "Desconfigurando dominio "$DOMINIO
 
#REMOVEMOS DE APACHE
a2dissite $DOMINIO
 
#BORRAMOS LA CONFIGURACION PARA APACHE
rm /etc/apache2/sites-available/$DOMINIO
 
#BORRAMOS EL DOMINIO LOCAL
sed  "/$DOMINIO/ d" -i /etc/hosts
 
#REINICIAMOS APACHE
/etc/init.d/apache2 reload
 
echo "Listo!"

Su ejecución es sudo ./quitar-virtualhost.sh example.com, quitará el virtual host y el dominio local, nada más, no borrará tu proyecto. Prácticos, si que si :)

Un Trackback

  1. By Crear y quitar VirtualHost en Apache | Paraiso Linux on September 7, 2009 at 12:25 am

    [...] Ahora veamos como crear esos VirtualHost en Linux. Les iba a explicar como hacerlo paso a paso pero la verdad existe una manera mas sencilla. Son 2 script que encontre aqui. [...]

Escribe un comentario

*
*