Wie erstelle ich Webseiten in meinem Home-Verzeichnis und lasse sie vom Webserver in meinem Webbrowser bereitstellen?

9

Ich habe kürzlich den Apache-Webbrowser in meinem Debian Squeeze installiert (mit Befehl taskselund Auswahl [ ] Web server). Jetzt kann ich über starten sudo /etc/init.d/apache2 startund dann gehe ich zu meinem Browser und tippe ein. http://localhostDie Seite " Es funktioniert! " Zeigt an, dass ich den Webserver erfolgreich installiert und gestartet habe.

Jetzt weiß ich, dass die HTML-Datei für die Seite " Es funktioniert! " /var/wwwEingelegt ist, und ich muss glauben, dass ich sie in dieses Verzeichnis einfügen muss, wenn ich neue Seiten erstelle. Das Erstellen von Seiten wäre einfach, aber dabei muss ich den sudoBefehl jedes Mal ausgeben, wenn ich eine Datei unter dem /var/wwwVerzeichnis erstelle / bearbeite .

Ich möchte wissen, wie ich ein Verzeichnis in meinem HOME erstellen kann, z. B. ~/html/test/index.htmlund diese Seite anzeigen lassen, wenn ich die Adresse http://localhost/html/testin meine Browseradresse eingebe.

Eric
quelle

Antworten:

6

Wie Ulrich sagte, können Sie dies tun, indem Sie das userdirModul aktivieren .

Unter Debian kann dies mithilfe des a2enmodDienstprogramms erfolgen, mit dem Apache-Module aktiviert oder deaktiviert werden. Siehe man a2enmod.

In diesem Fall müssen Sie nur ausführen

sudo a2enmod userdir

Starten Sie anschließend den Apache-Server neu, damit die Änderung wirksam wird. Beachten Sie, dass sich das userdir-Modul in Base Apache befindet, sodass Sie nichts extra installieren müssen. Als Referenz befindet sich die Benutzerverzeichniskonfiguration in /etc/apache2/mods-available/userdir.conf.

Alles a2enmodtut hier ist eine symbolische Verbindung von der Erstellung von /etc/apache2/mods-enabledVerzeichnis zu den Dateien /etc/apache2/mods-available/{userdir.conf/userdir.load}. Sie können dies auch manuell tun. Dh

faheem@orwell:/etc/apache2/mods-enabled$ ls -la userdir.*
lrwxrwxrwx 1 root root 30 Feb  6 03:11 userdir.conf -> ../mods-available/userdir.conf
lrwxrwxrwx 1 root root 30 Feb  6 03:11 userdir.load -> ../mods-available/userdir.load

~/public_htmlStellen Sie dann das Web-Material, das Sie zur Verfügung stellen möchten, unter , und dann sollte es zugänglich sein http://servername/~username.

Faheem Mitha
quelle
1
Obwohl Ulrich so ziemlich die gleiche Antwort gibt, habe ich dies als Antwort angekreuzt, weil es detaillierter ist.
Eric
6

Sie suchen wahrscheinlich nach mod_userdir : "Mit diesem Modul können benutzerspezifische Verzeichnisse über die Syntax http://example.com/~user/ aufgerufen werden ."

Haben Sie keine Angst davor, an der Konfiguration herumzuspielen, erstellen Sie einfach Backups der Konfigurationsdateien und stellen Sie sicher, dass Ihre Firewall Ihren Apache nach außen blockiert.

Ulrich Schwarz
quelle
1
Danke @Ulrich Schwarz, ich denke das ist was ich brauche. Wie richte ich das ein? Ich bin noch nicht sehr vertraut mit Apache (erst jetzt installiert) und weiß nicht, wie ich mit Ihrem Vorschlag fortfahren soll.
Eric
2

Persönlich habe ich symbolische Links verwendet , je nach Projekt, um entweder einen Link im Inneren zu haben /var/www/oder /var/wwwselbst einen Link zu einem der Ordner in meinem Home-Verzeichnis zu haben (zum Beispiel :) ~/projects/www. Auf diese Weise kann ich das Zeichen "~" loswerden. Manchmal ist es auch nützlich für mich, wenn ich einem anderen Betrachter etwas zeigen möchte (über etwas wie :) http://253.153.87.231/page.htmlund jemand, der mit der Tastatur nicht so vertraut ist, so dass er das Symbol "~" auf der Tastatur einfach nicht finden konnte (- ein bisschen wie nach dem Schlüssel mit der Aufschrift "any" suchen) .

Faheem und Ulrich geben Ihnen wahrscheinlich ohnehin schon die beste und am häufigsten empfohlene Antwort (zumindest wenn es um Sicherheit geht).

Janar
quelle
Das möchte ich tun, funktioniert es gut? Können Sie die Syntax zum Erstellen dieser Links angeben?
Menasheh
0

Jetzt können Sie dies tun, indem Sie das Webstammverzeichnis ändern, aber Sie möchten es wirklich nicht, und hier ist der Grund:

Wenn ein Angreifer eine Sicherheitslücke in Apache oder in Ihrem Code findet, kann er möglicherweise auf das Webstammverzeichnis zugreifen. Wo sind all deine Sachen ...

Das Webstammverzeichnis ist normalerweise geschützt, mit Steuerelementen, die verhindern, dass Angreifer ausbrechen. Ihr Zuhause, möglicherweise nicht ganz so gut gesichert.

Rory Alsop
quelle