Actualizado el 4 Julio, 2010
Si eres de los que trabaja indistintamente en varios equipos (sobremesa, portátil, etc…) te habrás encontrado en bastantes ocasiones con la necesidad de copiar todo el trabajo hecho desde el disco duro de un equipo a un pendrive y volver a volcarlo en el disco duro de otro equipo. Si no lo tienes que hacer muy a menudo no hay ningún problema, pero si es una tarea diaria se puede convertir en un fastidio, sobretodo cuando empiezas a no tener claro si la última versión de tu proyecto la tienes en el portátil, en el PC de sobremesa, o en aquel pendrive de color amarillo. O era el rojo?
Para evitar esto lo ideal es tener el código centralizado. Una opción sería trabajar directamente con el código “on-line”. Muchos entornos de desarrollo permiten añadir cuentas de FTP a su explorador, de manera que podrías abrir y editar los archivos directamente en tu servidor. En mi opinión esta opción no es nada recomendable, pero se puede usar en casos muy puntuales.
Otra forma de hacerlo es teniendo nuestros archivos en un pendrive y trabajando directamente sobre ellos. Es la opción que estoy usando últimamente y funciona bastante bien gracias a los VirtualHost de Apache. Tiene alguna desventaja, como por ejemplo si trabajas con bases de datos tendrás que tenerla instalada localmente en cada equipo y no en el pendrive. Algo que tampoco he conseguido es que la web se pueda ejecutar indistamente en equipos que utilicen diferente S.O, por ejemplo Ubuntu y Windows. Por temas de permisos será necesario formatear el pendrive con un sistema de archivos adecuado a nuestro S.O. haciéndolo, en algunos casos, inutilizable en otro S.O.
Instrucciones para Ubuntu
a) Lo primero que haremos será formatear un pendrive desde Sistema -> Administración -> Utilidad de discos con el sistema de archivos Ext4 y el tipo de partición Linux (0×83). También le pondremos una etiqueta al volumen, por ejemplo proyectos.
b) Para crear el virtual host para nuestro dominio ejemplo.com abrimos un terminal desde Aplicaciones -> Accesorios -> Terminal y tecleamos en la consola
cd /etc/apache2/sites-available
c) Copiamos el esquema por defecto
sudo cp default ejemplo.com
d) Editamos el esquema recién creado
sudo gedit ejemplo.com
Debería quedarnos algo parecido a esto
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName ejemplo.com
DocumentRoot /media/proyectos/www/ejemplo
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /media/proyectos/www/ejemplo >
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /javascript /media/proyectos/www/ejemplo/javascript
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
e) Guardamos el archivo y activamos el nuevo host virtual
sudo a2ensite ejemplo.com
f) Editamos el archivo /etc/hosts
sudo gedit /etc/hosts
y añadimos la entrada de nuestro dominio
127.0.0.1 ejemplo.com
g) Reiniciamos el servidor Apache
sudo /etc/init.d/apache2 restart
h) Insertamos el pendrive y le damos los permisos adecuados para poder acceder a nuestro proyecto web desde el navegador
cd /media chmod 755 proyectos
i) Creamos los directorios necesarios en el pendrive
cd proyectos mkdir www cd www mkdir ejemplo
j) Ya podemos crear nuestro proyecto ejemplo.com, guardarlo en /media/proyectos/www/ejemplo y visualizarlo con el navegador entrando en http://ejemplo.com
Espero que te sea de utilidad. Próximamente publicaré las instrucciones para Windows.
