Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Cómo crear Virtual Hosts con Apache

15 julio, 2019

¿Quieres tener un virtual host y no tienes idea de qué forma hacerlo? En este mini-tutorial te lo explicamos paso a paso:

 

Introducción

¿Qué es un alojamiento web virtual o virtual host?

Un alojamiento virtual consiste en usar tu servidor web para atender múltiples dominios locales

Aparte de habilitar un dominio virtual asimismo habilitaremos las URLs amigables (conocidas como Friendly URLs) en el mismo fichero de configuración,

Tanto Laravel como Symfony y los otros frameworks actuales de PHP precisan que habilitemos “URL amigables” para poder trabajar sin problemas.

apache
Comencemos de una vez:

 

La primera cosa que debemos hacer es dirigirnos a la carpetita /etc/apache2/sites-available/ , si tienes linux puedes hacerlo con el comando:


cd /etc/apache2/sites-available/

En esta dirección copiamos el fichero 000-default.conf y lo guardamos con el nombre de lawebquequieras.conf, con el comando:

sudo cp 000-default.conf lawebquequieras.conf

Es esencial que añadas la extensión .conf, el nombre puede ser cualquier otro mas para tener un tanto más organizados nuestros ficheros lo vamos a nombrar igual al dominio que crearemos

Ahora debemos editarlo, el fichero que has copiado vamos a abrirlo y editarlo con cualquier editor de texto

 

Virtual Host

Vamos a explicar algunos detalles:

ServerName: es el nombre de nuestro dominio virtual, a través de vamos a poder acceder al proyecto en el navegador.
DocumentRoot: es el path o la ruta  al directorio del proyecto en el servidor.

Cambialos por los datos que quieres tener,

A modo de ejemplo este es mi fichero que utilizo para Symfony

 

<VirtualHost *:80>
ServerName lawebquequieras.es
ServerAlias www.lawebquequieras.es
 
SetEnv SYMFONY__DATABASE__USER "..."
SetEnv SYMFONY__DATABASE__PASSWORD "..."
 
DocumentRoot "/home/alexwin/symfonyfuck/webpisos/lawebquequieras.es/web"
DirectoryIndex app.php
 
<Directory "/home/alexwin/symfonyfuck/webpisos/lawebquequieras.es/web">
AllowOverride None
Allow from All
 
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
 
CustomLog /var/log/httpd/lawebquequieras.es-access.log combined
 
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 5
 
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE "application/atom+xml" \
"application/javascript" \
"application/json" \
"application/rss+xml" \
"application/x-javascript" \
"application/xhtml+xml" \
"application/xml" \
"image/svg+xml" \
"text/css" \
"text/html" \
"text/javascript" \
"text/plain" \
"text/xml"
</IfModule>
 
<IfModule mod_headers.c>
Header append Vary User-Agent env=!dont-vary
 
ExpiresActive On
ExpiresDefault "now plus 1 week"
ExpiresByType image/x-icon "now plus 1 month"
ExpiresByType image/gif "now plus 1 month"
ExpiresByType image/png "now plus 1 month"
ExpiresByType image/jpeg "now plus 1 month"
</IfModule>
</VirtualHost>

Hecho esto, guarda todos y cada uno de los cambios y cierra el fichero.

Ahora debemos señalarle a Apache que tenemos un nuevo documento. Lo hacemos con el próximo comando:


sudo a2ensite lawebquequieras

El comando a2ensite significa a2 = apache2; en = enable; site = site. Hecho esto, debemos dirigirnos al fichero hosts para activarlo, escribimos el próximo comando:


sudo gedit /etc/hosts

Y añadimos la próxima línea:

Hosts y guardamos los cambios.


127.0.0.1 lawebquequieras.es

Es fundamental que te asegures de tener habilitado el módulo rewrite de Apache (mod_rewrite), ciertas plataformas lo instalan de manera automática por ti, mas sino más bien lo puedes hacer con el próximo comando:


sudo a2enmod rewrite

El comando a2enmod significa: a2 = apache2, en = enable, mod = module
cuatro. Finalmente debemos reiniciar el servidor Apache. Lo hacemos con el próximo comando:


sudo service apache2 restart

Fácil, ¿no? Eso es todo, nuestro dominio virtual ya debe estar marchando. Para repasar si todo funciona bien, ve al navegador y escribe lawebquequieras.es en la barra de direcciones y deberías poder verla

ng>