Sécuriser votre serveur Web avec 2 modules apache : suEXEC et suPHP
Dans ce tuto vidéo (sommaire ici), nous allons voir comment installer et configurer 2 extensions apache, suEXEC et suPHP, qui permettent d’augmenter la sécurité de votre serveur. Par défaut, lorsque apache travaille sur un fichier ou un script php, il le fait en tant qu’utilisateur www-data (l’utilisateur apache du système, qui possède des droits particuliers). Le problème, c’est que si un de ces scripts est mal conçu et possède une faille de sécurité, un pirate peut avoir accès à cet utilisateur système qui possède des droits importants.
Les extensions suEXEC et suPHP permettent de remédier à ce problème. En effet, avec ces extensions le serveur web travaille sur ces fichiers avec l’utilisateur propriétaire des fichiers (qui possèdent des droits classiques). Si vous avez suivi depuis le début de mes vidéos sur le serveur dédié, vous devriez déjà avoir une configuration similaire, c’est-à-dire : un site = un utilisateur. C’est maintenant que ça prend tout sont sens, car ça va nous simplifier grandement les choses.
En plus d’améliorer la sécurité, ces 2 modules permettent de régler certains problèmes avec vos scripts et CMS comme WordPress. En effet, sur WordPress pour mettre à jour son blog ou ajouter des extensions, on peut utiliser un script qui le fait de manière automatique. Le problème, c’est que ce script doit pouvoir créer des fichiers sur votre serveur, ce qui n’est pas possible si l’utilisateur qui exécute le script est www-data (puisque le dossier appartient à l’utilisateur qui possède le site).
(Pour la version Dailymotion, cliquez sur ce lien)
Vous pouvez télécharger la vidéo en cliquant sur l’image ci-dessous.

Installation de suEXEC
Le premier module à installer est suEXEC, c’est lui qui permet de lancer les scripts de types CGI avec l’utilisateur qui possède le script. L’installation se fait en 2 temps :
apt-get install apache2-suexec apt-get install apache2-suexec-custom
En ce qui concerne la configuration c’est très simple, un fichier à éditer ici /etc/apache2/suexec/www-data. Sur la première ligne vous placer le chemin du dossier qui contient tout vos sites web, dans notre cas « /home ». Sur la seconde ligne, vous placer le dossier qui contient tout les fichiers du site web, par défaut c’est « public_html » mais comme nous avons modifié /etc/apache2/mods-available/userdir.conf, c’est « www ».
Installation de suPHP
On doit ensuite installer suPHP qui permet d’exécuter les scripts php avec l’utilisateur propriétaire. Il est dépendant de suEXEC, vous devez donc installer et configurer suEXEC d’abord.
apt-get install libapache2-mod-suphp
Au niveau de la configuration, encore une fois c’est très simple, il suffit d’éditeur /etc/suphp/suphp.conf.
# Le nom de l'user qui lance apache
webserver_user=www-data
# Le chemin de vos scripts
docroot=/var/www:${HOME}/www
# Des vérif qui pose des soucis par la suite
# notamment lorsqu'on essaye d'accéder
# à un site avec site.com/~username
check_vhost_docroot=false
Modification des virtualhosts
On doit modifier tout les fichiers virtualhosts de nos différents sites pour préciser à suPHP avec quel utilisateur et groupe il doit exécuter les scripts. C’est à cette étape que ça devient compliqué si vous n’avez pas suivi mes conseils de « 1 site = 1 utilisateur ».
Avant de faire les modif, vous devez désactiver le module php5 d’apache pour que suPHP prenne la relève. Pour cela un petit a2dismod php5 fait l’affaire.
Vous devez donc ajouter sur chaque fichier virtualhost de vos sites (sauf default), cette ligne :
# Nom d'utilisateur, nom du groupe, généralement identique SuexecUserGroup tutorielvideo tutorielvideo
Problèmes avec les htaccess && erreur 500
Lorsqu’on installe suEXEC et suPHP on rencontre plusieurs problèmes. Comme on est obligé de désactiver php5 pour que suPHP prenne le relais, on doit refaire tout nos fichiers .htaccess. En effet, toute les directives spécifiques à php (donc celle qui commence par php_flag ou php_value) feront planter le .htaccess et provequera une erreur 500. Ça vient tout simplement du fait qu’apache ne sait pas quoi faire, pour lui php n’est pas installé, donc il ne connaît pas ces directives.
La solution est de créer un fichier php.ini à la racine de votre site avec toutes les configurations pour php et de placer ce bout de code dans votre fichier .htaccess en prenant garde de bien noter le chemin absolue vers la racine de votre site.
<IfModule mod_suphp.c> suPHP_ConfigPath /home/roundcube/www </IfModule>
Et voici, par exemple, la ligne qu’il faut ajouter dans le fichier php.ini pour Roundcube : suhosin.session.encrypt=Off. La syntaxe est légèrement différentes des .htaccess, donc si vous avez du mal à comprendre, je vous renvoie sur cette page de la documentation PHP qui explique toutes les directives que l’on peut mettre dans un fichier php.ini.
Voilà, ce tutoriel est terminé, n’hésitez pas à faire vos propres recherches pour augmenter la sécurité de votre serveur. Vous pouvez par exemple creuser du côté du module apache pour la sécurité (mod_security), ou bien Chrooter tous les répertoires home des utilisateurs, installer l’application « snort », désactiver les services inutiles, surveiller les logs régulièrement et etc… .
Si vous avez des questions, n’hésitez pas à laisser un commentaire. Si vous avez apprécié le tutoriel, vous pouvez le partager sur Twitter/Facebook et rejoindre la page facebook du blog.
Je vous recommande aussi la lecture des sujets suivants :
Publié le 31 août 2011 par Madrzejewski Alexis dans Serveur Dédié
51 commentaires
Ajouter un commentaire
Ici les commentaires sont en DoFollow, profitez-en mais en abusez pas !
Veuillez ne pas poster de code (php, html ou autre) car il sera bloqué par le site.
Les commentaires ne sont pas immédiatement validés.
Merci de faire une recherche sur Google avant de poser une question.

Pingback: Installation et configuration d’un serveur dédié | Tutoriels-Video
Encore une fois un super tutoriel
Moi j’ai juste une question car je trouve ca bizarre venant de ta part. Tu sécurise tout. Mais pas le /phpmyadmin qui est quand même il des plus grosse faille. et une des plus connus accéssible a tout le monde :/
Comment regler ce probleme? est ce que l’on modifie juste le nom du fichier ? pour le trouvé plus difficilement ? ou d’autre solution ?
Sur mon serveur dédié qui va héberger le site, j’ai ajouter un .htaccess avec mot de passe. L’avantage c’est que ça génère des logs dés qu’un utilisateur tente de trouver le mot de passe à l’arrache et fail2ban le bannit au bout de 3-4 essais.
E puis, il y a à peine une semaine, je ne connaissais pas cette faille (honte sur moi, mais moi aussi je débute :p).
Pour accentuer la sécurité de phpmyadmin, il est également possible de le retirer de l’accès par défaut : /var/www/phpmyadmin.
Pour ma part ce n’était qu’un lien symbolique.
Par défaut (je crois) qu’il s’installe dans /usr/share/phpmyadmin.
Donc tu peux très bien crééer un hote virtuel dans apache pointant vers ton dossier, puis le protéger par un .htaccess et le mettre en https.
Et tu finis avec Fail2ban et là je pense que c’est vraiement pas mal (même si rien n’est impossible)
Bonjour,
Super tutoriel, moi qui débute aussi ça m’a vraiment aidé pour mon projet. Une petite précision cependant pour phpmyadmin, en ce qui me concerne après l’installation de suphp plus accès à phpmyadmin (puisqu’il appartient à l’utilisateur root) J’ai donc réactivé le module php5 d’apache en ayant pris soin de d’encadrer le ficher /etc/apache2/mods-available/php5.conf comme ceci :
//Ancien contenu du fichier
En ayant pris soin de commenter les autres directives directory du fichier qui ne me seront plus utile de toute façon. Depuis tout roule ! Je me suis basé sur le tuto suivant : http://doc.ubuntu-fr.org/suphp
Une méthode intéressante pour sécuriser phpmyadmin et de n’autoriser que les connections à celui via un tunnel ssh avec putty, voir : http://solutions-architecture.com/node/21
Petite précision par rapport à ce dernier tutoriel, chez moi l’adresse 127.0.0.1 ne fonctionnait pas, j’ai remplacé par localhost.
Bonjour,
Super tutoriel, comme d’habitude!!!
J’ai eu, évidemment, le même problème pour accéder à PhpMyAdmin et j’ai trouvé la solution pour moi sur Internet….http://www.tek-tips.com/viewthread.cfm?qid=1656077.
C’est simple il faut donner des droits à l’utilisateur « phpmyadmin » (suexec) dans le dossier /var/lib/phpmyadmin
Avant:
drwxr-xr-x 2 root root 4096 13 janv. 23:37 .
drwxr-xr-x 46 root root 4096 18 janv. 19:42 ..
-rw-r—– 1 root www-data 60 13 janv. 23:37 blowfish_secret.inc.php
-rw-r—– 1 root www-data 0 13 janv. 23:37 config.inc.php
Après:
drwxr-xr-x 2 root root 4096 13 janv. 23:37 .
drwxr-xr-x 46 root root 4096 18 janv. 19:42 ..
-rw-r—– 1 root phpmyadmin 60 13 janv. 23:37 blowfish_secret.inc.php
-rw-r—– 1 root phpmyadmin 0 13 janv. 23:37 config.inc.php
J’espère que cela fonctionnera pour tous les autres….
Bonjour,
Tout d’abord un grand merci pour ce super site !
J’aimerai bien mettre en place cette protection mais j’ai des sites qui ne possèdent pas de nom de domaine. Ils sont donc accessibles seulement par IP_SERVEUR/~NOM_SITE.
Dans ce cas comment fait-on pour appliquer ce tutoriel ? Car on ne peut pas faire de virtualhost pour y ajouter le SuexecUserGroup. J’ai tenté un ServerName IP_SERVEUR/~NOM_SITE mais ça ne fonctionne pas.
Si vous avez une idée, d’avance merci !
Bonjour,
Super tuto.
J’ai réussi à configurer roundcube et phpmyadmin, par contre je ne peux plus me connecter en ftp avec pure-ftpd. Quelles sont les manipulations à faire?
Merci d’avance
Bon soucis à moitié réglé, en vidant iptables ça fonctionne!!!
Donc juste une question, au démarrage de la machine, pour iptables j’ai :
Mise à zéro
Ajout des ports
Lancement de fail2ban
Est-ce fail2ban doit être lancer avant l’ajout des ports?
Merci
salut,
je découvre votre site et il y a plein de tutos très utiles.
je voudrais savoir un truc, vous dites :
« vous devriez déjà avoir une configuration similaire, c’est-à-dire : un site = un utilisateur. »
En effet j’ai un dossier /var/www/dossier/ dans lequels il y a 13 dossier correspondant a 13 site differents le propriétaire est webadmin www-data sur ces 13 dossier.
Comment faire et quell commande pour rendre
/var/www/dossier/dir1 proprietaire dir1
/var/www/dossier/dir2 proprietaire dir2
etc…
Et quelles droiy CHMOD mettre sur les dossier?
merci
Bonjour,
En fait, quand je dit « un site = un utilisateur », c’est pour ceux qui ont suivi mon tuto de A à Z, parce que généralement c’est un dossier par site dans /var/www comme vous le soulignez.
Si vous voulez faire comme moi, je pouvez créer un utilisateur par site et déplacer le dossier /var/www/site1 vers /home/site1/www. En suite pour donner les fichiers et les droits de manières récursive à l’utilisateur « site1″, la commande est : chown -R site1:site1 /home/site1.
Après, il y a sûrement moyen de faire un petit script bash, qui liste les dossiers dans /var/www, génère un utilisateur et déplace le contenu du site avec les bons droits. C’est pas super compliqué à scripter je pense.
Enfin, vous n’êtes pas obligé de mettre le contenu du site dans /home/site1 comme je l’indique. C’est juste que c’est plus simple pour le module userdir et personnellement je trouve ça plus propre.
Bonjour et encnre merci pour tes tutos !
je rencontre un problème avec phpmyadmin (comme sur ta vidéo). La phrase :
« Certaines fonctionnalités ayant trait aux tables reliées sont désactivées… » Apparaît en bas de la page index.
J’ai cherché pas mal sur le net et apparemment il faut configurer le fichier « /etc/phpmyadmin/config.inc.php » avec les lignes » $cfg['Servers'][$i]['pmadb'] = $dbname; …. ». Mais j’ai déjà ces lignes dans mon fichier.
J’ai l’impression que cela vient peut être de la config avec suphp etc… un problème de droit de fichier peut être…
Auriez-vous une idée ?
Bonjour,
C’est presque sur que c’est un problème à cause de suPHP ou suExec.
En fait, sur mon serveur perso j’ai également des messages d’erreurs dans phpmyadmin mais c’est plus des warning qu’autre chose et ça ne m’empêche pas d’utiliser phpmyadmin (genre suhosin error et j’ai pas la moindre idée de ce que c’est).
Du coup, est-ce vraiment un problème ou un warning ?
Au niveau des droits, j’ai créé un utilisateur phpmyadmin et j’ai copié les fichiers de /usr/share/phpmyadmin (ou similaire, je dis le chemin de tête la …) dans le répertoire /home/phpmyadmin/www/. Ensuite, il faut changer le groupe et l’utilisateur pour ces fichiers avec chown. (Idéalement : chown -R phpmyadmin:phpmyadmin /home/phpmyadmin pour attribuer des droits en récursif)
Après quoi il faut également modifier le fichier /etc/phpmyadmin/apache.conf pour modifier l’alias et/ou le document root pour le faire pointer vers /home/phpmyadmin/www.
Une autre méthode (peut être plus propre selon moi), consiste à faire un lien symbolique dans /home/phpmyadmin/www vers /usr/share/phpmyadmin. De cette manière pas besoin de copier les fichiers et pour les mises à jours c’est sans doute mieux. Par contre le chown -R phpmyadmin:phpmyadmin est toujours d’actualité.
Ok merci pour ta rapidité.
J’avoue que je ne sais pas si ça va me poser des problèmes par la suite mais je préfère régler ça avant on ne sais jamais. L’idée du lien symbolique est pas mal en effet. Je vais continuer à chercher et si j’ai la soluce je referais un tour par ici. Bonne continuation et vivement le prochain tutos… @+
Ok j’ai trouvé ! YESSS ! Vu que le Phpmyadmin s’exécute avec l’utilisateur phpmyadmin et non pas root par défaut, il faut donc donner les droits de lecture a l’utilisateur phpmyadmin sur le fichier « config-db.php » avec un petit : « chown phpmyadmin:www-data config-db.php ». Car dans le fichier de config.inc.php (qui lui ce charge bien) il y a un test de lecture avant d’inclure le fichier de config.
Du coup pensez vous qu’il serait préférable de passer tous les fichiers du dossier /etc/phpmyadmin à l’utilisateur phpmyadmin ? De plus j’essaye de voir pour le dernier message avec suhosin , je vous tient au courant…
salut j’ai installé suexec et suphp mais j’ai un petit probleme mon roundcube ne fonctionne plus j’ai suivi le tutos a plus de 20 fois et je refais la meme chose mais toujours rien alors que mon phpmyadmin et le php qui ne fonctionnait plus fonctionne . le seul probleme c’es roundcube je suis bloquer stp j’ai besoin de ton aide
Bonjour, alors à nouveau un souci..
Je souhaite afficher les erreurs sur le navigateur, je renseigne donc dans le fichier de conf de suphp errors_to_browser à true, mais toujours pas d’affichage d’erreur …
une idée ?
Salut,
Je pense qu’il faut éditer le fichier /etc/php5/cgi/php.ini qui contient la configuration de php losrqu’il est exécuté en cgi.
La ligne à chercher est display_errors = On, pour afficher les erreurs de php.
Bonsoir,
je confirme les propos d’alexis: le fichier php.ini global qui est utilisé par suPHP est bien sûr celui de la version CGI qui se trouve dans /etc/php5/cgi.
J’attire votre attention sur le fait que si vous paramétrez un fichier php.ini custom dans votre virtual host apache avec suPHP_ConfigPath, il faut absolument penser à ajouter ces lignes dans le fichier /etc/apache2/apache2.conf:
order allow,deny
deny from all
Ceci interdit l’accès au fichier php.ini custom depuis un navigateur…
Merci pour ces tutos super bien!
Chanlô
Bonsoir,
Juste un petit retour d’expérience, si jamais il était d’une quelconque utilité :
1 – J’installe phpmyadmin par apt-get. il se trouve donc bêtement dans /usr/share/phpmyadmin
2 – Je suis cet excellent tuto et installe suexec /suphp – a partir de la, phpmyadmin ne marche plus …
3 – Je modifie /etc/apache2/mods-available/suphp.conf : Après les lignes qui excluent /usr/share, j’ajoute 3 lignes pour re autoriser suphp : Directory /usr/share/phpmyadmin, suPHP_Engine on
4 – dans /etc/suphp/suphp.conf , j’ajoute phpmyadmin:
;Path all scripts have to be in
docroot=/var/www:/home:/usr/share/phpmyadmin
5 – je créé un utilisateur « pouf », du groupe 100 (users) et je fait
chown -r pouf:users /usr/share/phpmyadmin (ça c’est du classique pour tous ici …)
6 – un redémarrage apache et un vidage en règle des cookies dans le navigateur et ça roule. juste quelques messages insultants sur le blowfish et suhosin patch, mais je reste de marbre, ça marche, et les solutions existent…
Bien cordialement
Je pense avoir été un peu rapide.
La solution proposé par Memphis007 est à priori bien plus efficace
Désolé.
c’est encore moi,
j’ai poursuivi la mise en œuvre des tutos et notamment iptables, fail2ban [...] suEXEC et suPHP mais à la fin de ce tuto, je souhaite accéder à la page d’accueil de mon serveur, http://188.165.192.219 mais je rencontre une erreur 500 alors que j’accède à PHPMYADMIN sans problème, pareille pour ROUNDCUBE
je voulais donc savoir s’il fallait dans le virtualhost du fichier « default » mettre la ligne avec suEXEC
cordialement
salut pourriez vous me donner les astusd’intrusion
Bonjour Pedro,
Non et pour plusieurs raisons :
1) Je n’ai aucune idée de comment « pirater » un autre site, je sais juste que certaines failles existent mais je ne sais pas les exploiter
2) Je n’ai pas envie de fournir des tutoriels pour « pirater » d’autres sites et gâcher le travail d’autres personnes. Il y une différence entre « pirater » et hacker. Je respecte les hackers au vrai sens du terme mais pas les pirates qui s’amusent à détruire des sites.
Bonsoir,
je suis arrivée a la fin du tutoriel , ou il faut créer un utilisateur « phpmyadmin » seulement petit problème pour ma part:
j’ai installé une version de phpmyadmin bien plus récente que la votre: la 3.5.2.2 et je n’ai aucun répertoire phpmyadmin dans /etc/
Mon répertoire phpmyadmin se trouve dans /var/www/ et là oh surprise aucun fichier apache.conf donc je suis un peu bloqué je ne trouve pas de solution.
Et j’ai aussi un autre problème c’est que mon ftp ne fonctionne plus …
En vous remerciant.
Cordialement.
Bonjour Tchupa,
Le fichier apache.conf de phpmyadmin sert seulement à indiquer à Apache le répertoire ou se trouve les fichiers de phpmyadmin et à faire un alias pour que tonsite.com/phpmyadmin fonctionne.
Ce fichier sert également à sécuriser certains répertoire (setup, de mémoire) avec un htaccess. Je te recommande de faire un htaccess sur tout le répertoire pour limiter certaines attaque brute force, ça fera une double identification (htaccess + mot de passe SQL).
Par conséquent, tu peux traiter phpmyadmin comme « un simple site » que tu ajouterais sur ton serveur. C’est à dire que tu dois faire un fichier virtualhost, préciser le répertoire ou sont les fichiers, un alias et mettre en htaccess. Rien de bien compliqué en fait et puis tu peux toujours regarder le fichier apache.conf de l’ancienne version de phpmyadmin pour t’inspirer.
Edit : voilà l’apache.conf que j’ai sur mon serveur pour t’aider : http://pastebin.com/ZybRw2Gf
Bonjour,
je te remercie bien Madrzejewski Alexis
Cordialement.
Hello,
Pour tous ceux qui auraient fait un mv /usr/share/phpmyadmin [...] au lieu d’un cp [...] (comme indiqué la première fois sur la vidéo, ce qui peut induire en erreur si on exécute « en direct » ce que fait Alexis), les 2 symlinks vers mootools.js et mootools-more.js sont brisés. En fait ils pointent de façon relative (un peu sale d’ailleurs, non ?) vers des fichiers situés dans /usr/share/javascript/mootools et donc si on déplace phpmyadmin les symlinks ne suivent pas. Pour réparer cela, vous avez simplement à mettre à jour ces deux symlinks :
ln -sfn /usr/share/javascript/mootools/mootools.js /home/phpmyadmin/www/js/mootools.js
ln -sfn /usr/share/javascript/mootools/mootools-more.js /home/phpmyadmin/www/js/mootools-more.js
Ça devrait maintenant marcher, en utilisant l’URL http://…].kimsufi.com/phpmyadmin (sans le tilde)
Bonjour Bastien,
Un grand merci pour les précisions
Je rajoute d’ailleurs 2 petites explications pour ceux qui ne veulent plus voir les warnings sur la page d’accueil de phpmyadmin suite à l’installation de suPHP.
« 1. Vous devez ajouter dans le fichier de configuration une phrase de passe secrète (blowfish_secret). »
Pour cela il suffit de rajouter : $cfg['blowfish_secret'] = ‘ce_que_vous_voulez’; à la fin du fichier /etc/phpmyadmin/config.inc.php, et ne pas oublier de supprimer les cookies dans votre navigateur liés à phpmyadmin sur votre serveur dédié.
« 2. Ce serveur utilise Suhosin. Veuillez vous référer à la documentation pour en connaître les conséquences possibles. »
Vous pouvez paramétrer Suhosin comme bon vous semble (je ne connais pas du tout, personnellement) dans le fichier /etc/php5/conf.d/suhosin.ini. Ensuite, il suffit de rajouter $cfg['SuhosinDisableWarning'] = TRUE; à la fin du fichier /etc/phpmyadmin/config.inc.php (le même que précédemment).
Et vous serez débarrassés de ces deux warnings !
Bonjour Bastien,
je suis actuellement dans le cas que tu expose par contre mon petit soucis est que je n’ai pas de répertoire javascript dans mon /usr/share/
Est ce que celui-ci est lié à l’installation et la version de phpmyadmin?
En te remerciant.
Cordialement.
j ai modifier le umask de suphp en 022 à la place de 077 (dans /etc/suphp.conf) pour afficher les images de mon site Opencart image/cache/data/demo/mes_images ( j avais
l erreur 403: You don’t have permission to access image/cache/data/demo/toutes_mes_images on this server, même après chmod 777 .
niveau sécurité est ce bon ?
j’ ai pas trouver d autre solution
Bonjour Akiff,
Oui, pas de soucis c’est bon
j’ai fait la même chose sur mon serveur, c’est simplement un oublie de ma part sur le tuto, je n’avais pas testé l’upload en php et donc j’avais pas fait attention aux droits appliqués aux fichiers.
Hi Alexis,
Thank you very much for such a great tutorial:)You helped me a lot!!
At the end I had error problems 500 and 403 in my script related to the image gallery. So I just wanted to say how I solved the problem if someone is interested in:)I needed 3 days to realise about permissions so I’ve changed suphp.conf file ( /etc/suphp/suphp.conf ) umask=0022 ( default was 0077 ) but it is still in developing fase:)Here you are external links if someone needs http://www.diablotin.com/librairie/networking/puis/ch05_03.htm
Thank you very much and keep going you really rock!!!:))
btw I speak french and I understand you as well:))
Cheers!
Hi Mikeli,
I’m glad I could help, I made the same mistake and it took me more than 3 days to realize it was the umask
Thanks for your comment, it’s the first english comment I get (at least which is not a spam).
J’ai perdu 2h pour comprendre pourquoi j’avais une error 500 sur le serveur…
J’ai regardé les logs: cat /var/log/suphp/suphp.log
[Sun Sep 09 18:14:26 2012] [warn] File « /www/index.php » is writeable by group
J’ai fait chmod 755 index.php et ca marche
Si ca peut aider.
Bonjour,
Je viens de lire : http://www.area51.fr/2010/11/07/apache2-droits-et-identite/
Une technique de remplacement de suExec et suPhp par mpm-itk, qu’en pensez-vous ?
Nicolas
Bonjour Nico,
Merci pour le lien, je ne connaissais pas. Ca à l’air intéressant, mais c’est expérimentale comme le fait remarquer l’auteur de l’article dans un commentaire. Dans tous les cas, je pense que ça vaut bien un petit test pour comparer.
En tout cas, merci beaucoup pour ton taf avec ces tutos !
Bonjour à tous,
Pour l’erreur 500, le chmod 755 ne fonctionnait pas donc j’ai regardé à qui appartenait le dossier du site.
Ce dossier appartenait à root donc j’ai fait un chown avec l’utilisateur du site et cela fonctionne.
Sinon merci Alexis pour tes tutos!
Bonjour,
Après avoir installé suexec et suphp et avoir fait la dernière manip, je n’ai plus accès au site.
J’ai rajouter les lignes proposées dans le htaccess du dossier www, mais rien n’y fait.
Je sais pas trop quoi faire.
Je voudrais désinstaller suexec et suphp pour retenter une conf…
Comment faire pour désinstaller svp?
Autoréponse:
Au fait j’avais des problèmes de permissions sur mon dossier www (j’utilise spip). J’ai dû enlever les permissions d’écriture du groupe et autres (chmod g-w,o-w www)
Bonjour jlg13,
Excusez ma réponse tardive, je n’ai pas bien le temps en ce moment. Pour suEXEC et suPHP, il faut faire très attention sur les droits des fichiers.
- Comme vous l’avez dit, il faut enlever le droit d’écriture au groupe et autre (normalement, le message d’erreur dans /var/log/apache2/suexec.log est très parlant)
- Il faut que les fichiers appartiennent au propriétaire défini dans la configuration apache avec la directive suexecUserGroup, sinon ça plante pour des raisons de sécurité. Souvent on travail en mode console en root et on oublie de faire des chown. Encore une fois, avec les logs ça se repère vite.
- Il ne faut pas oublier de modifier le fichier de configuration de suexec situé dans /etc/apache2/suexec/??? de mémoire. Dedans, il faut indiqué que les sites sont dans /home et les pages web dans www.
- Dans suphp, il faut modifier /etc/suphp/suphp.conf, faire attention au « docroot » et au masque aussi (en cas d’upload de fichier, par défaut c’est trop restrictif).
Voilà à peu près tous les éléments a problèmes dans suEXEC et suPHP.
Merci Alexis,
Vous êtes très efficace et je prends beaucoup de plaisir à configurer mon serveur dédié grâce à vous.
J’ai un petit soucis avec le phpmyadmin :
error : Directory index forbidden by Options directive: /home/phpmyadmin/
Autant pour moi.
Grave erreur : j’avais oublié le www dans l’alias de l’apache.conf.
Désolé.
Bonjour Alexis,
J’ai un serveur dédié kimsufi de type mKS 2G et je n’ai pas l’option backup FTP. Quel abonnement avez-vous souscrit pour avoir cette option ?
J’ai contacté le SAV d’OVH pour savoir si je pouvais changer d’option, mais ce n’est pas possible.
Bonjour,
C’est la nouvelle gamme d’OVH, ils ont retiré le FTP de backup gratuit de 100Go proposé et ont ajoutés quelques limitations sur la bande passante. Quand j’ai fait ce tutoriel, il y avait toujours ce FTP de 100Go bien pratique.
Donc a moins d’avoir un ancien serveur commandé il y a quelques mois, ce n’est plus possible. D’après octave sur Twitter, ils devraient proposer une offre de backup payante mais sans doute pas pour tout de suite. (cf. https://twitter.com/olesovhcom/status/260728608560144385)
Bonjour Alexandre,
Merci bien. Je vais voir pour faire une sauvegarde ftp de mon serveur dedié (via votre tutoriel sur la sauvegarde ftp) sur ma machine privée.
P.S. Désolé pour m’être trompé de chapitre, ma question concernait bien sûr votre chapitre http://www.tutoriels-video.fr/ajouter-un-systeme-de-sauvegarde-automatique-sur-son-serveur/
Bonjour pour le problème de phpmyadmin (concernant les alarmes)!!!
alors comme dit précédemment pour éviter les alarmes blowfish etc … il faut faire :
* dans le rep /var/lib/phpmyadmin ==> chown phpmyadmin:www-data *
et pour éliminer les alarmes concernant les $cfg['Servers'][$i]['pmadb'] = $dbname; etc … (en bas de page il sont notés en rouge ou jaune) ==> éditer le fichier /etc/phpmyadmin/config.inc.php et dé commenter les lignes ci après :
/* Optional: Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = $dbname;
$cfg['Servers'][$i]['bookmarktable'] = ‘pma_bookmark’;
$cfg['Servers'][$i]['relation'] = ‘pma_relation’;
$cfg['Servers'][$i]['table_info'] = ‘pma_table_info’;
$cfg['Servers'][$i]['table_coords'] = ‘pma_table_coords’;
$cfg['Servers'][$i]['pdf_pages'] = ‘pma_pdf_pages’;
$cfg['Servers'][$i]['column_info'] = ‘pma_column_info’;
$cfg['Servers'][$i]['history'] = ‘pma_history’;
$cfg['Servers'][$i]['designer_coords'] = ‘pma_designer_coords’;
$cfg['Servers'][$i]['tracking'] = ‘pma_tracking’; <== celle ci est à ajouter
et une fois fait enregistrer, vider votre cache de votre navigateur et reconnexion et hop plus d'erreurs.
merci a alexis pour ces bons tutos
bon courage a tous
Bonjour,
J’ai installe mod_security, il affiche que les erreurs 404, y a t il une solution pour ca:
Voila le guide que j’ai utilise: http://www.skyminds.net/serveur-dedie-securiser-apache-2-avec-mod-security/
Merci