Modification de Apache : Suexec pour un vhost spécifique

Attention : vous n’êtes pas connecté(e). Votre adresse IP sera visible de tout le monde si vous faites des modifications. Si vous vous connectez ou créez un compte, vos modifications seront attribuées à votre propre nom d’utilisateur(rice) et vous aurez d’autres avantages.

La modification peut être annulée. Veuillez vérifier les différences ci-dessous pour voir si c’est bien ce que vous voulez faire, puis publier ces changements pour finaliser l’annulation de cette modification.

Version actuelle Votre texte
Ligne 1 : Ligne 1 :
{{ArticleHead|Adadov}}
 
{{Obsolète
== Introduction ==
| cause = La gestion des utilisateurs se fait via PHP-FPM
| nouveau = LAMP: Utiliser un utilisateur spécifique pour un vhost
}}


Il existe de multiples cas où on a besoin que le serveur Apache puisse écrire sur des fichiers, dans ce cas on donne généralement le droit à l'utilisateur Apache sur ce fichier et c'est tout.<br />
Il existe de multiples cas où on a besoin que le serveur Apache puisse écrire sur des fichiers, dans ce cas on donne généralement le droit à l'utilisateur Apache sur ce fichier et c'est tout.<br />
Ligne 9 : Ligne 6 :


C'est justement dans ce dernier cas qu'il devient utile que ces scripts soient lancés avec les droits de l'utilisateur qui sert au webmaster au lieu de l'utilisateur Apache.
C'est justement dans ce dernier cas qu'il devient utile que ces scripts soient lancés avec les droits de l'utilisateur qui sert au webmaster au lieu de l'utilisateur Apache.
{{-}}
 
== Présentation ==
== Présentation ==


Ligne 25 : Ligne 22 :
Sous CentOS l'installation se fait très simplement, mod_fcgid est disponible directement sur les repository de la distribution et mod_suphp est disponible sur rpmforge.
Sous CentOS l'installation se fait très simplement, mod_fcgid est disponible directement sur les repository de la distribution et mod_suphp est disponible sur rpmforge.


{{LxTerm|user=root|text=yum install mod_fcgid
{{LinuxTerminal2|user=root|text=yum install mod_fcgid
yum install mod_suphp}}
yum install mod_suphp}}


Ligne 34 : Ligne 31 :


Ensuite il faut configurer les vhosts, pour ça j'ai fait un template afin de simplifier la création de nouveau vhosts.
Ensuite il faut configurer les vhosts, pour ça j'ai fait un template afin de simplifier la création de nouveau vhosts.
 
<file>
<syntaxhighlight lang="apache">
<VirtualHost *:80>
<VirtualHost *:80>


Ligne 63 : Ligne 59 :
</Directory>
</Directory>
</IfModule>
</IfModule>
</VirtualHost>
</VirtualHost>
</syntaxhighlight>
</file>
 
  {DOM} = Le nom de domaine associé au vhosts.
  {DOM} = Le nom de domaine associé au vhosts.
  {FOLD} = Le nom du dossier où se trouve le site.
  {FOLD} = Le nom du dossier où se trouve le site.
Ligne 71 : Ligne 67 :
  {GID} = Le groupe qui servira pour l'exécution des scripts.
  {GID} = Le groupe qui servira pour l'exécution des scripts.


{{Info|Dans le cas où le vhost ne serait disponible que pour un nom d'hôte particulier, il faudrait enlever la ligne '''ServerAlias''' et adapter le '''ServerName'''}}
{{Info|tip=Dans le cas où le vhost ne serait disponible que pour un nom d'hôte particulier, il faudrait enlever la ligne '''ServerAlias''' et adapter le '''ServerName'''}}


== Les Wrapper ==
== Les Wrapper ==
Ligne 78 : Ligne 74 :
Il doit absolument se situer dans un dossier dont les uid et gid sont identiques à ceux entrés dans la configuration d'Apache et aux siens.<br />
Il doit absolument se situer dans un dossier dont les uid et gid sont identiques à ceux entrés dans la configuration d'Apache et aux siens.<br />
Il contiendra la définition de plusieurs variables pour PHP et la ligne de commande pour l'exécution.
Il contiendra la définition de plusieurs variables pour PHP et la ligne de commande pour l'exécution.
<syntaxhighlight lang="bash">
<source lang="bash">
#!/bin/sh
#!/bin/sh
export PHPRC=/web/config/{UID}
export PHPRC=/web/config/{UID}
Ligne 84 : Ligne 80 :
export PHP_FCGI_CHILDREN=1
export PHP_FCGI_CHILDREN=1
exec /usr/bin/php-cgi
exec /usr/bin/php-cgi
</syntaxhighlight>
</source>


On oubliera pas de spécifier un chemin vers un fichier php.ini particulier afin de pouvoir redéfinir certaines options comme on le souhaite et éviter ainsi des problèmes.
On oubliera pas de spécifier un chemin vers un fichier php.ini particulier afin de pouvoir redéfinir certaines options comme on le souhaite et éviter ainsi des problèmes.
Ligne 99 : Ligne 95 :


[[Category:SysAdmin]]
[[Category:SysAdmin]]
[[Catégorie:Serveur Web]]
[[Catégorie:Apache|Suexec]]
Notez bien que toutes les contributions à Adadov.net wiki peuvent être modifiées, transformées ou supprimées par d’autres utilisateurs. Si vous ne désirez pas que vos écrits soient modifiés contre votre gré, merci de ne pas les soumettre ici.
Vous nous promettez aussi que vous avez écrit ceci vous-même ou que vous l’avez copié d’une source placée dans le domaine public ou d’une ressource libre similaire (voir AdadovNet:Copyrights pour plus de détails). N’utilisez aucun travail sous droits d’auteur sans autorisation expresse !
Annuler Aide pour la modification (s’ouvre dans une nouvelle fenêtre)