Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Tout d'abord, petite précision sur l'architecture sur laquelle je bosse: mon pc contient une VM (Ubuntu) qui me sert de serveur. Je peux le joindre via son adresse IP. Comme je souhaitais utiliser un nom de domaine pour un utilisateur, j'ai décidé de modifié mon fichier host

# /etc/hosts
IPSERVEUR user1.domaine

J'ai testé avec un ping et je touche bien le serveur. De ce côté, là, ça fonctionne. Ensuite dans la VM, j'ai installé Apache et j'ai fait la configuration suivante: dans le dossier /var/www/ j'ai créé un dossier "user1", ce qui donne /var/www/user1. Dedans, j'y ai mis un simple fichier html avec le nom index.html.

J'ai donc ensuite commencé à créer mon fichier virtal host. Je me suis rendu dans le dossier /etc/apache2/sites-available et j'ai crée le fichier user1.conf suivant:

#/etc/apache2/sites-available/user1.conf
<VirtualHost *:80>
        ServerName user1.domaine
        ServerAlias *.user1.domaine
        DocumentRoot /var/www/user1
        ErrorLog /var/www/user1/logs/error.log
</VirtualHost>

Ensuite, j'ai activé le site avec la commande suivant: sudo a2ensite user1.conf et j'ai redémarré le service apache.

Ce que je veux

J'aimerais que la page index.html contenu dans le dossier /var/www/user1/ soit affiché quand je tape user1.domaine dans la barre d'adresse dans mon navigateur.

Ce que j'obtiens

Malheureusement, rien ne charge. Mon navigateur charge pendant une bonne minute et puis me dit que le délai de réponse est dépassé. Evidemment, ce qui me pose problème c'est que je n'ai aucun message d'erreur nul part :/

Merci d'avance pour votre aide :)

6 réponses


Il faut que le host redirige les requêtes http 80 vers la VM
tu peux faire une règle iptables

C'est déjà le cas, l'adresse IP me donne directement accès à la VM (sinon, j'aurais pas pu me connecter en SSH)

Je pense qu'il te faut revoir tes notions de réseau

Désolé, mais je ne comprends pas cette remarque (qui a l'air un peu sarcastique, à mon gout). J'ai juste dit que j'arrivais à accéder à la VM, c'est tout. J'arrivais à voir la page par défaut (lorsque Apache est installé) en tapant l'adresse IP. Donc normalement, il devait bien y avoir une redirection vers le port 80.

Si je me trompe (ce qui pourrait être le cas), pourriez-vous m'expliquer plus précisement le souci ? Parce que je ne vois vraiment pas ce que je loupe (et je suis sincère, ce n'est pas une attaque).

PS: je viens de comprendre le pourquoi de votre commentaire. Quand je parlais de SSH (port 22), c'était pour dire que j'arrivais à joindre la machine avec cette IP et donc qu'elle était bonne.

Bonsoir,

Au dernier commentaire j'ai eu l'infos de ma premiere question : Oui la page par default est bien afficher avec l'ip. Le soucis ne peut provenir donc que de la config apache (qui m'a l'air bonne) ou des droits de lecture/ecriture.

Quelle sont les droits sur le dossier et les enfants ? Ne pas oublier que apache c'est user et groupe www-data

Bonjour,

Je viens de fouiller dans cette direction suite à votre commentaire et voilà les résultats:
J'ai tout d'abord désactiver mon fichier VH et réactiver celui par défaut (j'ai veillé aussi à remettre le fichier apache2.conf comme à l'origine). Donc normalement, le dossier /var/www/ est accessible est donne accès à un index des dossiers. Ca a fonctionné. Ensuite, sur mon navigateur, j'ai été dans le dossier user1 et ma page HTML est bien apparue.

Ensuite, j'ai rajouté la ligne ServerName user1.domaine dans le fichier 000-default.conf et j'ai rechargé le service. L'accès en IP fonctionne toujours et je peux aller afficher la page HTML. J'ai essayé avec le nom de domaine, mais le navigateur n'a jamais chargé la page.

J'ai regardé pour les autorisations et le dossier user1 est lié à user1:user. J'ai donc mis le user1 dans le groupe www-data mais cela n'a rien changé.