Apache-2.2

Apache 500 錯誤,error.log 中沒有條目

  • January 29, 2016

這是在執行標準 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 上已經發布了一個與您類似的問題:

內部錯誤 500 Apache

首先,正如您所展示的那樣,您的埠處於活動狀態並接受使用者,但是導航到子目錄不起作用。

我在 CentOS 上遇到了類似的問題,根工作http://somesite.com>但是當我去<http://somesite.com/xyz時,它給了我一個 500 錯誤。

這是由於缺少對 /xyz 文件夾的權限,並且 .htaccess/httpd.conf 文件沒有正確設置:

&lt;VirtualHost :80&gt;
...
Insert your permissions here
&lt;/VirtualHost&gt;

或者(如果您不想公開訪問此內容並將其限制為您選擇的 IP):

&lt;Directory /xyz&gt;
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. 
&lt;/Directory&gt;

弄亂你的 httpd.conf/.htaccess 文件,這是一個權限問題。:)

編輯:

此外,請確保如果您使用數據庫在 /xyz 上提供內容,並且後端 .php 使用的憑據是正確的,那麼可以在公共視圖中隱藏數據庫錯誤並顯示 500 內部錯誤。(一個簡單的檢查方法是: apt-get install lynx 然後發出 lynx http://127.0.0.1/svn

引用自:https://serverfault.com/questions/665643