Dropbox se ha convertido en la solución principal que usamos la mayoría de nosotros para almacenamiento en la nube, no voy a entrar si es mejor o peor que otros (Box, Wuala, Ubuntu One, Google Drive), sino que es el que mejor compatibilidad tiene entre múltiples sistemas y es el que muchas aplicaciones implementan como servicio.
Tengo una cuenta de Dropbox desde hace tiempo, y la verdad no la usaba mucho, últimamente me decantaba mas por usar Box, pero en las ultimas semanas, he ido de un lado a otro y he tenido que buscarme una solución para poder trabajar en múltiples ordenadores, continuando mi trabajo donde lo había dejado y sincronizado. Aunque generalmente uso para sincronizar el trabajo Git, me he visto en la situación que no he podido realizar unos commits operativos, por lo tanto he tenido que recurrir a esta opción para tenerlo todo sincronizado.
El escenario
Las maquinas que he usado son o bien Linux, o Mac, en el caso de los Windows… lo siento no suelo usarlo para desarrollar.
Vamos a suponer que todos tenemos Dropbox, si no os podéis hacer una cuenta de las gratuitas, en la cuenta de Dropbox, he creado una cuenta llamada Devel.
Instalamos Dropbox, si no lo tenemos instalado en nuestro ordenador, y en mi caso como no me interesa sincronizar nada mas que la carpeta Devel, suelo hacer una sincronización selectiva y decir que solo me sincronice esta carpeta.
Una vez instalado, tanto en Linux la carpeta de Dropbox se nos instala en «/home/nuestroUsuario/Dropbox», en Mac se instala en «/Users/nuestroUsuario/Dropbox».
Ahora, si estamos en nuestro equipo principal de desarrollo copiamos y pegamos las carpetas principales de nuestros proyectos dentro de la carpeta «Devel», así se nos subirá todo a nuestra carpeta de Dropbox.
Configurando Apache
En linux
Los proyectos que hemos subido, por lo menos en mi caso, son proyectos PHP, alguno de los cuales necesito probarlos en Apache, para hacer que nuestros proyectos en Dropbox funcionen en Apache los mas recomendable es instalar el modulo Userdir. Para hacerlo abrimos una consola y ejecutamos el siguiente comando para activar el modulo
sudo a2enmod userdir
Una vez habilitado el modulo este nos dira que reiniciemos apache, no lo hacemos aun, ya que tenemos que configurar este modulo, ya que por defecto este nos habilita probar los proyectos o web que estén situados en la carpeta public_html ubicada en nuestro home.
En la terminal editamos el fichero de configuración userdir.conf
vim /etc/apache2/mods-available/userdir.conf
El archivo original es asi
<IfModule mod_userdir.c> UserDir public_html UserDir disabled root <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Require all granted </Limit> <LimitExcept GET POST OPTIONS> Require all denied </LimitExcept> </Directory> </IfModule>
Lo modificamos y lo dejamos así
<IfModule mod_userdir.c> UserDir Dropbox/devel UserDir disabled root <Directory /home/*/Dropbox/devel> AllowOverride All Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Require all granted </Limit> <LimitExcept GET POST OPTIONS> Require all denied </LimitExcept> </Directory> </IfModule>
Con esto habilitamos el directorio de Dropbox/devel como directorio personal de desarrollo.
Antes de reiniciar el servidor es necesario cambiar los premisos de la carpeta Dropbox. Os recomiendo agregar vuestro usuario al grupo www-data y a continuación cambiar los permisos de esta manera, y una vez cambiados ya podemos reiniciar el servidor Apache.
sudo chmod -R g+rx Dropbox