Apache 500 錯誤,error.log 中沒有條目
這是在執行標準 WAMP 安裝的全新 Ubuntu 14.04 伺服器上,並在其頂部添加了 Apache DAV_SVN(使用 LDAP 身份驗證)(映射到
/svn
)。我能夠讓一切正常工作,並測試了通過 HTTP 訪問 subversion 並通過 LDAP 進行身份驗證,沒有任何問題。然後,我進入 /etc/network/interfaces 並將其從 DHCP 更改為使用靜態 IP 地址(以便 DNS 伺服器可以解析 SVN 的主機名)。我在伺服器上執行了重新啟動,之後任何訪問嘗試都會
/svn
導致 500 錯誤(在提供 ldap 身份驗證憑據之後) - 但是訪問只會/
正確返回預設的 apache 頁面。但是error.log中並沒有500錯誤的記錄,所以我沒有辦法調試錯誤是什麼。我不確定錯誤是否與將憑據通信到 LDAP、SVN、Apache 或其他什麼有關。
更新
我能夠確認回到 DHCP 允許 SVN 再次工作,但是我需要一個靜態 IP,以便我可以為 SVN 使用主機名路由 - 為儲存庫使用動態 IP 會造成管理混亂。
錯誤日誌
[Fri Feb 06 10:17:37.915182 2015] [mpm_prefork:notice] [pid 1090] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.3 configured -- resuming normal operations [Fri Feb 06 10:17:37.915260 2015] [core:notice] [pid 1090] AH00094: Command line: '/usr/sbin/apache2' [Fri Feb 06 10:19:45.681937 2015] [mpm_prefork:notice] [pid 1090] AH00169: caught SIGTERM, shutting down [Fri Feb 06 10:19:46.786369 2015] [mpm_prefork:notice] [pid 1987] AH00163: Apache/2.4.7 (Ubuntu) SVN/1.8.8 PHP/5.5.9-1ubuntu4.3 configured -- resuming normal operations [Fri Feb 06 10:19:46.786434 2015] [core:notice] [pid 1987] AH00094: Command line: '/usr/sbin/apache2' [Fri Feb 06 10:19:48.285095 2015] [mpm_prefork:notice] [pid 1987] AH00169: caught SIGTERM, shutting down [Fri Feb 06 10:19:49.398153 2015] [mpm_prefork:notice] [pid 2074] AH00163: Apache/2.4.7 (Ubuntu) SVN/1.8.8 PHP/5.5.9-1ubuntu4.3 configured -- resuming normal operations [Fri Feb 06 10:19:49.398214 2015] [core:notice] [pid 2074] AH00094: Command line: '/usr/sbin/apache2' [Fri Feb 06 10:41:45.351303 2015] [mpm_prefork:notice] [pid 2074] AH00169: caught SIGTERM, shutting down [Fri Feb 06 10:41:46.517131 2015] [mpm_prefork:notice] [pid 3665] AH00163: Apache/2.4.7 (Ubuntu) SVN/1.8.8 PHP/5.5.9-1ubuntu4.3 configured -- resuming normal operations [Fri Feb 06 10:41:46.517209 2015] [core:notice] [pid 3665] AH00094: Command line: '/usr/sbin/apache2' [Fri Feb 06 10:42:41.050821 2015] [dav:error] [pid 3669] [client 192.168.12.162:59312] Could not fetch resource information. [301, #0] [Fri Feb 06 10:42:41.050932 2015] [dav:error] [pid 3669] [client 192.168.12.162:59312] Requests for a collection must have a trailing slash on the URI. [301, #175002] [Fri Feb 06 10:46:13.366128 2015] [mpm_prefork:notice] [pid 3665] AH00169: caught SIGTERM, shutting down [Fri Feb 06 10:46:14.514782 2015] [mpm_prefork:notice] [pid 3738] AH00163: Apache/2.4.7 (Ubuntu) SVN/1.8.8 PHP/5.5.9-1ubuntu4.3 configured -- resuming normal operations [Fri Feb 06 10:46:14.514837 2015] [core:notice] [pid 3738] AH00094: Command line: '/usr/sbin/apache2' [Fri Feb 06 10:56:37.258172 2015] [mpm_prefork:notice] [pid 3738] AH00169: caught SIGTERM, shutting down [Fri Feb 06 11:09:35.552252 2015] [mpm_prefork:notice] [pid 1526] AH00163: Apache/2.4.7 (Ubuntu) SVN/1.8.8 PHP/5.5.9-1ubuntu4.3 configured -- resuming normal operations [Fri Feb 06 11:09:35.558499 2015] [core:notice] [pid 1526] AH00094: Command line: '/usr/sbin/apache2' [Fri Feb 06 11:21:48.478383 2015] [mpm_prefork:notice] [pid 1526] AH00169: caught SIGTERM, shutting down [Fri Feb 06 11:22:06.006478 2015] [mpm_prefork:notice] [pid 1067] AH00163: Apache/2.4.7 (Ubuntu) SVN/1.8.8 PHP/5.5.9-1ubuntu4.3 configured -- resuming normal operations [Fri Feb 06 11:22:06.007231 2015] [core:notice] [pid 1067] AH00094: Command line: '/usr/sbin/apache2' [Fri Feb 06 11:41:32.208255 2015] [mpm_prefork:notice] [pid 1067] AH00169: caught SIGTERM, shutting down [Fri Feb 06 11:41:33.396579 2015] [mpm_prefork:notice] [pid 1392] AH00163: Apache/2.4.7 (Ubuntu) SVN/1.8.8 PHP/5.5.9-1ubuntu4.3 configured -- resuming normal operations [Fri Feb 06 11:41:33.396643 2015] [core:notice] [pid 1392] AH00094: Command line: '/usr/sbin/apache2'
只想跟進並發布問題和解決方案。基本上問題是我在設置靜態 IP 時沒有分配本地 DNS 伺服器,所以它沒有解析 LDAP 伺服器主機名。當它為 DHCP 設置時,它使用由 DHCP 分配的 DNS 就好了。解決方案只是將本地 DNS 伺服器添加到
/etc/network/interfaces
中,之後一切正常。我仍然不確定為什麼沒有為此生成錯誤日誌條目。
Stackoverflow 上已經發布了一個與您類似的問題:
首先,正如您所展示的那樣,您的埠處於活動狀態並接受使用者,但是導航到子目錄不起作用。
我在 CentOS 上遇到了類似的問題,根工作http://somesite.com>但是當我去<http://somesite.com/xyz時,它給了我一個 500 錯誤。
這是由於缺少對 /xyz 文件夾的權限,並且 .htaccess/httpd.conf 文件沒有正確設置:
<VirtualHost :80> ... Insert your permissions here </VirtualHost>
或者(如果您不想公開訪問此內容並將其限制為您選擇的 IP):
<Directory /xyz> Options Follow Symlinks Order deny, allow # If you want it to be public, use Order Allow, Deny; and Deny from all #Allow from all Allow from {IP of your choosing} #If Allow from all is present, this is line is not necessary. </Directory>
弄亂你的 httpd.conf/.htaccess 文件,這是一個權限問題。:)
編輯:
此外,請確保如果您使用數據庫在 /xyz 上提供內容,並且後端 .php 使用的憑據是正確的,那麼可以在公共視圖中隱藏數據庫錯誤並顯示 500 內部錯誤。(一個簡單的檢查方法是: apt-get install lynx 然後發出 lynx http://127.0.0.1/svn)