2009-02-09 18 views
24

einfache Frage, aber aus irgendeinem Grunde konnte ich nicht die genaue Antwort auf Google finden:Wie kann ich einen öffentlichen HTML-Ordner in Ubuntu erstellen?

Ich habe eine neue Ubuntu auf Slicehost installieren, und möchte ein öffentliches Verzeichnis in meinem Home-Verzeichnis für eine einfache Website machen enthält eine Reihe von statischen HTML-Dateien. Wie mache ich das? Ist es nur eine Frage der Eingabe mkdir public_html und Festlegen der Berechtigungen, oder gibt es einen saubereren Weg? (Ich erinnere mich, dass ich in der Vergangenheit Probleme hatte, bei denen ich jedes Mal, wenn ich eine Datei in mein public_html-Verzeichnis kopierte, die Berechtigungen manuell festlegen musste.)

+1

Haben Sie Apache installiert? –

+0

Ja, ich befolgte die Anweisungen unten und alles funktionierte. Danke an alle. Entschuldigung, wenn die Frage außerhalb des Themas ist. Sie können diese Frage schließen, wenn Sie möchten. – RexE

Antwort

31

Vorausgesetzt, dass Sie bereits Apache installiert haben, Sie wie folgt vor:

sudo a2enmod userdir 
sudo service apache2 reload 

Der erste Befehl ermöglicht es dem userdir Apache mod, das ist genau das tut, was Sie wollen. Der zweite lädt Apache-Konfigurationen neu, so dass er die neue Konfiguration verwendet.

apache2 installieren:

sudo apt-get install apache2 

Natürlich müssen Sie auch sicherstellen, dass die Berechtigungen auf Ihrem public_html Ordner der www-data Benutzer ermöglichen, die Dateien dort zu sehen - 755 funktioniert in der Regel Gut. Um dies zu tun:

mkdir ~/public_html 
chmod -R 755 ~/public_html 

Dies wird rekursiv (-R) gehen durch Ihre public_html und legen Sie die Berechtigungen auf 755 (Inhaber rwx, und beide Gruppe und anderen r-x, r-x).

+0

, aber wo soll ich den Ordner public_html setzen? unter/var/www /? – Dejell

+1

Setzen Sie die public_html-Datei in das Home-Verzeichnis des Benutzers, wie oben gezeigt 'mkdir ~/public_html'. – Cyrille

+0

wenn ich für $ sudo a2enmod Benutzer-ID versuchte, gibt es mir einen Fehler Modul Benutzer-ID wird nicht beendet! ,, aber ich habe es in meinem Home-Verzeichnis erstellt. Wie löst man es? – jazzz

2

Sie müssen mod_userdir für Apache verwenden, Andernfalls müssen Sie Symlinks von /var/www/ oder wo auch immer einrichten.

Ihr Berechtigungsproblem liegt darin, dass Apache keinen Lesezugriff auf Ihre Dateien hat. Sie müssen Lesezugriff auf www-data (oder was auch immer der Benutzer ist; distributionsspezifisch) zulassen.

9

Die anderen Antworten sind auf dem richtigen Weg mit mod_userdir, aber das verwendet, wird Ihrer Website der Basis-URL http://www.yourdomain.com/~username/ geben - zum Beispiel eine Datei /home/username/public_html/index.html würde als http://www.yourdomain.com/~username/index.html zugänglich sein. Wenn Sie Ihre Dateien mögen zugänglich unter der Domain root sein, wie http://www.yourdomain.com/index.html zum Beispiel, dann werden Sie die Richtlinie

DocumentRoot /home/username/public_html 

in der Apache-Konfigurationsdatei setzen müssen.

Übrigens ist diese Art von Frage eher für die Slicehost Foren geeignet.

+0

Was ist, wenn ich die Dateien unter/var/www/public_html ablegen möchte? – Dejell

+0

Verwenden Sie das stattdessen als das Dokumentenstammverzeichnis. –

Verwandte Themen