« Installation non autorisée par les permissions du fichier conf.php »
L'assistant d'installation de Dolibarr refuse de démarrer à cause du fichier conf.php. Ce que veut dire le message, la commande qui le règle, et le piège du chmod 666.
Vous ouvrez l’assistant d’installation de Dolibarr. La page de vérification des prérequis affiche, à la place du bouton « Démarrer » :
Le fichier de configuration htdocs/conf/conf.php n’est pas modifiable. Installation non autorisée par les permissions du fichier conf.php
En anglais, le même message s’écrit Setup not allowed by conf.php permissions.
Ce que veut dire le message
Pendant l’installation, l’assistant écrit vos réglages (base de données, dossiers, adresse du site)
dans le fichier htdocs/conf/conf.php. Il vérifie donc d’abord que le serveur web peut écrire
dans ce fichier. Ce n’est pas votre compte qui compte, mais celui sous lequel tourne Apache ou
PHP-FPM : www-data sur Debian et Ubuntu.
Le fichier existe, mais ce compte ne peut pas le modifier : l’assistant s’arrête là. Rien n’est cassé, c’est un contrôle.
Variante : « n’existe pas et n’a pu être créé »
Si conf.php n’existe pas du tout, l’assistant essaie de le créer à partir de conf.php.example.
Quand le dossier conf/ est lui aussi en lecture seule, il affiche :
Le fichier de configuration htdocs/conf/conf.php n’existe pas et n’a pu être créé ! Vous devez créer un fichier htdocs/conf/conf.php et donner les droits d’écriture dans celui-ci au serveur web durant le processus d’installation.
Même cause, même solution.
La solution sur un serveur Linux
Depuis le dossier où Dolibarr est installé (celui qui contient htdocs/) :
sudo touch htdocs/conf/conf.php
sudo chown www-data:www-data htdocs/conf/conf.php
La première commande ne sert que si le fichier n’existe pas. Rechargez ensuite la page de l’assistant : la ligne devient « Le fichier htdocs/conf/conf.php est modifiable » et le bouton « Démarrer » revient.
Si votre serveur web ne tourne pas sous www-data, cette commande vous donne son nom :
ps aux | grep -E 'apache|httpd|php-fpm'
La première colonne indique l’utilisateur. Ignorez la ligne de root, qui est le processus
principal : les autres lignes donnent le compte du serveur web.
Sous Docker
Avec l’image officielle dolibarr/dolibarr, le fichier se trouve dans le conteneur, au chemin
/var/www/html/conf/conf.php :
docker exec <conteneur> chown www-data:www-data /var/www/html/conf/conf.php
Le piège du chmod 666
Le message de Dolibarr propose un chmod 666. Cela débloque bien l’installation, y compris quand
chown n’est pas possible, depuis un client FTP par exemple. Mais il faut le défaire ensuite.
Une fois l’installation finie, Dolibarr veut un conf.php en lecture seule. Quand le fichier
appartient au serveur web, il retire lui-même le droit d’écriture la première fois qu’un
administrateur ouvre l’accueil : sur l’instance de test, le fichier est passé de 644 à 444 sans
rien faire. Quand le fichier appartient à un autre compte, ce qui est le cas après un
chmod 666, il ne le peut pas, et l’accueil affiche :
Attention, votre fichier de configuration (htdocs/conf/conf.php) est accessible en écriture au serveur Web. Ceci représente une faille sérieuse de sécurité.
Pour le faire disparaître :
sudo chmod 444 htdocs/conf/conf.php
C’est pour cela que le chown vaut mieux : Dolibarr range alors le fichier tout seul.
Juste après l’installation
Il reste une étape que l’assistant ne fait pas pour vous : poser le fichier install.lock, qui
ferme les pages d’installation. C’est expliqué dans
install.lock : où le mettre, et comment faire une mise à jour avec.
Se faire aider
Si vous préférez qu’on s’en occupe, l’installation et le paramétrage sont un forfait à prix fixe, annoncé avant de commencer.