Site icon Mr. 沙先生

apache2.4 安裝後缺少設定檔 ERROR: APACHE_PID_FILE needs to be defined in /etc/apache2/envvars

今天在測試安裝 LAMP 一直重複在安裝移除 Apache2,然後就出現了安裝後無法啟動 apache2 的錯誤訊息

 

Apr 09 23:07:03 u02 systemd[1]: Starting LSB: Apache2 web server…
Apr 09 23:07:03 u02 apache2[29736]: /etc/init.d/apache2: 46: .: Can’t open /etc/apache2/envvars
Apr 09 23:07:03 u02 apache2[29736]: /etc/init.d/apache2: 57: .: Can’t open /etc/apache2/envvars
Apr 09 23:07:03 u02 apache2[29736]: ERROR: APACHE_PID_FILE needs to be defined in /etc/apache2/envvars
Apr 09 23:07:03 u02 systemd[1]: apache2.service: Control process exited, code=exited status=2
Apr 09 23:07:03 u02 systemd[1]: Failed to start LSB: Apache2 web server.
Apr 09 23:07:03 u02 systemd[1]: apache2.service: Unit entered failed state.
Apr 09 23:07:03 u02 systemd[1]: apache2.service: Failed with result ‘exit-code’

 

一看是找不到 /etc/apache2/envvars 這個檔案

然後就到 apache2 的目錄查看,少了許多檔案,為何在安裝 apache2 的時候會缺少檔案 ?

$ ls -l /etc/apache2/
conf-available	
conf-enabled  
mods-available  
mods-enabled  
sites-available  
sites-enabled

 

這是由於我在移除 apache2 的時候沒有加入 –purge 的參數,如果沒有使用 –purge 的話就會留下設定檔只刪除 application,然後下次安裝的時候就不會把設定檔在安裝進來 (因為你保留設定檔麻!!)

 

所以要記得如果要乾淨移除建議可以使用 autoremove + purge 的方式,autoremove 可以移除沒用的相依性套件

$ sudo apt-get autoremove --purge apache2

 

然後再安裝一次 apache2 就可以把設定檔裝回來了 !!

 

 

 

 

Exit mobile version