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
[...] 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. [...]