Habilitar un dominio local en Ubuntu

Siguiendo con las entradas para desarrollar webs, voy a explicar como puedes habilitar un dominio local para que puedas realizar tus desarrollos de forma más cómoda.

Supongamos que estas creando una web y el cliente quiere quiere que le registres un dominio, digamos myclientwebcool.com y tu aún no quieres contratar un hosting y registrar el dominio hasta que tengas todo desarrollado (no es porque seas desconfiado y creas que aún no te va a pagar, en realidad es porque eres un vago y no te apetece hacerlo todavía).

Pues bien, tu haces tu desarrollo y el día de mostrarlo al cliente, que será unicamente en tu pc, puedes decirle que le enseñaras una copia de web local, simulando el dominio (ante todo la verdad).

Para ello necesitarías editar el siguiente archivo:

$ sudo gedit /etc/hosts

Y añadir una línea al archivo con la web myclientwebcool.com y la dirección 127.0.0.1, que es localhost, es decir, tu ordenador local. Esto es:

127.0.1.1 myclientwebcool.com

Así cuando vayas a enseñar tu web al cliente, simplemente escribe en el navegador la web myclientwebcool.com y cargará tu copia local.

Cuidado: si luego registras el dominio exactamente igual, tu ordenador seguirá cargando esa copia local que tienes, si no has eliminado la línea de configuración que añadiste.

Apache ignora archivos .htaccess en Ubuntu

Si os gusta el desarrollo web y usáis Ubuntu, lo más normal es que tengáis un servidor local que ejecute Apache para realizar vuestras webs y ver los resultados en local sin necesidad de tener conexión a Internet o usar un hosting.

Suele ser común utilizar archivos .htaccess para definir páginas de error 404, habilitar compresión GZip, etc.

Pero en Ubuntu, la instalación por defecto ignorará todas las directivas que se encuentren en archivos .htacces, porque generalmente no está recomendado utilizarlos si no eres un proveedor de hosting y de ahí que no se active por defecto. Pero que no cunda el pánico, esto tiene fácil solución.

Lo único que necesitamos es modificar una directiva de Apache en un archivo de configuración.

Por tanto abrimos el archivo /etc/apache2/sites-available/default con un editor de texto (Gedit o Geany por ejemplo):

$ sudo gedit /etc/apache2/sites-available/default

Busca lo siguiente:

AllowOverride None

Y sustituyelo por:

AllowOverride All

Esto le dirá a Apache que permita que los archivos .htacces sobreescriban a declaraciones previas.

Ahora ya sólo queda recargar Apache para que tenga en cuenta la nueva configuración:

sudo /etc/init.d/apache2 reload

O bien, de manera más corta, pero reiniciando:

sudo apache2ctl restart

Más info: EnablingUseOfApacheHtaccessFiles