Subdominios en localhost
Cuando se trabaja con apache localmente, la forma común de usarlo es a través de la url "http://localhost". Al realizar el desarrollo web o algún tipo de prueba, es posible que deba crear subdominios en localhost, al igual que en los servidores en línea.
Esta publicación le muestra cómo crear subdominios dentro de Apache en localhost. Es fácil y toma solo unos minutos.
1. Crear hosts de subdominio
El archivo de hosts en un sistema Linux se usa para asignar direcciones IP a nombres de host específicos. Podemos crear fácilmente varios subdominios aquí y apuntarlos a la dirección IP del host local.
Primero edite el /etc/hosts archivo para agregar los subdominios que desea crear.
$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 enlightened 127.0.0.1 a.localhost 127.0.0.1 b.localhost 127.0.0.1 c.localhost
En el ejemplo anterior, he agregado 3 subdominios, a saber, a.localhost b.localhost y c.localhost
Ahora pruebe los subdominios haciéndoles ping para asegurarse de que estén accesibles
$ ping a.localhost PING a.localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.029 ms 64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.029 ms 64 bytes from localhost (127.0.0.1): icmp_req=3 ttl=64 time=0.028 ms ^C
Como podemos ver arriba, los subdominios responden a nuestras consultas de ping, solo después de haberlos agregado al archivo de hosts.
2. Cree sus directorios raíz de documentos de subdominio
Lo siguiente que debe hacer es decidir dónde guardar los archivos del subdominio. Este puede ser cualquier directorio de su elección, pero en este ejemplo estamos usando el directorio /var/www/, que es usado por apache.
/var/www/subdomains/a/
3. Ahora cree hosts virtuales en el archivo de configuración de Apache
Lo último que debe hacer es crear los hosts virtuales apache necesarios para cada uno de los subdominios. Básicamente, le estamos diciendo a apache sobre el subdominio que necesita servir junto con varios detalles como la raíz del documento para cada uno de ellos.
En este ejemplo, estamos editando el archivo de configuración predeterminado 000 principal. Alternativamente, puede crear archivos de configuración separados en el directorio de sitios disponibles y luego vincularlos al directorio de sitios habilitados, o usar el comando a2ensite.
$ sudo nano /etc/apache2/sites-enabled/000-default
Agregue una sección de host virtual en la parte inferior como esta
# Sub domain a.localhost <VirtualHost *:80> DocumentRoot /var/www/subdomains/a/ ServerName a.localhost <Directory /var/www/subdomains/a/> Options Indexes FollowSymLinks MultiViews +Includes AllowOverride FileInfo Options Order allow,deny allow from all </Directory> </VirtualHost>
Ahora reinicie apache
$ sudo service apache2 restart
4. Pruébalo
Ahora abra las URL de los subdominios en el navegador, http://a.localhost/ o similar y vea si los archivos de índice se muestran o no.
El comando apachectl también se puede usar para verificar los detalles de los subdominios. Use la opción "-S" y verifique la salida.
$ sudo apachectl -S [sudo] password for enlightened: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server 127.0.1.1 (/etc/apache2/sites-enabled/000-default:1) port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/000-default:1) port 80 namevhost a.localhost (/etc/apache2/sites-enabled/000-default:42) Syntax OK ...
Referencias
La siguiente página de la wiki de Ubuntu tiene más información sobre cómo configurar subdominios de localhost en apache.
https://help.ubuntu.com/community/LocalhostSubdomain