web-dev-qa-db-fra.com

Configuration de vhost sur VirtualBox avec Ubuntu 16.04

Je suis assez nouveau dans le développement et c’est la raison pour laquelle je suis bloqué par un problème de "débutant".

Je veux avoir un répertoire sous / var/www/mysite avec un index.html et y accéder via un navigateur Web sur mon PC (Win10 64 Bit) en tapant - mysite.example dans cela.

Je ne veux rien publier sur Internet avec ça. Je veux seulement tester et développer un site qui pourrait être hébergé plus tard.

J'ai créé un VirtualMachine à l'aide d'Oracle VirtualBox et installé Ubuntu16.04 (la virtualisation 64 bits a également activé la virtualisation sur mon i5 2500 dans le BIOS, de sorte que ces 64 bits sont affichés).

Ensuite, j'ai installé Apache2, mysql et php.

ip addr show m'a donné une adresse: 192.168.178.31.

Donc, si je tape dans mon navigateur http://192.168.178.31/, j'arrive à la page par défaut d'Apache2 - Cela fonctionne!

J'ai créé le répertoire / var/www/mysite et ai mis un simple index.html pour le test de purpouse. J'ai dit Sudo chown -R 775 to /var/www/.

Maintenant, je dois créer un vhost pour pouvoir accéder à ce index.html dans ce répertoire spécifique en tapant une chaîne spécifique dans mon navigateur. Mais ça ne marchera pas!

Je suis allé à / etc/Apache2/sites-available / et créé mysite.conf.

Ceci est le contenu:

<VirtualHost *80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/mysite
ServerAlias mysite.example
</VirtualHost>

J'ai fait a2ensite mysite.conf, Sudo service Apache2 reload et restart

Donc je suis là. Si je tape mysite.example dans mon navigateur, je ne reçois que des erreurs.

Site non atteint. Serveur DNS pour mysite.example non trouvé, etc. (ERR_NAME_NOT_RESOLVED).

1
nico

Notez que si vous utilisez mysite.local au lieu de mysite.org * (ou une autre extension populaire), vous pouvez taper http:// devant celui-ci à chaque fois, car le navigateur peut ne pas reconnaître .local en tant qu'extension de domaine.

  • .google, .dev, .foo, .page, .app, .chrome extension de domaine ne sont pas de bonnes idées pour des buts semblables depuis décembre 2017, lisez plus ... et plus ...

Si vous souhaitez accéder à mysite.local et www.mysite.local à partir de la machine locale, éditez /etc/hosts et liez ces deux noms de domaine à l'interface de bouclage - 127.0.0.1:

127.0.0.1    localhost mysite.local www.mysite.local
  • Ajoutez cette ligne quelque part dans /etc/hosts.

  • Notez que, dans ce contexte, la "machine" locale est la machine virtuelle avec Ubuntu.

Si vous souhaitez accéder à mysite.local par l'intermédiaire d'un autre ordinateur depuis votre réseau local, modifiez son fichier Host et liez les deux noms de domaine à l'adresse IP du serveur:

192.168.178.31    mysite.local www.mysite.local

Une autre option consiste à créer votre DNS local:


Vous êtes ici une configuration d’hôte virtuel de base applicable à votre cas:

<VirtualHost *:80>

        ServerName mysite.local
        ServerAlias www.mysite.local

        ServerAdmin [email protected]

        DocumentRoot /var/www/mysite

        <Directory /var/www/mysite>
                Options Indexes FollowSymLinks
                AuthType None
                AllowOverride All
                Order allow,deny
                Allow from all
                Require all granted
        </Directory>

        ErrorLog ${Apache_LOG_DIR}/mysite.local-error.log
        CustomLog ${Apache_LOG_DIR}/mysite.local-access.log combined

</VirtualHost>
  • Au début, mettez un contenu de base dans /var/www/mysite. La fonction phpinfo(); est une bonne idée:

    echo '<?php phpinfo(); ?>' | Sudo tee /var/www/mysite/index.php
    

Redémarrez Apache et essayez d’accéder à http://mysite.local via le navigateur.

1
pa4080