저는 Arch Linux를 실행하고 있으며 웹 페이지를 만들고 테스트할 수 있도록 XAMPP를 사용하기로 결정했습니다. 어쨌든 웹사이트에 제공된 지침에 따라 압축을 풀었고 /opt/lampp
해당 줄의 주석 처리도 해제하여 활성화 /opt/lampp/etc/httpd.conf
했습니다 mod_userdir
.
이제 내 사용자에 액세스하려고 하면 public_html
(http://localhost/~사용자), 다음 오류가 발생합니다.
Access forbidden!
You don't have permission to access the requested object. It is either
read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster.
Error 403
어떻게 작동하게 합니까?
답변1
웹 서버에서 public_html과 그 안의 파일을 읽을 수 있도록 해야 합니다.
한 가지 방법은 실행 chmod o+x /home/user
(모든 사람이 홈 디렉터리로 전환할 수 있도록 허용)하고 chmod -R o+rX /home/user/public_html
(public_html과 거기에 있는 파일을 모든 사람이 읽을 수 있도록 만드는 것)입니다.
더 나은 액세스 제어가 필요한 경우 ACL을 사용하세요.
답변2
당신은 이것을 사용해야합니다
<Directory "/Users/*/Sites">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Require all granted
대신 에 사용하십시오
Order allow,deny
Allow from all
아파치를 사용하는 경우> 2.4
답변3
기본 httpd.conf
파일은 모든 디렉터리를 사용할 수 없게 만듭니다.
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
디렉터리에 대한 액세스를 허용하도록 Apache를 구성해야 합니다.
<Directory "/srv/httpd/htdocs">
Order allow,deny
Allow from all
</Directory>
적어도 그렇습니다. 다른 작업을 수행해야 할 수도 있습니다. 403 응답을 받고 이를 살펴보거나 /var/log/httpd/error_log
(또는 XAMPP가 표시하는 위치) 무슨 일이 일어났는지 확인합니다.