Mes fichiers envvar contiennent ces lignes:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Mon apache2.conf contient ces lignes:
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
Mais quand je cours, apache2 -M
je reçois ceci:
apache2: bad user name ${APACHE_RUN_USER}
Un correctif temporaire consiste à coder www-data
en dur mon fichier apache2.conf. Il y avait des spéculations ici que c'était parce que certains scripts de configuration ne remplaçaient pas correctement les vars env dans mon fichier apache2.conf. Peu importe comment puis-je demander à apache2 de consulter mon fichier envvars?
Comme un autre point de données, ce site semble indiquer que les envvars sont générés lors de la construction, mais lus par apache2ctl au moment de l'exécution, ce qui suggère que ce fichier n'est pas simplement un caca laissé par le processus de construction.
la source
sudo stop apache2
,sudo restart apache2
etsudo start apache2
(/etc/init.d/apache2 stop
, etc.)umask
, j'ajoutais un paramètre aux envvars, et même après avoir redémarré,apache2ctl restart
cela ne fonctionnait toujours pas, mais redémarrer avecservice apache2 restart
fonctionnait (service apache2 graceful
ne fonctionnait pas)./etc/init.d apache2 reload
ne ramassera pas lesenvvars
ajouts, vous devez arrêter et démarrer le serveurDepuis http://httpd.apache.org/docs/2.2/configuring.html :
Ainsi, la variable est en effet récupérée de l'environnement comme prévu. Maintenant, où cela se produit-il?
Dans
/etc/init.d/apache2
,APACHE_ENVVARS
est défini sur le chemin duenvvars
fichier qui est basé sur le chemin initscript. Il en résulte généralementAPACHE_ENVVARS=/etc/apache2/envvars
un réglage. Maintenant, puisque cette valeur est égale aux valeurs par défaut définies dansapache2ctl
, elle n'est pas exportée.De
/usr/sbin/apache2ctl
:Explication: si
APACHE_ENVVARS
est vide, utilisez le chemin par défaut qui est/etc/apache2/envvars
. Si ce fichier existe, "source" (exécutez les commandes de ce fichier dans l'environnement actuel).Assurez-vous que le
envvars
fichier ne contient aucune erreur de syntaxe. Pour effectuer une telle vérification, utilisez:Les erreurs sont imprimées le cas échéant.
la source