更新1:

更新1:

我在 Debian 測試中收到 Apache 403 錯誤訊息。

阿帕契版本:

# aptitude show apache2 | grep -i version
Version: 2.4.9-1

# ls -la /home/

total 28
drwxr-xr-x  4 root    root     4096 Apr  3 13:19 .
drwxr-xr-x 23 root    root     4096 Apr  4 07:28 ..
drwx------  2 root    root    16384 Apr  3 13:13 lost+found
drwx--x--x 36 username username  4096 Apr  7 13:30 username

# ls -la /home/username/Development/PHP/foo.dev.com/

total 16
drwx--x--x 4 username username 4096 Apr  3 14:35 .
drwx--x--x 6 username username 4096 Apr  3 14:36 ..
drwx--x--x 2 username username 4096 Apr  3 14:35 logs
drwx--x--x 8 username username 4096 Apr  3 14:35 public_html

# cat /etc/apache2/sites-enabled/dev.com.conf
UseCanonicalName Off

<VirtualHost *>
    VirtualDocumentRoot "/home/username/Development/PHP/%0/public_html/"
    <Directory "/home/username/Development/PHP/%0/public_html/">
        Require all granted
    </Directory>
</VirtualHost>

# cat /var/log/apache2/error.log
[Mon Apr 07 14:08:15.069251 2014] [authz_core:error] [pid 8649] [client 127.0.0.1:48578] AH01630: client denied by server configuration: /home/username/Development/PHP/foo.dev.com/public_html/

Firefox,「無代理」設定: localhost, 127.0.0.1, *.dev.com

# cat /etc/hosts:
hosts        hosts.allow  hosts.deny
root@username:/home# cat /etc/hosts
127.0.0.1   localhost
127.0.1.1   username.mymachine.local    username

# Custom
127.0.0.1   teste.dev.com

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

更新1:

SELinux 似乎沒有安裝:

$ aptitude search ~i | grep selinux
i   libselinux1                     - SELinux runtime shared libraries

更新2:

$ ls -la /home/
total 28
drwxr-xr-x  4 root    root     4096 Apr  3 13:19 .
drwxr-xr-x 23 root    root     4096 Apr  4 07:28 ..
drwx------  2 root    root    16384 Apr  3 13:13 lost+found
drwx--xr-x 38 username username  4096 Apr  9 08:26 username

答案1

用戶端被伺服器設定拒絕:/home/username/Development/PHP/foo.dev.com/public_html/

這讓我想到了我遇到的類似問題:

確保www-data使用者俱有x以下設定的位元權限每個資料夾在通往/home/username/Development/PHP/foo.dev.com/public_html

透過設定www-data資料夾的擁有者:chown www-data

或將該x位授予otherschmod o+x

編輯 :

終於我能夠重現了。指令似乎%0不支援<Directory>。我已經糾正了這個問題,添加了一個*

UseCanonicalName Off
<VirtualHost *>
    VirtualDocumentRoot "/home/username/Development/PHP/%0/public_html/"
    <Directory "/home/username/Development/PHP/*/public_html/">
        Require all granted
    </Directory>
</VirtualHost>

答案2

我不確定<Directory>-directive 是否接受%0作為路徑名稱的一部分,在文件中僅提到了正規表示式:http://httpd.apache.org/docs/current/mod/core.html#directory

而「%0」是 vhost_alias 模組的一部分:http://httpd.apache.org/docs/current/mod/mod_vhost_alias.html

你可以嘗試改變

<Directory "/home/username/Development/PHP/%0/public_html/">

到:

<Directory "/home/username/Development/PHP/">

看看情況是否如此。您也可以嘗試使用正規表示式/home/username/Development/PHP/*/public_html/

答案3

用戶端被伺服器設定拒絕:/home/username/Development/PHP/foo.dev.com/public_html/

應該很明顯的是......

ls -la /home/username/Development/PHP/foo.dev.com/

... drwx--x--x 8 使用者名稱 使用者名稱 4096 4 月 3 日 14:35 public_html

...apache uid 需要目錄(和檔案)的讀取權限。修理:

chmod -R o+r /home/username/Development/PHP/foo.dev.com/

相關內容