Lösung 1:
Bei CentOS-Linux-Distributionen (und anschließend RedHat) wird bei der Installation des httpd-Pakets (für Apache 2) /var/www
erstellt , und erwartet, dass Ihre Vhosts hier auf Ihre Webinhalte verweisen. Der Standard-vhost wird normalerweise in /var/www/htdocs
ausgegeben , und nachfolgende Websites/Apps sollten in /var/www/sitename
eingefügt werden .
Der tatsächliche Standort sollte keine große Rolle spielen, aber es ist üblich, /opt/www/sitename
zu sehen , /var/www/sitename
, oder einfach /opt/www
oder /var/www
.
Sie haben bereits einige der Gründe genannt, warum einige der anderen Standorte (wie /home
) sind dafür nicht wirklich geeignet.
Ich persönlich bevorzuge /var/www/sitename
da es Apache- und Rails-freundlich ist und systemweit gilt.
Lösung 2:
Vielleicht möchten Sie dem Filesystem Hierarchy Standard (FHS) folgen und ihn in
platzieren/srv : Data for services provided by this system
BEARBEITEN:
Ich würde es nicht in /opt
platzieren :
/opt : Add-on application software packages
Sein Zweck lautet:
/opt ist für die Installation zusätzlicher Anwendungssoftwarepakete reserviert.
Ein Paket, das in /opt installiert werden soll, muss seine statischen Dateien in einem separaten /opt/- oder /opt/-Verzeichnisbaum finden, wobei ein Name ist, der das Softwarepaket beschreibt und der LANANA-registrierte Name des Anbieters ist.
Ich glaube nicht, dass eine entwickelte Anwendung ein „Softwarepaket“ ist.
Die Begründung für /srv
ist
Der Hauptzweck dieser Angabe besteht darin, dass Benutzer den Speicherort der Datendateien für bestimmte Dienste finden können und dass Dienste, die einen einzelnen Baum für schreibgeschützte Daten, beschreibbare Daten und Skripte (wie CGI-Skripte) benötigen, sinnvoll platziert werden können.
Ich verstehe, dass eine Rails-App ein CGI-Skript ist und in /srv
platziert werden sollte .
Lösung 3:
Ich denke /opt wäre der Platz für eine Bewerbung so was. Ich stimme zu, dem FHS zu folgen, wie von chmeee vorgeschlagen, aber ich bin nicht damit einverstanden, dass eine Rails-App per se ein Dienst ist.