Probléme serveur debian

Bonjour
je me tourne vers vous en espérant de trouver les réponses.
J’ai installé en local sur une machine physique dernier debian server. Par defaut tout y fonctionne bien mais quand je veux créer un lien symbolique dans /var/www vers /home/utilisateur/www la commande passe mais le lien n’y est pas.Je crée alors un dossier dans /var/www/mon site et le lien fonctionne quand je vais dans var/www et je clique sur le lien je me retrouve dans home/utilisateur/www . C’est bon sauf que quand je l’accède en local j’ai toujours index.html de var/www. pouvez vous s’il vous plaît me aider de résoudre ce problème? Merci

Bonjour @anteas,
Cela semble bien ne pas être un problème mais un fonctionnement normal de tout serveur Web. Ceci dit, en ne mentionnant pas ce que vous espériez de Linux, on doit le deviner. Je suppose que vous souhaitez voir apparaître la liste des fichiers et non pas la page web.

C’est la directive Options d’Apache qui vous permet une telle opération.

<Directory "/var/web/dir1">
    Options +Indexes
</Directory>

Vous trouverez plus d’informations à ce sujet sur la page https://httpd.apache.org/docs/2.4/fr/sections.html

j’ai fais un lien : ln -s /home/user/www /var/www/mon_site
ce que je veux c’est pointer le documentroot dans mon dossier /home/user/www
j’ai essayé indiquer ce chemin dans apache2.conf et aussi 000-default.conf mais ça ne fonctionne pas

Très probablement, pour des raisons de sécurité, que les liens ne soient pas admis par Apache ne m’étonnerait pas. Il se peut aussi qu’il s’agisse de droits affectés au lien ou à l’emplacement pointé.

Une solution de contournement qui pourrait éventuellement convenir consisterait à changer le répertoire racine comme décrit à partir de ce lien: https://xymaths.fr/Informatique-Programmation/Divers/apache-root-local.php

C 'est un mauvais choix.
le mode de cloisonnement de Apache ne permet pas ça.
D’autant que par défaut les symlinks ne sont souvent pas autorisés.

Si tu veux faire un site relatif à un user il faut utiliser le module userdir d’Apache.

C’est une très très mauvaise solution qui peut avoir pas mal d’impact dans le cas d’installation d’application packagées.
Le UserDir est bien mieux et c’est f ait pour.

@anteas , rien de mieux à moins d’être plus précis sur le besoin (pas la description technique que vous avez en tête mais le besoin fonctionnel).

pour /var/www je ne sais pas ,
mais pas pour un autre lien tu peux le faire
chez moi :

ls -al /var/www/html/ |grep CUISINE
lrwxrwxrwx  1 www-data www-data       7 20 nov.   2023 cuisine -> CUISINE
lrwxrwxrwx  1 www-data www-data      34 20 nov.   2023 CUISINE -> /media/PROJETS/CUISINE/

ls -al /media/PROJETS/|grep CUISINE
drwxrwx--- 10 user    www-data     4096  2 juil. 13:18 CUISINE

et accessible via http://127.0.0.1/CUISINE ou http://127.0.0.1/cuisine/

mon user est dans le groupe www-data

C’est sale :slight_smile:
Il y a mieux pour faire ça. C’est aussi à ça que servent les conf-available et les sites-available.

Il suffit d’une conf pour le Document Dir, avec les bon droits sur le répertoire.

On ne met jamais son user dans www-data. sinon autant ouvrir la portex et acceuillir tout le monde.

Si tu veux faire un site pour ton user tu utitlise UserDir, c’est fait pour.

tout à fait, mais accessible seulement en local chez moi
mais ça marche

www-data n’est pas dans le groupe user; c’est juste pour écrire dans /var/www en tant qu’utilisateur

pour y écrire quoi? si c’est pour le dev ce n’est pas nécessaire. en mode accès il n’y a pas besoin , qu’est ce que c’est comme site?

Et bien, je veux mettre en route un serveur local chez nous. Debian est installé sur une machine physique . J’ai suivi tuto de grafikart mais son vidéo est assez ancien alors y a des choses qui ne marchent pas exactement pareil. Dans ce tuto il explique que ( selon lui ) la meilleur solution si on veux attribuer a chaque utilisateur une domaine c’est de faire le lien symbolique avec son propre fichier conf dans sites-available . En pratique ça signifie que dossier /var/www contient que les liens symboliques pour chaque site. Je ne sais pas expliquer mieux, faudrait me poser les questions concrète.Merci

Tu veux avoir un serveur Web où:
utilistateur machin a un serveur pour soit http://serveur/~machin ou http://machin
utilistateur truc a un serveur pour soit http://serveur/~truc ou http://truc
utilistateur bidule a un serveur pour soit http://serveur/~truc ou http://truc

Pour faire http://truc il faut une configuration du type /etc/apache2/sites-available/truc.conf activé avec a2ensite truc.conf
Pour faire http://serveur/truc il faut une configuration du type conf-/etc/apache2/available.conf activé avec a2enconf truc.conf

Les sites sont des virtuals host.
Les conf sont des Alias. Dans ce cas, qui te concerne le plus, il te faut utiliser le module Apache UserDir qui permet à un utilisateur d’avoir un répertorie particulier dans sont $HOME accessible via une URL servie par Apache.

la mise en place de UserDir:

https://httpd.apache.org/docs/trunk/fr/howto/public_html.html

le première est plus complet et en français.

1 J'aime

merci, ça l’aire vraiment un bon conseil. Dés que je finis ma journée je vais testé, encore merci