Tengo un servidor local apache2 y mariaDB ejecutándose en mi máquina de desarrollo (Debian 10). Estoy usando servidores virtuales para poder tener varios sitios web disponibles al mismo tiempo. Sigo los siguientes pasos para lograr mi objetivo:
1) Cree y edite el archivo conf para el sitio web.sudo nano /etc/apache2/sites-available/website.conf
2) Complete el archivo con lo siguiente:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName website.local
ServerAlias www.website.local
DocumentRoot /var/www/website/public_html/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
3)sudo a2ensite website.conf
4)sudo systemctl reload apache2
5) Editar el archivo de hosts. sudo nano /etc/hosts
, agregando la línea:127.0.0.1 website.local
En este punto funciona. Cuando acceda, http://website.local
seré redirigido al sitio web local recién creado.
En el momento en que otra computadora accede a la dirección IP de mi PC (digamos que es: 10.0.0.100
Irán a mi /var/www/html/index.html
archivo. No tengo idea de por qué esto funciona, ya que nunca lo configuré. Pero funciona.
Mi deseo: ir a 10.0.0.100
una PC dentro de mi red abre una página donde puedo (manualmente) colocar una lista que redirige a los sitios web locales que tengo. Por ejemplo:
<ul>
<li><a href="http://website1.10.0.0.100/">Website1</a></li>
<li><a href="http://website2.10.0.0.100/">Website2</a></li>
<li><a href="http://website3.10.0.0.100/">Website3</a></li>
</ul>
Me gustaría que me indiquen la dirección correcta, ya que no veo cómo lograrlo en este momento.
Respuesta1
Lo que desea hacer se puede lograr registrando los nombres correspondientes (también conocidos como website.local
) en el DNS de su red.
Un nombre como website1.10.0.0.100
es simplemente imposible de implementar por su cuenta porque, dado que comienza con una cadena ( website1
), cualquier cliente lo considerará como un FQDN. Entonces, cualquier cliente intentará averiguar qué servidor DNS tiene autoridad en .100
el dominio de nivel superior... y como probablemente habrás adivinado, este TLD no existe.
La forma más sencilla de implementar 3 sitios diferentes en su máquina sin modificar DNS es:
Tenga 3 direcciones IP diferentes en su computadora (usando
ifconfig eth0 add 10.0.0.101
,ifconfig eth0 add 10.0.0.102
, etc...)Implemente hosts virtuales basados en IP en su Apache.
Tenga una portada que se vea así:
<ul>
<li><a href="http://10.0.0.100/">Website1</a></li>
<li><a href="http://10.0.0.101/">Website2</a></li>
<li><a href="http://10.0.0.102/">Website3</a></li>
</ul>
Otra forma (más complicada) de implementar esto sería:
Implemente su propio servidor DNS en su máquina para tener autoridad, por ejemplo, en el
.bibicomputer
TLD.En su
bibicomputer
zona DNS, hacewebsite1.bibicomputer
,website2.bibicomputer
, etc... apunta a su dirección IP.Pida a sus compañeros de trabajo que agreguen su dirección IP en su lista DNS (en Linux
/etc/resolv.conf
:).
Pero apuesto a que a los informáticos de su empresa no les gustará esta solución.