Hvordan løser jeg fejlen 403, jeg får med XAMPP, mens jeg bruger mod_userdir?
On december 1, 2020 by admin Jeg kører Arch Linux, og jeg besluttede at bruge XAMPP, så jeg kan oprette og teste websider. Under alle omstændigheder fulgte jeg instruktionerne på siden og udpakkede den til /opt/lampp
, og jeg kommenterede også linjen i /opt/lampp/etc/httpd.conf
så mod_userdir
aktiveres.
Nu når jeg prøver at få adgang til min bruger public_html
(via http://localhost/~user ), jeg får denne fejl:
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
Hvordan får jeg dette fungerer?
Svar
Du skal gøre public_html og filerne der læsbare af webserveren.
En måde er at køre chmod o+x /home/user
(tillader alle at skifte til hjemmekataloget) og chmod -R o+rX /home/user/public_html
(offentliggør_html og filer der kan læses af alle).
Hvis du har brug for bedre adgangskontrol, skal du bruge ACLer.
Svar
Du skal bruge dette
<Directory "/Users/*/Sites"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
Sørg for at bruge Require all granted
i stedet for
Order allow,deny Allow from all
når du bruger apache> 2.4
Kommentarer
- Dette gjorde tricket. Men jeg spekulerer på, hvorfor dette ikke er i nogen af de tutorials, jeg fandt. Og hvad betyder " Kræver alle tildelte " endda?
Svar
Standard httpd.conf
-fil gør alle mapper utilgængelige:
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
Du skal konfigurere Apache for at give adgang til dine biblioteker:
<Directory "/srv/httpd/htdocs"> Order allow,deny Allow from all </Directory>
Det er som minimum. Du bliver muligvis nødt til at gøre noget andre ting. Få 403-svaret, og se derefter i /var/log/httpd/error_log
(eller hvor som helst XAMPP sætter det) for at se, hvad der skete.
Skriv et svar