Je pense que pour une machine de développement, il est plus pratique de lancer Apache en tant qu'utilisateur courant pour simplifier le problème des permissions ? Comment faire ? Je pense que c'est suexec mais comment le configurer dans Ubuntu+Apache ?
Réponses
Trop de publicités?Modifiez le fichier suivant en tant que root : /etc/apache2/envvars
à l'aide de la commande :
sudo nano /etc/apache2/envvars
changez l'utilisateur et le groupe pour vous-même s'il n'y a qu'un seul utilisateur et vous n'aurez plus jamais de problèmes de permissions.
Par exemple, si vous ne vous connectez et ne faites fonctionner le serveur qu'en tant qu'utilisateur "big_dog" :
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=big_dog
D'ailleurs, vous pourriez changer cet utilisateur en l'utilisateur actuel, j'en suis sûr. Ensuite, en installant user_dir, vous avez tous les sites web dont vous êtes le seul à avoir le contrôle total (à moins que vous ne modifiiez ceci).
Redémarrez le serveur (si vous n'êtes pas sûr, redémarrez simplement le serveur ou goole) et vous êtes prêt à partir.
Vous pouvez le faire à l'aide de la fonction mpm_itk_module
module.
Installation sur Ubuntu 20.04 :
sudo apt install libapache2-mpm-itk
Créer un hôte virtuel pour les sites de votre dossier personnel
<VirtualHost codealfa:*>
ServerName codealfa
ServerAlias codealfa
DocumentRoot "/home/codealfa/www"
<IfModule mpm_itk_module>
AssignUserId codealfa codealfa
</IfModule>
<Directory /home/codealfa/www>
Options Indexes FollowSymLinks Includes ExecCGI
DirectoryIndex index.html index.php
Order deny,allow
Allow from all
Require all granted
</Directory>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Ajoutez votre domaine (dans ce cas, j'utilise le nom d'utilisateur comme domaine) à /etc/hosts
127.0.0.1 codealfa
Redémarrer apache
sudo systemctl restart apache2
Installez tous vos sites dans des sous-dossiers sous /home/codealfa/www
et y accéder dans votre navigateur à partir de http://codealfa/
. Par exemple, installer un site à /home/codealfa/www/site1
et vous pouvez la consulter dans votre navigateur à l'adresse suivante http://codealfa/site1/
.
Pourquoi faire cela, j'ai eu des problèmes de perm dans le passé, mais c'est mon processus de développement à partir d'aujourd'hui :
-
installer une nouvelle machine linux (virtuelle ou locale comme un ordinateur portable)
-
norme d'exécution
sudo apt-get install lamp-server^
proc pour faire monter la lampe -
faire un lien sym vers mon répertoire personnel où se trouvent les projets de ce type :
ln -s /home/user/html /var/www/html
-
faire un lien sym vers le fichier de configuration des hôtes
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
c'est tout :)
Il fonctionne comme prévu, pas de problèmes avec les perms des utilisateurs ou quelque chose de similaire avec le serveur apache, pour mysql j'ai un processus un peu plus long
hth, cheers
En dehors de la question "devriez-vous faire cela", vous pouvez trouver où l'utilisateur pour apache est défini en exécutant :
grep www- /etc/apache2/apache2.conf
Il s'agit ensuite de modifier ces instances dans le fichier /etc/apache2/apache2.conf
et de recharger Apache ( sudo /etc/init.d/apache2 reload
).
- Réponses précédentes
- Plus de réponses