
Mein Setup:
ubuntu 22.04
Apache/2.4.52 (Ubuntu) Server
I created /etc/apache2/sites-available/test.mysite.conf:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test.xxxxxxxx.com
DocumentRoot /home/test/deploy/current
<Directory /home/test/deploy/current>
AllowOverride all
Options -MultiViews
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/test/error.log
CustomLog ${APACHE_LOG_DIR}/test/access.log combined
</VirtualHost>
Ich habe die integrierte Datei 000-default.conf wie folgt deaktiviert:
sudo a2dissite 000-default.conf
Und überprüft, dass es nicht mehr in /etc/apache2/sites-enabled war
Und den virtuellen Host aktiviert:
sudo a2ensite test.mysite.conf
Und überprüft, ob es jetzt in /etc/apache2/sites-enabled war
Ich habe überprüft, dass die Konfiguration in Ordnung ist:
sudo apache2ctl configtest
Und den Apache-Server neu gestartet:
sudo systemctl restart apache2
Hier ist eine Liste der Berechtigungen
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxr-x--- test test test
drwxr-xr-x test test deploy
drwxrwxr-x test test current
-rw-rw-r-- test test index.html
Dies wird auf AWS gehostet, also bin ich auch zu AWS gegangen und habe überprüft, dass die eingehenden Regeln der Sicherheitsgruppe eine Verbindung von meiner privaten IP-Adresse aus zulassen (ich habe eine feste IP-Adresse). Außerdem habe ich die Firewall auf dem Server nicht aktiviert.
Aber wenn ich das machehttp://test.xxxxxxxx.com
Ich erhalte in meinem Browser folgende Meldung:
Forbidden
You don't have permission to access this resource.
Apache/2.4.52 (Ubuntu) Server at test.xxxxxxxx.com Port 80
Irgendwelche Ideen?
Antwort1
Die Berechtigungen /home/test/
sind zu eingeschränkt.
drwxr-x--- test test test
Niemand sonst test
darf dieses Verzeichnis betreten, daher kann Apache es nicht lesen.
/home/
ist ohnehin nicht der richtige Ort, um ein Webroot zu platzieren. Verwenden Sie /var/www
stattdessen.