今天在測試安裝 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 就可以把設定檔裝回來了 !!