Nach einer Führung über die Struktur Linux - Verzeichnisses , /usr/
ist für Anwendungsdateien, und /var/
ist für Dateien , die geändert werden (ich nehme an, dies bedeutet „Dateien , die zu den Anwendungen gehören“). Ist das richtig?
Wenn dies der Fall ist, bin ich ein wenig hin und her gerissen, wenn ich eines von beiden benutze. Eine Website ist eine Anwendung (wenn sie sozusagen dynamisch ist), in anderen Fällen handelt es sich jedoch nur um eine Sammlung von Dateien, die von Apache verwendet werden.
Das voreingestellte www-Verzeichnis ist gültig. Sollten /var/www/
wir also nachziehen, indem wir /var/websites/
(oder ähnliches) verwenden, oder wählen, /usr/websites/
da es sich um Anwendungen handeln könnte?
Dies ist eine sehr triviale Frage, aber sie nervt mich trotzdem. Für unseren Fall neige ich zu /usr/web
oder so etwas, da unsere Websites alle Anwendungen sind.
Aktualisieren:
Dies gilt für unsere Unternehmenswebsites. Es handelt sich nicht um einen gemeinsam genutzten Hosting-Server, daher brauchen wir uns keine Gedanken darüber zu machen /home/
, wie diese aufgeteilt werden.
Antworten:
Nach Angaben der FHS ,
/usr
ist fürshareable, read-only data
- nicht , wo Sie die Website setzen wollen. Hier sollten Sie Ihren Code einfügen (Fedora erledigt dies beispielsweise für Wordpress). Siehe auch das Paketierungshandbuch für Web-Assets für Fedora./var
ist "Variable Datendateien. Dies umfasst Spool-Verzeichnisse und -Dateien, Verwaltungs- und Protokollierungsdaten sowie vorübergehende und temporäre Dateien." - besser, aber immer noch nicht ganz richtig - aber viele Systeme werden verwendet/var/www
. Selbst wenn Sie sich irren, sind Sie in guter Gesellschaft./srv
steht für "ortsspezifische Daten, die von diesem System bereitgestellt werden". - Das scheint eine gute Übereinstimmung zu sein, ist aber viel seltener als/var/www
.Der andere übliche Ort, an dem die Site-Dateien abgelegt werden, besteht darin
/home
, einen speziellen Benutzer namenswebsite
oder einen solchen zu erstellen und die Dateien dann in das Homedir des Benutzers zu stellen (z/home/website
. B. ).quelle
/srv
- da ich das noch nie zuvor gesehen hatte, dachte ich, dass es von ihnen geschaffen wurde. Ist es eine Redhat / CentOS-Sache?/var/www
weil Distributionen keine Berührung zulassen/srv
. Das muss der Systemadministrator konfigurieren. Deshalb ist es "viel seltener" und auch richtig.Schauen Sie sich den Filesystem Hierarchy Standard ( Wikipedia ) an. Ich selbst verwende / srv / web / $ domain / {htdocs, logs, cgi-bin, ...}.
quelle
Websites sollten sich in den privaten Verzeichnissen der Benutzer befinden. Sie sind Benutzerdaten, sollten von einem Benutzer pro Site isoliert werden, und dynamischer Inhalt sollte wieder als separater Benutzer ausgeführt werden, mit Dateien, die der dynamische Inhalt mit den entsprechenden Berechtigungen lesen und ändern muss.
Aktualisieren:
Nur weil es sich nicht um einen gemeinsam genutzten Hosting-Server handelt, sollten Sie sich nicht auf bewährte Sicherheitsmethoden einlassen und unabhängige Rollen in ihre eigenen Sicherheitszonen unterteilen.
quelle
Die endgültige Anleitung ist der Dateisystem-Hierarchie-Standard, der besagt, dass dies
/srv
der richtige Ort ist.quelle
by this system
, sondern von einer ganzen Reihe von Systemen. und die beiden Sätze, die mit beginnen,This setup will differ from host to host.
deuten darauf hin, dass dies nicht der Ort für Dateien ist, die von vielen Servern gemeinsam genutzt werden. Es ist jedoch ein ziemlich wahrscheinlicher Ort - sicherlich passender/usr
und wohl besser als/var
Wo sie auf der Festplatte leben, spielt keine Rolle. Hier willst du sie haben.
Ich habe einen Symlink von / www auf allen meinen Maschinen zu dem Ort, an dem sie wirklich leben, sodass ich mich nie von Maschine zu Maschine wundern muss. Einige ältere Computer haben / u0 und / u1 für Benutzerdatenträger, und ich platziere die Websachen dort. Einige haben / home direkt montiert, so dass sie dorthin gehen, aber / www zeigt immer auf die richtige Stelle.
Ich habe auch keine Konfiguration in / usr noch in / var. Es geht in / local (was, wie Sie vermutet haben, normalerweise ein Symlink irgendwo auf / u0 oder / u1 ist). Dies erleichtert das Sichern. Ich habe gerade die Benutzerdatenträger gesichert.
Natürlich habe ich eine Master-Distributions-Site für mein Betriebssystem, NetBSD. Ich mache das System so, wie ich es auf diesem Hauptrechner (wirklich eine Xen-Instanz) und rsync / usr haben möchte. Macht mir das Leben leicht.
quelle
/path/we/chose
"?Auf Apache-Webservern befindet sich die Standardwebsite unter / var / www /. Es wird jedoch empfohlen , andere Websites unter / srv / zu platzieren.
Ich habe dies auf Ubuntu Server 14.04 LTS bemerkt. Die Standarddatei apache2.conf enthält einen kommentierten Block:
quelle
Meiner Meinung nach sollten Sie NIEMALS und NIEMALS Internetdienste in die gemeinsame Systemzone stellen.
Ihre Internetdienste (Apache / Tomcat / SSH usw.) sind eine Eingangstür. Wenn Sie diese Dienste in Ihre Systemzone integrieren, sind Sie möglicherweise für einige Angriffe anfällig.
Mehr als wenn Sie Ihre verschiedenen Dienste in eine sichere Sandboxzone wie eine andere Trennpartition gestellt haben.
Hier ist ein Beispiel für eine Struktur, die Sie verwenden könnten:
quelle
/srv/bin
Scheint gegen die FHS zu verstoßen, die besagt, dass/srv
es sich um Daten handelt, nicht um Binärdateien/home
eine separate Partition. Sie können alles auf der Nicht-/home
Partition in die Luft jagen und müssen sich keine Gedanken über den Verlust von Benutzerdaten machen. +1 für die Trennung von Daten.