Pourquoi les hôtes virtuels Apache sur Ubuntu 14.04 ne fonctionnent pas?


23

J'ai installé Apache 2.4 sur Ubuntu 14.04 et cela fonctionnait bien par http://localhost/adresse. Mais quand j'ai essayé d'ajouter un nouvel hôte virtuel, par exemple http://bow.locet de redémarrer apache, la nouvelle adresse n'était pas disponible sur http://bow.locet disponible sur http://localhost.

Ma configuration est:

<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>

Comment puis-je obtenir mon site http://bow.loc?



Découvrez ma réponse ici . Vous avez un problème similaire et cela s'avère être le problème avec la configuration DNS du système.
jmarceli

Réponses:


29

Depuis Apache 2.4, chaque fichier d'hôte virtuel doit avoir l'extension .conf.

Vous pouvez renommer chaque fichier d'hôte virtuel pour inclure l'extension .conf:

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

Utilisez la commande a2ensite pour ajouter l'hôte virtuel:

a2ensite example.com.conf

Et rechargez Apache:

service apache2 reload

Merci! Et après ces actions, je n'ai pas besoin de modifier manuellement le /etc/hostsfichier et d'y ajouter des hôtes? Apache écrit-il automatiquement de nouveaux hôtes?
Victor Bocharsky

Apache n'écrit pas automatiquement les nouveaux hôtes, vous devez l'écrire manuellement. CMIIW
Ari Pratomo

Donc, ma configuration est correcte, et problème afin que j'oublie d'ajouter l'hôte/etc/hosts
Victor Bocharsky

une autre manière consiste à modifier apache2.conf et à supprimer l'extension ".conf" de la directive "IncludeOptional sites-enabled / *". J'utilise des domaines de sites Web comme noms de fichiers, donc je n'aime pas l'exigence supplémentaire ".conf".
lepe

17

J'ai oublié d'ajouter l'hôte dans /etc/hosts:

127.0.0.1   localhost
127.0.0.1   bow.loc

Je pensais qu'apache le faisait automatiquement.


Je n'ai jamais eu à le faire auparavant sur un serveur. Je le fais depuis le client à des fins de test tout le temps. Pouvez-vous clarifier ce que vous dites ici?
flickerfly

@flickerfly Que voulez-vous dire? J'ai fait mes points virtualhosts à ma machine locale pour les gérer avec le Apacheserveur installé
Victor Bocharsky

J'ai oublié d'ajouter ça aussi! : P
Rishi Kulshreshtha

Merde, j'en ai perdu un sur une machine virtuelle Debian 8! Merci!!!
lucaferrario

@lucaferrario haha, moi non plus. Bugs simples difficiles à révéler;) Vous êtes les bienvenus!
Victor Bocharsky

3

Eh bien, j'ai essayé toutes ces solutions proposées ... mais malheureusement, rien n'a fonctionné! Hélas j'ai édité

    /etc/hosts

faire l'entrée

    127.0.1.1 example.com test.com

et ça a fonctionné !!

(Désolé si je ne parle pas beaucoup techniquement!)


1

J'ai écrit un script python qui automatisera les étapes de création d'un hôte virtuel apache ... cette vidéo explique comment télécharger / coder sur GitHub


-3
Options FollowSymLinks MultiViews

Besoin de caractère '+': + FollowSymLinks + Multiviews

Order allow,deny
Allow from all

Maintenant = Exige tout octroyé


Veuillez expliquer où mettre cela et ce qu'il fait. Ne vous contentez pas de publier des commandes ou des artefacts de configuration. Voir Comment écrire une bonne réponse?
David Foerster

1
Vous n'avez besoin de mettre un + ou - avant les différentes options que si vous utilisez un - pour en exclure une. Sinon, ils sont prêts à partir. Obligatoire tout octroyé est pour Apache 2.4. Les lignes Order, Allow sont une syntaxe 2.2.
flickerfly
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.