Linux
無法啟動安裝了 Bugzilla 的 Apache 伺服器
我已經按照此處的指南安裝了 Bugzilla ,但是,當我重新啟動我的 Apache 伺服器(以便我可以登錄到 Bugzilla 系統)時,我收到以下錯誤…
Jun 27 16:10:30 localhost.localdomain systemd[1]: Starting The Apache HTTP Server... Jun 27 16:10:30 localhost.localdomain httpd[3519]: AH00526: Syntax error on line 354 of /etc/httpd/conf/httpd.conf: Jun 27 16:10:30 localhost.localdomain httpd[3519]: Can't locate /var/www/html/bugzilla/mod_perl.pl in @INC (@INC contains: /var/www/html/bugzilla /var/www/html/bugzilla/li...) line 1.\n Jun 27 16:10:30 localhost.localdomain systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE Jun 27 16:10:30 localhost.localdomain httpd[3521]: AH00526: Syntax error on line 354 of /etc/httpd/conf/httpd.conf: Jun 27 16:10:30 localhost.localdomain httpd[3521]: Can't locate /var/www/html/bugzilla/mod_perl.pl in @INC (@INC contains: /var/www/html/bugzilla /var/www/html/bugzilla/li...) line 1.\n Jun 27 16:10:30 localhost.localdomain systemd[1]: httpd.service: control process exited, code=exited status=1 Jun 27 16:10:30 localhost.localdomain systemd[1]: Failed to start The Apache HTTP Server. Jun 27 16:10:30 localhost.localdomain systemd[1]: Unit httpd.service entered failed state.
儘管存在 /var/www/html/bugzilla/mod_perl.pl 文件並且具有足夠的文件權限,但還是會這樣做。有想法該怎麼解決這個嗎?(我正在開發 Fedora v16)
編輯:似乎 SELinux 標籤是問題所在,伺服器現在啟動,我可以訪問 bugzilla 頁面,但是 cgi 文件沒有執行它只是以文本顯示。想法?
好吧,看來我的想法是正確的,SELinux 是問題所在。為了將來參考,當我提出這個建議時,我基本上只是在說你在一個預設啟用 SELinux 並上傳了第三方 Web 應用程序的系統上。我只提一下,以便您將來可以使用相同的速記。
但是,對於您目前的問題,您可以對 SELinux 部分執行以下兩項操作之一:
- 通過將 SELinux 更改為許可模式
/etc/selinux/config
,使其不再實際執行任何操作。我不會完全禁用,因為這肯定會導致文件系統標籤變得異常,並且您可能會決定在將來的某個時候確實需要 SELinux。SELinux 擅長保持目前有效的標籤有效,而不是在重新標記文件系統時。兩者在功能上應該是相同的,只是 Permissive 仍然會寫入日誌文件(它本身應該定期輪換)。- 在網站的 DocumentRoot 上執行一個
restorecon -R
操作,以便第三方軟體使用 Fedora 項目授予 httpd_t 訪問權限的任何上下文重新標記。如果 Web 伺服器將暴露給大量潛在使用者(如 Internet 或大型 Intranet 站點),這可能更可取。對於“腳本顯示為文本”的事情,我會驗證是否安裝了 mod_perl。Fedora/RHEL/CentOS/etc 通常會在其中添加一個配置,
/etc/httpd/conf.d
該配置會添加 mod_perl 的處理程序資訊,預設情況下不安裝。如果沒有安裝,只需執行一個yum install -y mod_perl
然後重新啟動 httpd。如果安裝了它,可能會有更多事情發生,但我認為可能只是沒有安裝 mod_perl。