# Apache et acces www

**URL:** <https://www.debian-fr.org/t/apache-et-acces-www/88752>\
**Category:** Support Debian\
**Created:** [Septembre 4, 2023, 8:17 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752 "2023-09-04T08:17:01Z")\
**Posts on this page:** 16\
**Page:** 2

<div class="post-metadata">

**Author:** ![Lissteck](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/5f8ce5/32.png) [@Lissteck](https://www.debian-fr.org/u/Lissteck)\
**Post date:** [Septembre 9, 2023, 10:01 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/21 "2023-09-09T10:01:19Z")

</div>

Effectivement c’est pas le meme résultat

```nohighlight
ls -l /home/jealdell
total 44
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Bureau
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Documents
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Images
-rw-r--r-- 1 jealdell jealdell 6 2 sept. 12:03 index.html
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Modèles
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Musique
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Public
drwxr-xr-x 3 jealdell jealdell 4096 9 sept. 09:52 public_html
drwxrwxr-x 12 jealdell jealdell 4096 1 févr. 2020 public_html1
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Téléchargements
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Vidéos

```

```nohighlight
ls -l /home/jealdell/public_html
total 4
drwxr-xr-x 3 jealdell jealdell 4096 22 mai 2021 gestech

```

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Septembre 9, 2023, 10:15 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/22 "2023-09-09T10:15:22Z")

</div>

Apache n’a pas les droits jealdell jealdell, il ne peut pas lire les fichier d’où l’erreur.

Normallement il devrait etre en www-data:www-data. Mais avec ton histoire de userdir, je ne sais pas comemtn ça marche. Mais sans userdir, aucune change que ça marche si les droits de propriété ne sont pas bon.

---

<div class="post-metadata">

**Author:** ![Lissteck](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/5f8ce5/32.png) [@Lissteck](https://www.debian-fr.org/u/Lissteck)\
**Post date:** [Septembre 22, 2023, 7:52 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/23 "2023-09-22T07:52:44Z")

</div>

Bonjour, j’ai fait ce que je pouvais, en m’appuyant des infos de divers tutos, pas de résultat. j’arrive toujours a la meme chose  
soit:

nano /etc/apache2/sites-available/gestech.com.con

```
<VirtualHost *:80>
        ServerName gestech.com
        ServerAlias www.gestech.com
        DocumentRoot "/home/jealdell/public_html/gestech"
        <Directory "/home/jealdell/public_html/gestech">
                AllowOverride All
Options -Indexes +FollowSymLinks +MultiViews
 Require all granted

        </Directory>
        ErrorLog /var/log/apache2/error.gestech.com.log
        CustomLog /var/log/apache2/access.gesteck.com.log combined
</VirtualHost>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

 <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

```

je l’active a2ensite gestech.com.conf et désactive le default d’origine a2dissite 000-default

Et dans ce cas la localhost est 403 Forbidden (You don’t have permission)  
\*avec le default j’ai bien le repertoire HTML et GESTECH du repertoire /var/www  
mais jamais GESTECH du public\_html

chgrp -R www-data /home/jealdell/public\_html  
chmod -R 775 /home/jealdell/public\_html

ls -l /home/jealdell  
total 44  
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Bureau  
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Documents  
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Images  
-rwxr-xr-x 1 jealdell jealdell 6 2 sept. 12:03 index.html  
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Modèles  
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Musique  
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Public  
drwxr-xr-x 12 jealdell www-data 4096 1 févr. 2020 public\_html  
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Téléchargements  
drwxr-xr-x 2 jealdell jealdell 4096 29 août 17:37 Vidéos

* * *

mon userdir  
  
UserDir /home/jealdell/public\_html  
UserDir disabled root

```
    Alias /jealdell /home/jealdell/public_html

    <Directory /home/jealdell/public_html>
            Options All
             AllowOverride All
             Require all granted
                    Options MultiViews Indexes SymLinksIfOwnerMatch
                    <Limit GET POST OPTIONS>
                            Order allow,deny
                            Allow from all
                    </Limit>
                    <LimitExcept GET POST OPTIONS>
                            Order deny,allow
                            Deny from all
                    </LimitExcept>
            </Directory>

```

* * *

Ca devait pas etre si compliqué

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Septembre 22, 2023, 7:59 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/24 "2023-09-22T07:59:46Z")

</div>

Bonjour,  
Tes fichier et ton répertoire du site ont des droits qui ne permettent pas à apache de les traiter.  
Le directory cgi-bin n’a pas de `</directory>`  
Sur quels tutoriels t’es-tu basé?

---

<div class="post-metadata">

**Author:** ![Lissteck](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/5f8ce5/32.png) [@Lissteck](https://www.debian-fr.org/u/Lissteck)\
**Post date:** [Septembre 22, 2023, 10:13 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/25 "2023-09-22T10:13:50Z")

</div>

désolé pour le mauvais copié/collé

J’ai modifié les balises du message d’au dessus

```
<Directory /home/jealdell/public_html>
        Options All
         AllowOverride All
         Require all granted
                Options MultiViews Indexes SymLinksIfOwnerMatch
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
```

---

<div class="post-metadata">

**Author:** ![Lissteck](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/5f8ce5/32.png) [@Lissteck](https://www.debian-fr.org/u/Lissteck)\
**Post date:** [Octobre 6, 2023, 8:57 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/26 "2023-10-06T08:57:36Z")

</div>

Je n’ai toujours pas trouvé la solution a ce probleme qui ne me semblait pas etre tres compliqué…

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Octobre 6, 2023, 9:20 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/27 "2023-10-06T09:20:51Z")

</div>

Quels sont les tutos que tu as utilisé? car les mélanger n’est pas toujours de bon aloi.  
La configuration du module `userdir` n’utilise pas dans le texte de configuration le nom du user. Si des utilisateurs ne sont pas souhaité il faut les exclure avec `Userdir disabled`.

`userdir` est un module qui permet à tous les utilisateurs d’une machine la possibilité d’héberger du contenu web.

La configuration est donc conçue pour tous les utilisateurs (wildcard), pas sur un utilisateur nommé pour le module `/etc/apache2/mods-available/userdir.conf` :

```auto
<IfModule mod_userdir.c>
    Userdir public_html
    Userdir disabled root
 
    <Directory /home/*/public_html>
        AllowOverride FileInfo AuthConfig Limit Indexes
        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        Require method GET POST OPTIONS
    </Directory>
</IfModule>

```

activer le module avec `a2enmod userdir`  
Chaque utilisateur qui voudra avoir une page web devra dans ton répertoire user /home/ créer un répertoire `public_html`, dans lequel il mettra ses fichiers HTML, CSS, PHP, etc…

et c’est tout ce qu’il y a à faire.  
Pas besoin de modifier de fichier dans `conf-available` ou `sites-available`.  
Pour se connecter:

```auto
http://server/~user

```

Pour information, le module `userdir` n’est pas considéré comme très sécurisé.

---

<div class="post-metadata">

**Author:** ![Lissteck](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/5f8ce5/32.png) [@Lissteck](https://www.debian-fr.org/u/Lissteck)\
**Post date:** [Octobre 6, 2023, 9:55 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/28 "2023-10-06T09:55:42Z")

</div>

Quand je fais  
`a2enmod userdir`  
`ERROR: Config file userdir.conf not properly enabled: /etc/apache2/mods-enabled/userdir.conf is a real file, not touching it`

nano /etc/apache2/mods-available/userdir.conf

```
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root

<Directory /home/*/public_html>
        AllowOverride FileInfo AuthConfig Limit Indexes
#AllowOverride all      
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        Require method GET POST OPTIONS
</Directory>
</IfModule>

```

Dois je supprimer celui dans /etc/apache2/mods-enabled/userdir.conf

J’ai toujours localhost  
403 forbidden

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Octobre 6, 2023, 10:12 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/29 "2023-10-06T10:12:48Z")

</div>

dans `mod-enabled` ce ne sont que des liens. Si tu as un fichier c’est ujne erreur.  
Il faut effacer le fichier qui s’y trouve et a2enmod fera le reste  
On ne modifie que les `available`. Les `enabled` sont gérés par les commandes apache.

---

<div class="post-metadata">

**Author:** ![Lissteck](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/5f8ce5/32.png) [@Lissteck](https://www.debian-fr.org/u/Lissteck)\
**Post date:** [Octobre 6, 2023, 10:38 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/30 "2023-10-06T10:38:13Z")

</div>

Merci pour ton aide

` # rm /etc/apache2/mods-enabled/userdir.conf`

```
# a2enmod userdir
Enabling module userdir.
To activate the new configuration, you need to run:
  systemctl restart apache2

```

` # systemctl restart apache2.service`

Je n’ai plus cette erreur d’activation userdir…

mais j’ai maintenant 404 not found et plus 403 forbidden

---

<div class="post-metadata">

**Author:** ![Lissteck](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/5f8ce5/32.png) [@Lissteck](https://www.debian-fr.org/u/Lissteck)\
**Post date:** [Octobre 6, 2023, 11:42 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/31 "2023-10-06T11:42:49Z")

</div>

Quoi que y a quelques changements  
…  
Je vais analyser ca, certains fichiers ou dossiers sont listé dans le browser §? comme si tout n’était pas visible

---

<div class="post-metadata">

**Author:** ![kro](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kro/32/7458_2.png) [@kro](https://www.debian-fr.org/u/kro)\
**Post date:** [Octobre 7, 2023, 11:26 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/32 "2023-10-07T11:26:12Z")

</div>

concernant les permissions pour un serveur http sous linux, ce qui est généralement recommandé, d’après la [réponse qui a eu le plus de votes positifs](https://serverfault.com/a/357109) sur serverfault, quand on travaille seul sur la machine (que ce soit un serveur de prod ou de dev) c’est que les fichiers appartiennent à soi-même - l’utilisateur courant - et au groupe _www-data_.

ce qui donne

```
sudo chown -R $USER:www-data /var/www/site

```

ensuite l’utilisateur doit pouvoir lire et modifier les fichiers, mais www-data seulement lire :

```
chmod -R a-rwx,u+rwX,g+rX /var/www/site

```

sauf pour les répertoires d’upload, cache etc. sur lesquels apache doit pouvoir écrire :

```
chmod -R g+w /var/www/site/upload

```

(j’ai aussi résumé le truc sur la [doc ubuntu](https://doc.ubuntu-fr.org/apache2#permissions).)

ensuite je déconseille de jouer au petit poucet avec des symlinks inutiles : la directive `DocumentRoot`existe très exactement pour indiquer où se trouve la racine du site, autant en profiter pour indiquer direct le bon endroit.  
ça évite aussi au passage de servir des fichiers qui se situent au dessus de la racine voulue par les développeurs (un répertoire qui s’appelle souvent `public`, `public_http` ou un truc du genre pour les applications bien conçues) - ce qui évite aussi par la même occase de poser des problèmes de sécurité en rendant accessible du contenu qui n’est pas toujours sensé l’être.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Octobre 7, 2023, 1:19 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/33 "2023-10-07T13:19:13Z")

</div>

non ce n’est pas valable avec l’utilisation du module userdir.

---

<div class="post-metadata">

**Author:** ![kro](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kro/32/7458_2.png) [@kro](https://www.debian-fr.org/u/kro)\
**Post date:** [Octobre 7, 2023, 1:58 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/34 "2023-10-07T13:58:25Z")

</div>

avec `mod_userdir` les droits sont ceux de l’utilisateur par défaut ? dans ce cas pas d’histoire de `www-data` ou de gérer différemment le groupe effectivement. les fichiers et répertoires doivent juste appartenir à l’utilisateur, comme ça doit en principe être le cas de tout ce qui se trouve sous `$HOME`.

pour `www-data` ça reste vrai le reste du temps, à moins qu’on soit plusieurs mainteneur·euse·s ou développeur·euse·s à bosser sur la même machine, ou sauf pour les applications développées avec les pieds (comme WordPress).

tu as mentionné les problèmes que pose `mod_userdir`, c’est quand même une drôle d’idée de l’utiliser en 2023 ! si un·e utilisateur·ice veut accéder ou partager des fichiers sur le web il y a des solutions beaucoup plus modernes, pratiques et sécurisées (seafile, nextcloud, etc.).

Sauf erreur je crois malheureusement pas que @Lissteck nous ait indiqué l’idée et le contexte général.

---

<div class="post-metadata">

**Author:** ![kro](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kro/32/7458_2.png) [@kro](https://www.debian-fr.org/u/kro)\
**Post date:** [Octobre 7, 2023, 2:03 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/35 "2023-10-07T14:03:10Z")

</div>

> [@Lissteck](#):
>
> dans ma vielle expérience, on ne donne pas des droits utilisateur a /var/www/gestech, et c’est pour cela que je souhaiterais avoir mes repertoire et fichiers dans /home/\*/public\_html

là typiquement non, on est clairement dans un cas ordinaire et absolument pas besoin de `mod_userdir`, on ferait mieux d’appliquer les conseils généraux pour apache ou autre serveur web, à base de ressources qui appartiennent à `$USER` et au groupe `www-data` !

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Octobre 7, 2023, 3:46 UTC](https://www.debian-fr.org/t/apache-et-acces-www/88752/36 "2023-10-07T15:46:59Z")

</div>

> [@kro](#):
>
> avec `mod_userdir` les droits sont ceux de l’utilisateur par défaut ? dans ce cas pas d’histoire de `www-data` ou de gérer différemment le groupe effectivement. les fichiers et répertoires doivent juste appartenir à l’utilisateur, comme ça doit en principe être le cas de tout ce qui se trouve sous `$HOME` .

C’est ça.

> [@kro](#):
>
> > [@Lissteck](#):
> >
> > dans ma vielle expérience, on ne donne pas des droits utilisateur a /var/www/gestech, et c’est pour cela que je souhaiterais avoir mes repertoire et fichiers dans /home/\*/public\_html
> 
> là typiquement non, on est clairement dans un cas ordinaire et absolument pas besoin de `mod_userdir` , on ferait mieux d’appliquer les conseils généraux pour apache ou autre serveur web, à base de ressources qui appartiennent à `$USER` et au groupe `www-data` !

Soit c’est du classique et auquek cas pas de /home/_/public\_html, soit c’est du userdir et dans ce cas c’est /home/_/public\_html.

[Page précédente](https://www.debian-fr.org/t/apache-et-acces-www/88752.md?page=1)
