File envvar saya memiliki baris berikut:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Apache2.conf saya memiliki baris ini di dalamnya:
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
Tetapi ketika saya menjalankan apache2 -M
saya mendapatkan ini:
apache2: bad user name ${APACHE_RUN_USER}
Perbaikan sementara adalah dengan www-data
memasukkan kode apache2.conf ke dalam hard-code . Ada beberapa spekulasi di sini bahwa ini karena beberapa skrip konfigurasi tidak mengganti env vars dengan benar di file apache2.conf saya. Terlepas bagaimana cara saya mendapatkan apache2 untuk berkonsultasi dengan file envvars saya?
Sebagai titik data lain situs ini tampaknya mengindikasikan bahwa envvars dibuat di build, tetapi dibaca oleh apache2ctl saat runtime, menunjukkan bahwa file ini tidak hanya buang kotoran sisa oleh proses build.
sumber
sudo stop apache2
,sudo restart apache2
dansudo start apache2
(/etc/init.d/apache2 stop
, dll)umask
pengaturan ke envvars, dan bahkan setelah memulai ulang menggunakannyaapache2ctl restart
masih tidak berfungsi, tetapi memulai kembali menggunakanservice apache2 restart
berhasil (service apache2 graceful
tidak)./etc/init.d apache2 reload
tidak akan mengambilenvvars
tambahan, Anda harus berhenti dan memulai serverDari http://httpd.apache.org/docs/2.2/configuring.html :
Jadi, variabel tersebut memang diambil dari lingkungan seperti yang diharapkan. Sekarang dimana ini terjadi?
Di
/etc/init.d/apache2
,APACHE_ENVVARS
diatur ke pathenvvars
file yang didasarkan pada path initcript. Biasanya menghasilkanAPACHE_ENVVARS=/etc/apache2/envvars
diatur. Sekarang, karena nilai ini sama dengan nilai default yang ditetapkanapache2ctl
, nilai itu tidak diekspor.Dari
/usr/sbin/apache2ctl
:Penjelasan: jika
APACHE_ENVVARS
kosong, gunakan jalur default yang/etc/apache2/envvars
. Jika file ini ada, "sumber" itu (jalankan perintah dari file itu di lingkungan saat ini).Pastikan
envvars
file tersebut tidak mengandung kesalahan sintaksis apa pun. Untuk melakukan pemeriksaan seperti itu, gunakan:Kesalahan dicetak jika ada.
sumber