J'essaie de créer un hôte virtuel sur Apache
dans Ubuntu
(dans une machine virtuelle), mais je ne parviens pas à l'obtenir. J'ai fait beaucoup de configurations mais aucune d'entre elles ne m'a donné de résultat, alors j'ai créé une nouvelle machine virtuelle pour le faire depuis le début. Je vais mettre ici tout le processus étape par étape pour que vous puissiez tous suivre ce que je fais mal.
Sudo apt-get install Apache2
)Lorsque j'écris l'URL ejemplo.es
sur mon navigateur, le fichier que j'ai créé sur mon dossier VirtualHost
sera affiché et non la page qu'il se trouve sur www.ejemplo.es
(qu'il ne m'appartient pas).
Utilisez le fichier hosts
du dossier /etc
au lieu de la configuration DNS.
Tout d'abord, ce dont j'ai besoin, c'est de créer le répertoire racine de mon serveur sous le nom /var/www/extras
. J'ai donc créé ce nouveau répertoire sur /var/www
.
Sudo mkdir /var/www/extras
et créez un index.html
avec du texte.
Après avoir créé le nouveau répertoire, je dois changer mon fichier 000-default.conf
pour changer la directive DocumentRoot
.
Sudo gedit /etc/Apache2/sites-available/000-default.conf
et changez la directive DocumentRoot
comme suit:
DocumentRoot /var/www/extras
et ensuite je redémarre Apache
pour enregistrer mes modifications:
Sudo /etc/init.d/Apache2 restart
et modifiez le bloc Directory
sur le fichier Apache2.conf
Sudo gedit /etc/Apache2/Apache2.conf
de <Directory /var/www/html>
à <Directory /var/www/extras>
et redémarrez Apache
à nouveau.
Dans le répertoire /var/www/extras
, je vais créer un nouveau dossier (ejemplo.es
) qui sera le dossier de mon hôte virtuel.
Sudo mkdir /var/www/extras/ejemplo.es
et à l'intérieur de celui-ci un fichier index.html
que j'ai créé pour le répertoire racine de mon serveur avec le texte "This is an example"
.
Après cela, si je vais dans le navigateur et écris localhost/ejemplo.es
je peux voir le contenu du fichier que j'ai créé à l'étape précédente. Mais ce que je veux c'est accéder au même contenu mais en tapant ejemplo.es
au lieu de localhost/ejemplo.es
.
Je dois créer un nouveau fichier sur /etc/Apache2/sites-available
avec la configuration de mon hôte virtuel.
Sudo gedit /etc/Apache2/sites-available/ejemplo.es.conf
avec la configuration suivante:
<VirtualHost 10.0.2.15:80>
ServerAdmin [email protected]
ServerName ejemplo.es
ServerAlias www.ejemplo.es
DocumentRoot /var/www/extras/ejemplo.es
</VirtualHost>
et sur le fichier Apache2.conf
, je vais remplacer IncludeOptional sites-enabled/*.conf
par Include sites-enabled/*.conf
. (Cela prouve que ma Apache
n'incluait peut-être pas ce dossier et que mon VirtualHost
ne fonctionnait pas pour cela).
Alors maintenant, je dois activer le VirtualHost que j'ai créé:
Sudo a2ensite ejemplo.es
et redémarrez Apache
pour enregistrer les modifications apportées:
Sudo /etc/init.d/Apache2 restart
Si je liste le contenu du dossier /etc/Apache2/sites-enabled
, je peux voir que mon VirtualHost
il est actif maintenant (ls
commande de ce dossier).
Pour terminer, j’ajoute une nouvelle ligne sur mon fichier hosts (Sudo gedit /etc/hosts
):
10.0.2.15 ejemplo.es
alors maintenant, le fichier a trois lignes avec les adresses IP:
127.0.0.1 localhost
127.0.1.1 user
10.0.2.15 ejemplo.es
et quelques lignes ci-dessous qui commencent par ff00...
mais je pense qu'elles ne sont pas pertinentes pour mon propos.
Et enfin, je dois exécuter la commande suivante pour sauvegarder mes dernières modifications:
Sudo /etc/init.d/networking restart
mais j'obtiens la page par défaut de www.ejemplo.es
à la place du fichier que j'ai mis dans mon dossier VirtualHost
.
Je suis sûr que je fais quelque chose de mal, mais je ne peux pas savoir où. C'est la première fois que je crée un VirtualHost
et tous les tutoriels que j'ai vus comportaient ces étapes. Je pense donc qu'il me manque quelque chose.
Je m'attends à ce que vous puissiez suivre mes étapes et demander si vous avez des doutes sur la configuration que j'ai faite.
Merci d'avance!
Je voulais commenter la question pour plus d’informations, mais je n’avais pas assez de points de réputation, alors j’essaie simplement de répondre à cette question pour que vous nous donniez un peu plus d’informations.
J'ai suivi les mêmes étapes que celles mentionnées ci-dessus dans ma nouvelle machine virtuelle et tout fonctionne correctement.
Je ne sais pas exactement comment vous testez le domaine ci-dessus, que ce soit un navigateur dans votre ordinateur (Ubuntu - client) ou dans votre hôte (qui exécute virtualbox).
Si vous essayez de visiter le domaine sous client-ubuntu, vous pouvez ajouter plus d’IP dans la balise virtualhost:
<VirtualHost ejemplo.es:80 127.0.1.100:80 192.168.1.100:80></VirtualHost>.
Ici, 127.0.1.100 et 192.168.1.100 sont des exemples d'adresses IP qui pointent toutes vers ejemplo.es.
Si vous essayez d'accéder à partir de votre hôte avec IP 10.0.x.x, il est possible qu'il ne soit pas accessible. Surtout si vous n'avez pas sélectionné le type de réseau adapté à votre VM. Vous pouvez d'abord envoyer une requête ping à l'IP avant de vérifier le travail du domaine local. Dans mon cas, je sélectionne la connexion de pont (avec le NAT copié), de sorte que ma VM puisse agir comme tout autre périphérique physique de mon réseau.
Autre chose, si votre site est déjà en service et que vous souhaitez un environnement local pour le développement et les tests, il est préférable d’utiliser un domaine différent (tel que: .local, .dev) au lieu d’utiliser le même domaine.