Después del post de ayer, ya tenemos Apache, PHP y MySQL corriendo en nuestro PC, pero esto no es suficiente.

El principal problema con el que nos encontramos es que nuestras web deberían colgar de la carpeta /var/www/, en la cual no tenemos permisos de escritura y sólo es accesible para root.

Para solventar lo anterior sin tener que acceder como root, la solución sería que los archivos de las webs estuviesen en /home/miusuario/www/. Es más, supongamos que estoy desarrollando dos webs, a saber: mycoolapp y wtfapp (se me acaban de ocurrir los nombres, :-) ). Lo ideal sería que los archivos de cada una estuviesen en:

  • /home/miusuario/www/mycoolapp/
  • /home/miusuario/www/wtfapp/

y que para verlas en el navegador, las URL’s fuesen de la forma

  • http://mycoolapp.host
  • http://wtfapp.host

Pues bien, veamos como conseguimos esto.

Modificando el archivo hosts
El primer paso será informarle a nuestro PC que los dos dominios anteriores (mycoolapp.host y wtfapp.host) no necesitan ser resueltos en una tabla de DNS externas, sino que lo hará el mismo. Para esto editamos el archivo hosts

sudo gedit /etc/hosts

y añadimos las dos siguientes líneas

127.0.1.1   mycoolapp.host
127.0.1.1   wtfapp.host

Creando los Virtual Hosts
Para conseguir alojar más de un dominio en nuestro PC necesitamos configurar un virtual host por cada uno de ellos, ¿y cómo se hace esto? Muy sencillo.

Creamos un nuevo archivo llamado como el dominio que queremos configurar (en este caso wftapp.host) en la carpeta sites-availables de apache, así:

sudo gedit /etc/apache/sites-availables/wtfapp.host

Cuyo contenido será lo siguiente:

<VirtualHost *:80>
	ServerName wtfapp.host
	ServerAdmin webmaster@dominio.com
	DocumentRoot /home/miusuario/www/wtfapp/web
	DirectoryIndex index.php
 
	<Directory "/home/miusuario/www/wtfapp/web">
	  AllowOverride All
	  Allow from All
	</Directory>
</VirtualHost>

Nótese que tanto en DocumentRoot como en Directory se ha añadido “/web” ya que ésta es realmente la carpeta pública de la web.

Una vez hecho esto, habilitamos el nuevo virtual host

sudo a2ensite wtfapp.host

y reiniciamos apache para que los cambios surjan efecto

sudo /etc/init.d/apache2 restart

Después de esto, todo debería funcionar correctamente y deberíamos acceder a nuestra web de desarrollo en la URL http://wtfapp.host


Compártelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Ping.fm
  • RSS
  • Twitter