Lösung 1:
Laut FHS /usr
ist für shareable, read-only data
- nicht dort, wo Sie die Website platzieren möchten. Hier sollten Sie Ihren Code ablegen (z. B. tut Fedora dies für Wordpress). Siehe auch den Verpackungsleitfaden für Web-Assets für Fedora.
/var
ist "variable Datendateien. Dazu gehören Spool-Verzeichnisse und -Dateien, Verwaltungs- und Protokolldaten sowie transiente und temporäre Dateien." -- besser, aber immer noch nicht ganz richtig -- aber viele Systeme werden /var/www
verwenden , selbst wenn Sie also falsch liegen, sind Sie in guter Gesellschaft.
/srv
steht für "standortspezifische Daten, die von diesem System bereitgestellt werden". -- was eine gute Übereinstimmung zu sein scheint, aber viel seltener vorkommt als /var/www
.
Der andere übliche Ort zum Ablegen der Site-Dateien ist unter /home
-- durch Erstellen eines speziellen Benutzers namens website
oder so, und dann die Dateien im Heimatverzeichnis dieses Benutzers platzieren (z. B. /home/website
).
Lösung 2:
Schauen Sie sich den Filesystem Hierarchy Standard (Wikipedia) an. Ich selbst verwende /srv/web/$domain/{htdocs,logs,cgi-bin,...}.
Lösung 3:
Websites sollten sich in den Home-Verzeichnissen der Benutzer befinden. Es handelt sich um Benutzerdaten, die von einem Benutzer pro Website isoliert werden sollten, und dynamische Inhalte sollten wieder als separater Benutzer ausgeführt werden, mit Dateien, die die dynamischen Inhalte lesen und ändern müssen, sofern die entsprechenden Berechtigungen dazu vorhanden sind.
Aktualisierung:
Nur weil es sich nicht um einen gemeinsam genutzten Hosting-Server handelt, bedeutet das nicht, dass Sie sich nicht an bewährten Sicherheitspraktiken beteiligen und unabhängige Rollen in ihre eigenen Sicherheitszonen aufteilen sollten.
Lösung 4:
Die definitive Anleitung ist der Filesystem Hierarchy Standard, der besagt, dass /srv
ist der richtige Ort.
Lösung 5:
Wo sie auf der Festplatte leben, hat wenig Bedeutung. Es ist dort, wo Sie sie haben wollen.
Ich habe auf allen meinen Rechnern einen symbolischen Link von /www zu dem Ort, an dem sie wirklich leben, sodass ich mich nie von Rechner zu Rechner wundern muss. Einige ältere Maschinen haben /u0 und /u1 für Benutzerfestplatten, und ich platziere die Websachen dort. Einige haben /home direkt gemountet, also gehen sie dorthin, aber /www zeigt immer auf die richtige Stelle.
Ich füge auch keine Konfiguration in /usr oder /var ein. Es geht in /local (was, Sie haben es erraten, typischerweise ein symbolischer Link irgendwo auf /u0 oder /u1 ist). Dies macht das Sichern von Dingen einfach. Ich sichere nur die Benutzerfestplatten.
Natürlich habe ich eine Master-Distributionsseite für mein bevorzugtes Betriebssystem, NetBSD. Ich mache das System so, wie ich es auf dieser Hauptmaschine (eigentlich eine Xen-Instanz) und rsync /usr herum haben möchte. Macht mein Leben einfach.