Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/01/2019, à 18:36

arno_lupin

les droits d'accès avec apache

Bonjour,

Je souhaiterais pouvoir faire fonctionner mon site et le modifier dans mon dossier /home/user1/www
avec l'utilisateur user1

Je voudrais surtout comprendre comment ça marche

Je crois qu'apache2 utilise le groupe www-data, mais comment faire en sorte qu'il pointe vers
/home/user1/www et qu'il y ait accès même si mes fichiers appartiennent à user1 ?

J'ai essayé de créer un fichier /etc/apache2/sites-available/mon.site
et de modifier  /etc/apache2/sites-available/000-default.conf
mais j'ai tjrs une erreur 403
         Forbidden
         You don't have permission to access / on this server.
avec 'localhost'  dans firefox

Quelqu'un pourrait-il m'expliquer comment tout ça s'articule ?
Ou me donner quelques liens utiles ?


Ubuntu 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0

Hors ligne

#2 Le 08/01/2019, à 19:20

bruno

Re : les droits d'accès avec apache

Bonjour,

Pour commencer regarde la doc apache wink

Hors ligne

#3 Le 08/01/2019, à 20:02

arno_lupin

Re : les droits d'accès avec apache

merci, Bruno.
J'avais déjà lu cette doc.
Le problème c'est que je ne comprends pas tout... :'(

J'ai créé un fichier mon.site.conf dans sites-available
ensuite

user1@pc:~$ sudo a2ensite mon.site
Enabling site mon.site.
To activate the new configuration, you need to run:
  systemctl reload apache2                        ### je ne sais pas trop ce que je fais mais ça à l'air de marcher.
user1@pc:~$ sudo systemctl reload apache2               ### aurais-je du le faire sans sudo ?
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.                   ### que ce passe-t-il ?
user1@pc:~$ /etc/init.d/apache2 reload          ### j'ai essayé avec et sans droits 'su' : même résultat
[....] Reloading apache2 configuration (via systemctl): apache2.serviceJob for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
 failed!
user1@pc:~$

Je n'arrête pas de faire des trucs sans vraiment comprendre et la doc ne m'aide pas beaucoup.
Il y a trop de concepts qui m'échappent (ou peut-être que je suis un peu plus lent que la moyenne wink ).


Ubuntu 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0

Hors ligne

#4 Le 08/01/2019, à 20:43

arno_lupin

Re : les droits d'accès avec apache

bon...
à priori il y avait des erreurs dans mon.site.conf
( des commentaires à supprimer )
J'ai pu relancé apache mais j'ai tjrs une erreur Forbidden ...

j'ai mis user1 dans le groupe www-data, je ne sais pas si c'est utile.

dans la doc que m'a conseillé Bruno (que j'ai relu attentivement)
il est indiqué :

Erreur 403
Une erreur 403 indique un problème d'autorisation.
*   Vérifiez les permissions concernant les fichiers du contenu web que vous souhaitez partager vis-à-vis de l'utilisateur et du groupe www-data.
*  Vérifiez aussi la valeur de la directive Require : Require all granted pour toujours autoriser l'accès aux ressources.
*   Il est aussi possible que cette erreur soit affichée faute de fichier index.

*  mon index.html ne contient que quelques lignes :
je l'ai mis dans /home/user1/www/index.html   > ( il appartient à user1 )
et dans /home/user1/www/mon.site/index.html  > ( juste au cas où... )

* la directive Require ? mais c'est quoi ce machin et où on la trouve ?

* les permissions des fichiers du contenu web.
je suppose que ce sont les permissions de index.html, dois-je les modifier ?


Ubuntu 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0

Hors ligne

#5 Le 08/01/2019, à 20:49

bruno

Re : les droits d'accès avec apache

Il faut que tu nous donnes le contenu de ton fichier mon.site.conf et le retour de la commande :

ls -l  /home/user1/www/

pour voir les droits d'accès (permissions) sur tes fichiers.

Hors ligne

#6 Le 08/01/2019, à 21:06

arno_lupin

Re : les droits d'accès avec apache

mon.site.conf :

<VirtualHost *:80>
# Basic Settings
        ServerAdmin toto@truc.fr
        ServerName  mon.site:80
        DocumentRoot /home/user1/www/
        AddDefaultCharset utf-8
        ServerSignature off

# Log Settings
        ErrorLog /var/log/apache2/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel notice
        CustomLog /var/log/apache2/access.log combined

<Directory /home/user1/www/>
         Options Indexes
         AllowOverride None
         Order allow,deny
         Allow from all
         #Deny from All
</Directory>

la commande ls :

user1@pc:~$ ls -l /home/user1/www/
total 12
drwxrwxr-x 2 user1 user1 4096 janv.  8 19:39 mon.site
-rw-rw-r-- 1 user1 user1  120 janv.  8 17:36 index.html
-rw-rw-r-- 1 user1 user1  120 janv.  8 17:36 test.html

Ubuntu 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0

Hors ligne

#7 Le 09/01/2019, à 16:23

arno_lupin

Re : les droits d'accès avec apache

J'ai tenté

user1@pc:~$ sudo chgrp -R www-data /home/user1/www
[sudo] Mot de passe de user1 : 
user1@pc:~$ ls -li www
total 12
22347806 drwxrwxr-x 2 user1 www-data 4096 janv.  8 19:39 mon.site
22288491 -rw-rw-r-- 1 user1 www-data  120 janv.  8 17:36 index.html
22293516 -rw-rw-r-- 1 user1 www-data  120 janv.  8 17:36 test.html
user1@pc:~$ /etc/init.d/apache2 reload
[ ok ] Reloading apache2 configuration (via systemctl): apache2.service.
user1@pc:~$ 

ça ne change rien, je suis revenu à mes droits précédent sad

à tout hasard, je vous communique mes fichiers log

user1@pc:~$ tail /var/log/apache2/access.log
127.0.0.1 - - [09/Jan/2019:03:42:02 +0100] "GET / HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
127.0.0.1 - - [09/Jan/2019:03:46:04 +0100] "GET / HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
127.0.0.1 - - [09/Jan/2019:06:40:41 +0100] "GET / HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
127.0.0.1 - - [09/Jan/2019:15:54:24 +0100] "GET / HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
127.0.0.1 - - [09/Jan/2019:15:54:25 +0100] "GET /favicon.ico HTTP/1.1" 403 511 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
127.0.0.1 - - [09/Jan/2019:15:54:26 +0100] "GET / HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
127.0.0.1 - - [09/Jan/2019:15:56:12 +0100] "GET / HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
127.0.0.1 - - [09/Jan/2019:16:02:23 +0100] "GET / HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
127.0.0.1 - - [09/Jan/2019:16:02:23 +0100] "GET /favicon.ico HTTP/1.1" 403 511 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
127.0.0.1 - - [09/Jan/2019:16:03:14 +0100] "GET / HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
user1@pc:~$ tail /var/log/apache2/error.log
[Wed Jan 09 15:54:25.186939 2019] [authz_core:error] [pid 16933:tid 139776975935232] [client 127.0.0.1:42286] AH01630: client denied by server configuration: /home/user1/www/favicon.ico
[Wed Jan 09 15:54:26.926155 2019] [authz_core:error] [pid 16933:tid 139776816572160] [client 127.0.0.1:42288] AH01630: client denied by server configuration: /home/user1/www/
[Wed Jan 09 15:56:09.212884 2019] [mpm_event:notice] [pid 20579:tid 139777433217984] AH00493: SIGUSR1 received.  Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
[Wed Jan 09 15:56:09.216801 2019] [mpm_event:notice] [pid 20579:tid 139777433217984] AH00489: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Wed Jan 09 15:56:09.216809 2019] [core:notice] [pid 20579:tid 139777433217984] AH00094: Command line: '/usr/sbin/apache2'
[Wed Jan 09 15:56:12.729995 2019] [authz_core:error] [pid 22376:tid 139777344726784] [client 127.0.0.1:42290] AH01630: client denied by server configuration: /home/user1/www/
[Wed Jan 09 16:02:23.604542 2019] [authz_core:error] [pid 22376:tid 139777327941376] [client 127.0.0.1:42304] AH01630: client denied by server configuration: /home/user1/www/
[Wed Jan 09 16:02:23.924980 2019] [authz_core:error] [pid 22376:tid 139777319548672] [client 127.0.0.1:42304] AH01630: client denied by server configuration: /home/user1/www/favicon.ico
[Wed Jan 09 16:03:14.330020 2019] [authz_core:error] [pid 22376:tid 139777017898752] [client 127.0.0.1:42308] AH01630: client denied by server configuration: /home/user1/www/
user1@pc:~$

Il me semble avoir lu qu'il existe un module appelé userdir qui permettrait à un utilisateur lambda de travailler sur un site.
Dois-je me pencher sur cette piste ?

Ce n'est pas encore le cas, mais à terme j'aimerais travailler sur un site qui a été conçu avec joomla et qui est en https. Est-ce que ça va me poser problème ? Dois-je dors et déjà modifier mon.site.conf de façon à ce qu'il regarde aussi sur le port 443 ?


Ubuntu 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0

Hors ligne

#8 Le 09/01/2019, à 16:39

bruno

Re : les droits d'accès avec apache

Un problème à la fois… (tu n'as pas besoin de https en local, peu importe comment fonctionne le site distant)

Petites corrections pour l'hôte virtuel :

<VirtualHost *:80>
# Basic Settings
        ServerAdmin toto@truc.fr
        ServerName  mon.site
        DocumentRoot /home/user1/www/
        AddDefaultCharset utf-8
        ServerSignature off

# Log Settings
        ErrorLog /var/log/apache2/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel notice
        CustomLog /var/log/apache2/access.log combined

<Directory /home/user1/www/>
         Options +Indexes
         AllowOverride all
         Require all granted
</Directory>
</VirtualHost>

Enregistre et recharge Apache.

À première vue les droits d'accès sont suffisants pour qu'apache puisse lire le fichier /home/user1/www/index.html
Mais comme tu as toujours une erreur 403, il faut vérifier que chaque dossier de l'arborescence est accessible en lecture à tous :

ls -al /home
ls -al /home/user1
ls -al /home/user1/www

Dernière modification par bruno (Le 09/01/2019, à 16:41)

Hors ligne

#9 Le 09/01/2019, à 17:27

arno_lupin

Re : les droits d'accès avec apache

J'ai modifié mon.site.conf avec le fichier que tu m'as donné et relancé apache :

user1@pc:~$ sudo pluma /etc/apache2/sites-available/mon.site.conf 
[sudo] Mot de passe de user1 : 
user1@pc:~$ /etc/init.d/apache2 reload
[ ok ] Reloading apache2 configuration (via systemctl): apache2.service.
user1@pc:~$

J'ai toujours une erreur 403 ... :'(

user1@pc:~$ ls -al /home
total 28
drwxr-xr-x  4 root root  4096 oct.  26  2016 .
drwxr-xr-x 26 root root  4096 déc.  20 18:25 ..
drwxr-xr-x 64 user1 user1  4096 janv.  9 15:53 user1
drwx------  2 root root 16384 oct.  26  2016 lost+found
user1@pc:~$ ls -al /home/user1
total 651948
   ...
drwxrwxr-x  3 user1 www-data      4096 janv.  8 19:39  www
   ...
user1@pc:~$ ls -al /home/user1/www
total 20
drwxrwxr-x  3 user1 www-data 4096 janv.  8 19:39 .
drwxr-xr-x 64 user1 user1     4096 janv.  9 15:53 ..
drwxrwxr-x  2 user1 www-data 4096 janv.  8 19:39 mon.site
-rw-rw-r--  1 user1 www-data  120 janv.  8 17:36 index.html
-rw-rw-r--  1 user1 www-data  120 janv.  8 17:36 test.html
user1@pc:~$ 

Comme tu peux le voir, j'ai finalement laissé le groupe à www-data, est-ce utile ? ou dois-je revenir à user1 ?


Ubuntu 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0

Hors ligne

#10 Le 09/01/2019, à 17:50

bruno

Re : les droits d'accès avec apache

Je ne vois pas de problème de droits d'accès. Tu as toujours une erreur 403 ?

Hors ligne

#11 Le 09/01/2019, à 17:54

arno_lupin

Re : les droits d'accès avec apache

Oui, toujours cette fichue erreur 403...

Peut-être est-ce un problème avec mon 000-default.conf ? ( je t'épargne les commentaires )

<VirtualHost *:80>
	ServerAdmin webmaster@localhost
#	DocumentRoot /var/www/html
	DocumentRoot /home/user1/www
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Ubuntu 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0

Hors ligne

#12 Le 09/01/2019, à 18:09

bruno

Re : les droits d'accès avec apache

Ah oui, il fait double emploi avec l'autre puisqu'il sert le même dossier.
Désactive-le :

sudo a2dissite 000-default.conf
sudo systemctl reload apache2

Hors ligne

#13 Le 09/01/2019, à 18:24

arno_lupin

Re : les droits d'accès avec apache

Eureka ! ça fonctionne enfin ! smile
Merci beaucoup bruno !

Quelques questions, si tu me permets :
> Est-ce que mon

sudo chgrp -R www-data /home/user1/www

est utile ?
Si c'est le cas, dois-je le lancer à chaque petite modif ?
> Si un jour, je veux mettre à disposition mon site sur le web, n'aurais-je pas des problèmes de sécurités ?


Ubuntu 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0

Hors ligne

#14 Le 09/01/2019, à 18:29

bruno

Re : les droits d'accès avec apache

Difficile à dire si c'est utile ou pas, cela dépend de ton usage.
Si apache à besoin d'écrire dans les dossiers ou de modifier des fichiers cela peut être utile avec des droits rw pour le groupe (ce qui semble être le cas). Il ya d'autres solutions comme celle de mattre l'utilisateur www-data dans le groupe user1 (toujours avec des droits rw pour le groupe)

Pour la sécurité, les impératifs ne sont évidemment pas les mêmes sur une machine de dév non accessible de l'extérieur et sur un serveur web en production wink

Hors ligne

#15 Le 09/01/2019, à 18:48

arno_lupin

Re : les droits d'accès avec apache

Encore un grand merci !
j'ai fait un

sudo chgrp -R user1 /home/user1/www

et ça marche très bien.
user1 est dans le groupe www-data
mais je n'ai pas mis www-data dans le groupe user1

En fait, pour la mise à disposition, j'aimerais juste pouvoir montrer le site à une seule personne et de manière ponctuelle.
Est-ce possible ?


Ubuntu 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0

Hors ligne

#16 Le 09/01/2019, à 20:31

arno_lupin

Re : les droits d'accès avec apache

J'ai enlevé user1 du groupe www-data et ça marche toujours.
heu... pourquoi ?

[edit]
bon... c'était une question très bête. J'ai révisé un grand coup les droits d'accès. Sujet que je "pensais" vaguement maîtriser.
Évidement, l'utilisateur www-data doit être dans le groupe user1 l'inverse étant totalement inutile.

J'ai installé php mysql-server phpmyadmin pour pouvoir installer joomla.
Je décompresse mon archive dans www :

user1@pc:~$ ls -l www/joomla/
total 108
drwx------ 11 user1 user1  4096 nov.  27 17:02 administrator
drwx------  2 user1 user1  4096 nov.  27 17:02 bin
drwx------  2 user1 user1  4096 nov.  27 17:02 cache
drwx------  2 user1 user1  4096 nov.  27 17:02 cli
drwx------ 20 user1 user1  4096 nov.  27 17:02 components
-rw-rw-r--  1 user1 user1  3005 nov.  27 17:02 htaccess.txt
drwx------  5 user1 user1  4096 nov.  27 17:02 images
drwx------  2 user1 user1  4096 nov.  27 17:02 includes
-rw-rw-r--  1 user1 user1  1420 nov.  27 17:02 index.php
drwx------ 14 user1 user1  4096 nov.  27 17:02 installation
drwx------  5 user1 user1  4096 nov.  27 17:02 language
drwx------  5 user1 user1  4096 nov.  27 17:02 layouts
drwx------ 12 user1 user1  4096 nov.  27 17:02 libraries
-rw-rw-r--  1 user1 user1 18092 nov.  27 17:02 LICENSE.txt
drwx------ 29 user1 user1  4096 nov.  27 17:02 media
drwx------ 27 user1 user1  4096 nov.  27 17:02 modules
drwx------ 19 user1 user1  4096 nov.  27 17:02 plugins
-rw-rw-r--  1 user1 user1  4883 nov.  27 17:02 README.txt
-rw-rw-r--  1 user1 user1   836 nov.  27 17:02 robots.txt.dist
drwx------  5 user1 user1  4096 nov.  27 17:02 templates
drwx------  2 user1 user1  4096 nov.  27 17:02 tmp
-rw-rw-r--  1 user1 user1  1690 nov.  27 17:02 web.config.txt
user1@pc:~$ 

Comme vous pouvez le constater mes dossiers n'ont pas les bons droits d'accès sur le groupe.

user1@pc:~$ chmod -R g+wrX www/joomla/

un chmod règle le problème, mais vais-je devoir lancer cette commande à chaque modif ?
Ou existe-t-il une méthode pour s'en sortir autrement ?

Dernière modification par arno_lupin (Le 09/01/2019, à 23:37)


Ubuntu 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0

Hors ligne