Angenommen, Sie haben Apache bereits installiert, gehen Sie wie folgt vor:
sudo a2enmod userdir
sudo service apache2 reload
Der erste Befehl aktiviert den Userdir-Apache-Mod, der genau das tut, was Sie wollen. Die zweite lädt die Apache-Konfigurationen neu, sodass sie mit der Verwendung der neuen Konfiguration beginnt.
So installieren Sie Apache2:
sudo apt-get install apache2
Natürlich müssen Sie auch sicherstellen, dass die Berechtigungen für Ihren public_html-Ordner dem www-data-Benutzer erlauben, die darin enthaltenen Dateien zu sehen – 755 funktioniert normalerweise gut. Dazu:
mkdir ~/public_html
chmod -R 755 ~/public_html
Dies wird rekursiv (-R) Ihre public_html durchlaufen und die Berechtigungen auf 755 setzen (Eigentümer rwx und sowohl Gruppe als auch andere r-x, r-x).
Die anderen Antworten sind mit mod_userdir
auf dem richtigen Weg , aber wenn Sie das verwenden, erhält Ihre Website die Basis-URL http://www.yourdomain.com/~username/
- zum Beispiel eine Datei /home/username/public_html/index.html
wäre zugänglich als http://www.yourdomain.com/~username/index.html
. Wenn Sie möchten, dass Ihre Dateien unter dem Domain-Root zugänglich sind, als http://www.yourdomain.com/index.html
dann müssen Sie zum Beispiel die Direktive
DocumentRoot /home/username/public_html
in der Apache-Konfigurationsdatei.
Sie müssen mod_userdir für Apache verwenden, andernfalls müssen Sie Symlinks von /var/www/
einrichten oder wo auch immer.
Ihr Berechtigungsproblem liegt daran, dass Apache keinen Lesezugriff auf Ihre Dateien hat. Sie müssen Lesezugriff auf www-data
gewähren (oder was auch immer der Benutzer ist; distrospezifisch).