
Tengo un servidor LAMP funcionando en Ubuntu 11.04. Ahora el problema es que las webs hay que habilitarlas y deshabilitarlas desde el terminal. Se debe acceder a todos ellos desde http://localhost
lo cual no es tan eficiente. Entonces creé un VHOSTS, usando algunos tutoriales de la red. Aquí está el código para ello.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
Servername site.com
ServerAlias www.site.com
DocumentRoot /home/starx/public_html/site/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/starx/public_html/site/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
nGen
ErrorLog ${APACHE_LOG_DIR}/site-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/site-access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Ahora, todavía no puedo acceder a la página, http://site.com
pero si accedo usando, http://localhsot/
se accede.
He deshabilitado todos los demás sitios, incluido el predeterminado, y solo habilité un sitio, es decirsite
¿Cómo arreglar esto?
Respuesta1
Solo estaba tratando de hacer que esto funcionara y después de mirar un poco a mi alrededor descubrí lo que me estaba yendo mal.
Estoy ejecutando xampp (lampp) 1.80 para Ubuntu 12.04.
abierto/opt/lampp/etc/httpd.conf
Ver Línea 488
# Virtual hosts
# Include etc/extra/httpd-vhosts.conf
elimine el "#" del archivo include
.
Una nueva instalación no carga el httpd-vhosts.conf
paquete listo para usar.
Respuesta2
Según /usr/share/doc/apache2/README.Debian.gz
, si desea crear definiciones para sitios adicionales, deberá colocar fragmentos de configuración de sitios individuales /etc/apache2/sites-available/
(consulte /etc/apache2/sites-available/default
un ejemplo). Luego puede habilitar y deshabilitar sitios en un host determinado con los comandos a2ensite(8) y a2dissite(8). Tenga en cuenta que es posible que esto no funcione exactamente como se describe si las configuraciones distribuidas se han cambiado significativamente.
Si un sitio está habilitado de esta manera y sigue sin funcionar, querrá asegurarse de que el servidor web pueda resolver el nombre del nuevo sitio de manera que coincida con una dirección IP que el servidor web cree que tiene asignada. : la forma más sencilla probablemente sea consultar desde el servidor. También desea verificar que el cliente resuelva el nombre de una manera que haga que llegue al servidor en cuestión (aunque no es necesario que la IP resuelta coincida con la que usa el servidor). Para sitios inseguros, esto es más fácil y, una vez que se completa la conexión (no aparece ningún mensaje), ingresa las siguientes tres líneas (tenga en cuenta que la tercera está en blanco, pero debe presionar Intro por tercera vez):w3m https://my.new.secure.site
telnet my.new.site 80
OBTENER / HTTP/1.1 Anfitrión: mi.nuevo.sitio
Si funcionan, cualquier otra cosa es un problema del navegador. Si el primero tiene éxito y el segundo falla, probablemente haya algo extraño en la capa de red (NAT, proxies, etc.): exactamente cómo solucionar esto depende demasiado de la topología de la red y los dispositivos presentes: haga otra pregunta con detalles si esto se aplica a usted.
Si la primera prueba falla, vuelva a verificar el servicio de nombres disponible en el servidor y las direcciones IP asignadas al servidor (ifconfig -a). También verifique los registros de acceso a su sitio para verificar que ve una conexión aproximadamente en el momento adecuado. Por último, asegúrese de que su host virtual esté escuchando por nombre, en lugar de por IP, y no filtre los resultados por/según IP en su directiva VirtualHost.
Respuesta3
No estoy seguro de que esto sea lo que quieres.
Reemplace sus códigos con estos simples códigos cortos.
<VirtualHost *:80>
ServerAdmin admin@localhost
DocumentRoot YourDocumentRoot
ServerName site.com
ServerAlias www.site.com
ErrorLog localhost
CustomLog localhost-access_log common
</VirtualHost>
Puedes leer más sobre vhostaquí
Respuesta4
¿Ha agregado site.com y www.site.com a su archivo /etc/hosts para asegurarse de que el enrutamiento DNS sea correcto? Puedes intentar nslookup site.com
probar el DNS.
Si quiere asegurarse de que eso http://localhost
no funcione, elimine los archivos /etc/apache2/default, default-ssl y use un único host virtual.