Introducción
Estos son unos sencillos pasos que usualmente sigo para configurar un Virtual Host para los proyectos en los que suelo trabajar, así que intentaré explicarlo de la manera más clara y fácil posible.
Asumo que estés familiarizado con un entorno Linux/Ubuntu, así que no entraré en muchos detalles, a fin de cuentas no soy un experto en el manejo de servidores, pero esto es algo realmente sencillo.
Configuración
Para crear un Virtual Host, lo primero que necesitamos en un archivo de configuración con con las directivas necesarias para tal fin.
En nuestra terminal ejecutamos el siguiente comando (en mi caso uso nano, pero puedes usar el editor que más re plazca, como vim por ejemplo) con el cual crearemos el archivo de configuración.
$ sudo nano /etc/apache2/sites-available/example.sandbox.conf
Enter fullscreen mode Exit fullscreen mode
Luego copiamos el siguiente bloque, sustituyendo example.sandbox por el nombre de dominio que desees usar. Salvamos los cambios y salimos del editor.
<VirtualHost *:80>
ServerName example.sandbox
ServerAlias www.example.sandbox
ServerAdmin [email protected]
DocumentRoot /var/www/example.sandbox
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/example.sandbox>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Enter fullscreen mode Exit fullscreen mode
Apache
Luego debemos decirle a Apache que habilite la configuración que acabamos de crear, para poder acceder luego desde el navegador al dominio que hemos elegido, en nuestro caso example.sandbox.
Para ello, ejecutamos el siguiente comando desde nuestra terminal:
$ sudo a2ensite example.sandbox.conf
Enter fullscreen mode Exit fullscreen mode
Si todo salió bien, recibiremos una respuesta como esta:
Enabling site example.sandbox.
To activate the new configuration, you need to run:
systemctl reload apache2
Enter fullscreen mode Exit fullscreen mode
Ahora, como indica el mensaje en la línea de comandos, debemos reiniciar el servicio de Apache:
$ sudo systemctl reload apache2.service
Enter fullscreen mode Exit fullscreen mode
Para estar seguros que la configuración que hemos creado no presenta errores, podemos usar el siguiente comando:
$ sudo apache2ctl configtest
Enter fullscreen mode Exit fullscreen mode
En caso de que todo esté bien, la respuesta será Syntax OK.
IP
Este paso es muy sencillo, solo debemos apuntar nuestro dominio example.sandbox al IP de nuestro ordenador, que por regla general es 127.0.0.1.
Para ello tenemos que editar el archivo hosts de nuestro ordenador, así que una vez más usamos la línea de comandos:
$ sudo nano /etc/hosts
Enter fullscreen mode Exit fullscreen mode
Entonces escribimos este bloque al final de dicho archivo:
# VirtualHosts
127.0.0.1 example.sandbox
Enter fullscreen mode Exit fullscreen mode
Directorio de trabajo
Finalmente solo nos queda crear el directorio donde vamos a alojar nuestro proyecto, que en este caso debe coincidir con lo que tenemos en el bloque Directory del archivo de configuración example.sandbox.conf.
$ sudo mkdir /var/www/example.sandbox
Enter fullscreen mode Exit fullscreen mode
El siguiente paso es asignarle al usuario actual (el usuario con que estamos autenticados en el sistema) la propiedad del directorio que acabamos de crear. También lo agregaremos al grupo de Apache:
$ sudo chown -R $USER:www-data /var/www/example.sandbox/
Enter fullscreen mode Exit fullscreen mode
Proyecto
Ya estamos listos para crear nuestro proyecto.
Como vimos en el paso anterior, ahora el directorio /var/www/example.sandbox/ nos pertenece, así que ya no necesitamos usar el comando sudo para trabajar en él.
Ya podemos crear nuestra primera página. En este sencillo ejemplo haremos lo siguiente:
$ nano /var/www/example.sandbox/index.html
Enter fullscreen mode Exit fullscreen mode
Pega este bloque de código en el archivo index.html que estamos creando y salva los cambios.
<html>
<head>
<title>Example Project</title>
</head>
<body>
<h1>Hello World!</h1>
<p>This is the landing page of <strong>Example Project</strong>.</p>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode
Ahora ya puedes acceder desde tu navegador a la dirección http://example.sandbox/ y verás la página que acabamos de crear.
Conclusiones
Usar Virtual Host en nuestro servidor local ofrece muchas ventajas, sobre todo porque se asemeja mucho más al entorno que tendremos en producción que si tuviéramos una dirección del tipo http://localhost/example.com/.
Un caso de uso es cuando trabajamos con una instalación de WordPress Multi Site, en este caso podremos usar la configuración de subdominios, y no estaremos atados a la configuración de directorios, que no siempre es la deseada en producción.
Espero que esta sencilla guía te sirva de ayuda. Antes te dejo un pequeño consejo que te puede servir de mucha ayuda, sobre todo si eres novicio en estos menesteres.
Pro Tip:
Si nuestro proyecto se llama ACME Project, debes basarte en ese nombre para crear las directivas en el archivo de configuración, directorios, etcétera. Estos siempre deben coincidir, así te evitas problemas o configuraciones más complicadas en el futuro.
En este caso, el dominio sería acme-project.sandbox y el directorio donde se debe alojar sería /var/www/acme-project.sandbox y así sucesivamente.
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.