¿Por qué los hosts virtuales Apache en Ubuntu 14.04 no funcionan?

23

Instalé Apache 2.4 en Ubuntu 14.04 y funcionaba bien por http://localhost/dirección. Pero cuando intenté agregar un nuevo host virtual, por ejemplo, http://bow.locy reiniciar Apache, la nueva dirección no estaba disponible http://bow.locy no estaba disponible http://localhost.

Mi configuracion es:

<VirtualHost *:80>
    ServerName www.bow.loc
    ServerAlias bow.loc
    DocumentRoot /var/www/html/bow/web

    <Directory /var/www/html/bow>
        AllowOverride All
        Options FollowSymLinks MultiViews
        Order allow,deny
        Allow from all
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ /app.php [QSA,L]
        </IfModule>
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

¿Cómo puedo obtener mi sitio http://bow.loc?

Victor Bocharsky
fuente
Relacionado: askubuntu.com/a/362992/8698
Dan
Mira mi respuesta aquí . Tengo un problema similar y resulta ser el problema con la configuración de DNS del sistema.
jmarceli

Respuestas:

29

Desde Apache 2.4, cada archivo de host virtual debe tener la extensión .conf.

Puede cambiar el nombre de cada archivo de host virtual para incluir la extensión .conf:

mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf

Use el comando a2ensite para agregar el host virtual:

a2ensite example.com.conf

Y vuelva a cargar Apache:

service apache2 reload
Ari Pratomo
fuente
¡Gracias! ¿Y después de estas acciones no necesito modificar manualmente el /etc/hostsarchivo y agregarle hosts? ¿Apache escribirá nuevos hosts automáticamente?
Victor Bocharsky
Apache no escribe nuevos hosts automáticamente, debe escribirlo manualmente. CMIIW
Ari Pratomo
Entonces, mi configuración es correcta, y un problema para olvidarme de agregar host/etc/hosts
Victor Bocharsky,
otra forma es modificar apache2.conf y eliminar la extensión ".conf" de la directiva "IncludeOptional sites-enabled / *". Uso dominios de sitios web como nombres de archivos, por lo que no me gusta el requisito adicional ".conf".
lepe
17

Olvidé agregar host en /etc/hosts:

127.0.0.1   localhost
127.0.0.1   bow.loc

Pensé que apache lo hace automáticamente.

Victor Bocharsky
fuente
No he tenido que hacer eso en ningún momento antes en un servidor. Sin embargo, lo hago desde el cliente con fines de prueba todo el tiempo. ¿Puedes aclarar lo que estás diciendo aquí?
flickerfly
@flickerfly ¿Qué quieres decir? Hice mis puntos de virtualhosts a mi máquina local para manejarlos con el Apacheservidor instalado
Victor Bocharsky,
¡Olvidé agregar esto también! : P
Rishi Kulshreshtha
¡Maldición, desperdicié uno en esto en una máquina virtual Debian 8! ¡¡¡Gracias!!!
lucaferrario
@lucaferrario jaja, yo tampoco. Errores simples difíciles de revelar;) ¡De nada!
Victor Bocharsky
3

Bueno, he estado probando todas estas soluciones ofrecidas ... ¡pero lamentablemente nada funcionó! Por desgracia edité

    /etc/hosts

hacer entrada

    127.0.1.1 example.com test.com

¡¡Y funcionó!!

(Lo siento si no estoy hablando mucho técnicamente!)

Vineeth Vijayan
fuente
1

Escribí un script de Python que automatizará los pasos de creación del host virtual apache ... este video explica cómo, descargar / codificar en GitHub

rakibtg
fuente
-3
Options FollowSymLinks MultiViews

Need char '+': + FollowSymLinks + Multiviews

Order allow,deny
Allow from all

Ahora = Requerir todo otorgado

Valentin
fuente
Por favor, explique dónde poner esto y qué hace. No solo publique comandos o artefactos de configuración. Vea ¿Cómo escribo una buena respuesta?
David Foerster
1
Solo necesita poner un + o - antes de las diferentes Opciones si está usando un - para excluir una. De lo contrario, son buenos para ir. Requerido todo lo otorgado es para Apache 2.4. Las líneas Order, Allow son una sintaxis 2.2.
flickerfly