Ubuntu Apache2 DefaultRuntimeDir, ServerRoot'a göre mutlak veya göreli olarak geçerli bir dizin olmalıdır


17

Kurmaya çalıştığım Ubuntu 17.04 çalıştıran bir web sunucum var Apache. VirtualHosts aracılığıyla iki web sitesini tek bir makinede barındırmaya karar verene kadar her şey harika geçti. Artık apachetek bir ana makine etkinken bile çalıştırmayı reddediyor. Her başlatmaya çalıştığımda Apachebu hatayı alıyorum:

apache2: Syntax error on line 80 of /etc/apache2/apache2.conf:
DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot.

Bunu düzeltmek için yaptığım girişimlerin hiçbiri aşağıdakileri içermedi:

apt purge apache2 && rm -r /etc/apache2 

Hata mesajının tüm 80 satırı bana öyle diyor DefaultRuntimeDir ${APACHE_RUN_DIR}.

Ve hiçbir zaman nerede veya ne APACHE_RUN_DIRolarak beyan edildiğini görmüyorum .

Birisi bana yardım edebilir mi?

Yanıtlar:


17

Komuta

source /etc/apache2/envvars

(TÜM diğerleri denedikten sonra) benim sorun dizildi.

Her şeyin iyi olup olmadığını kontrol etmek için komutu kullanın

apache2 -S

Bunun DNS kayıtlarımı kullanmaktan daha hızlı olduğunu fark ettim.


1
Ben kullanılan source /etc/apache2/envvarsama bundan sonra benim ev dizini değiştirildi ~etmek homeve cd yazarken o gösterdi -bash: cd: HOME not set. Envvarlara girdiğimde ilk satırlardan biri # this won't be correct after changing uidve unset HOME. Bunu nasıl düzeltebileceğine dair bir fikrin var mı?
Mihail Minkov


6

Apache2 /etc/apache2/envvarsortam değişkenlerini ayarlamak için kullanılır. Bu bilgiyi, dizinin ${APACHE_RUN_DIR}işaret ettiğini doğrulamak için kullanabilirsiniz.

14.04'ten 17.04'e yükseltirken aynı sorunu yaşıyordum. Sorun: ${APACHE_RUN_DIR}olarak ayarlandı /var/run/apache2, ancak apache2 klasörü eksikti /var/run.

Benim için düzeltme: mkdir /var/run/apache2


7
klasörü oluştursanız veya klasör zaten sunulmuş olsa bile (benim durumumda olduğu gibi) aşağıdaki komutu çalıştırmanız gerekir. source /etc/apache2/envvars
Peşmerge

envvares komutunu yalnızca Apache'yi başlangıç ​​yazısı olmadan başlatırsanız, init.d / system.d kullanıyorsanız dosya otomatik olarak kaynaklanacaktır.
Niyol

@ Peşmerge teşekkürler! yeniden başlattıktan sonra nasıl tutulacağını söyleyebilir misin? yeniden başlatıldığında, bu komutu her zaman manuel olarak
yürütmemiz gerekiyor


0

php5.6Apache modülünün yeniden etkinleştirilmesi bu sorunun çözülmesine yardımcı olur.

Ctrl+ Alt+ Tuşlarına basın Tve şunu yazın:

sudo a2dismod php5.6
sudo a2enmod php5.6

Ardından apache2 hizmetini yeniden başlatın:

sudo service apache2 restart
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.