我已将 Apache 的配置更改为指向我的主目录中的一个文件夹:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/dbugger/html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/dbugger/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我什至给了我/home/dbugger/html777 的许可。但我仍然收到相同的错误消息http://localhost:“403 Forbidden”
我错过了什么?
小智 29
这对我有用
<Directory />
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
重要的一点是改变
Order allow, deny
Run Code Online (Sandbox Code Playgroud)
到
Require all granted
Run Code Online (Sandbox Code Playgroud)
小智 24
userdir模块:sudo a2enmod userdir
Run Code Online (Sandbox Code Playgroud)
sudo nano /etc/apache2/mods-available/php5.conf
Run Code Online (Sandbox Code Playgroud)
(或者如果使用 php7.0,例如)
sudo nano /etc/apache2/mods-available/php7.0.conf
Run Code Online (Sandbox Code Playgroud)
注释这部分(放在#每一行的开头):
#<IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_flag engine Off
# </Directory>
#</IfModule>
Run Code Online (Sandbox Code Playgroud)
按Ctrl+X保存
sudo nano /etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)
添加这个:
<Directory /home/*/public_html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
按Ctrl+X保存
重启 apache(sudo这里也需要):
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
现在将您的 php 文件放在/home/yourname/public_html目录中,然后
http://localhost/~yourname从您的网络浏览器转到。
Eri*_*lho 15
Apache 以用户身份运行www-data。如果它在您的家中没有执行权限,则 apache 将无法读取任何文件。
将您家的组更改为www-data:
chgrp www-data /home/dbugger
Run Code Online (Sandbox Code Playgroud)
并授予它仅遍历您的主目录的权限:
chmod g+x /home/dbugger
Run Code Online (Sandbox Code Playgroud)
您还可以限制以下权限/home/dbugger/html:
chgrp www-data /home/dbugger/html
chmod 750 /home/dbugger/html
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
221274 次 |
| 最近记录: |