Mon site ne s'affiche pas avec Apache

Tags: #<Tag:0x00007f63cf7a3048> #<Tag:0x00007f63cf7a2f80>

Bonjour,
J’ai créé un site avec du html, du css et des images que je peux parfaitement consulter en local sur mon mac.
D’autre part, j’ai un PC sous Debian, sur lequel j’ai installé un serveur Apache. Lorsque j’envoie un code html de mon mac à ma Debian (via scp) et que je créer un lien symbolique entre /var/www et mon fichier, tout fonctionne !
Mais le problème est que je veux mettre tout mon site web et pas seulement un code html. Alors, lorsque je mets le dossier contenant tout mon site web, voilà ce que ça me donne :
Capture d’écran 2021-11-29 à 17.27.29
J’ai essayé de changer les droits de /var, de /www et de mon fichier mais rien ne change.
Pourriez-vous m’aider ?

Bonjour,

Le fichier qui sert de page d’accueil doit s’appeler index.html.

2 J'aime

Bonjour,

index.html est la page par défaut.
Tu fais: http://monsite.truc, c’est la page index.html qui est chargée par défaut.
Pour que ton site fonctionne correctement, et permettre le cas échéant d’en faire un autre, il vaut mieux mettre tes fichiers dans /var/www/html/monsite ou /var/www/monsite.

ensuite c’est dans la configuration de ton Apache que tu va faire pointer l’URL voulue vers le site.
par ailleurs, pour que apache puisse accéder à ton site il faut qu’il en soit propriétaires, donc le user et le groupe www-data doivent être les propriétaires de ton site par un chown www-data:www-data /var/www/html/monsite
les configurations se font dans /etc/apache2/sites-availables
si ton fichier de conf est /etc/apache2/sites-availables/monsite.conf il faut l’activer par:
a2ensite monsite.conf et ensuite recharger apache.

Non ce n’est absolument pas nécessaire. Il suffit que les fichiers soient accessibles en lecture pour tous (ou a minima pour l’utilisateur www-data).

Oui toujours à minima, car à maxima c’est le meilleurs moyen de se faire pirater son site.
Et même pour un site local autant prendre dès le départ de bonne habitudes.

1 J'aime

Le problème est que Apache liste le contenu au lieu d’y accéder. Apparemment ça serait lié à « Indexes » dans « apache2.conf » qui liste le contenu quand il n’y a pas de fichier html. Je ne parvient toujours pas à afficher mon site même après votre aide…

J’ai modifié le nom de ma page d’accueil en « index.html » et elle s’affiche ! Le problème est qu’il n’y a que celle-là qui est prise en compte sur tout le dossier. Quand je clique sur un lien, voilà ce que ça me donne:
Capture d’écran 2021-11-30 à 11.45.10

Là, le problème vient de la façon dont tu as créé les liens. Tu vois bien dans la barre d’adresse que cela ne correspond pas à l’emplacement du fichier. Il faut modifier tes fichiers HTML pour reprendre les liens, emplacement des images, feuilles de styles etc.


[HS]

On ne se fait pas « pirater » un site à cause des droits d’accès. Par contre, voir des droits réduits au strict minimum nécessaire permet de limiter la portée d’une compromission. Et à cet égard avoir tous ses sites avec www-data comme propriétaire et groupe n’est vraiment pas l’idéal.
[/HS]

et je mets quel emplacement ?

Tes fichiers sont tous dans le même répertoire. Les liens doivent donc contenir simplement le nom du fichier.
Par exemple pour un lien du fichier index.html vers mw01.html :

<a href="mw01.html">Texte du lien</a>

Même chose pour les feuilles de style ou les atrributs src des images.

1 J'aime

Super ça marche !!!
Merci mille fois, vous m’avez vraiment sorti d’une longue galère !
Très bonne continuation
Capture d’écran 2021-11-30 à 15.30.29
ps: c’est pas exceptionnel mais c’est le début ;))

On ne touche pas au fichier apache2.conf pour configurer un site