Soluzione 1:
Nelle distribuzioni CentOS Linux (e successivamente RedHat), quando installi il pacchetto httpd (per Apache 2), crea /var/www
e si aspetta che i tuoi vhost puntino al tuo contenuto web qui. Il vhost predefinito viene generalmente scaricato in /var/www/htdocs
e i siti/app successivi devono essere inseriti in /var/www/sitename
.
La posizione effettiva non dovrebbe avere molta importanza, ma è comune vedere /opt/www/sitename
, /var/www/sitename
, o semplicemente /opt/www
o /var/www
.
Hai già indicato alcuni dei motivi per cui alcune delle altre località (come /home
) non sono proprio adatti a questo.
Personalmente, preferisco /var/www/sitename
poiché è compatibile con Apache e Rails ed è a livello di sistema.
Soluzione 2:
Potresti voler seguire il Filesystem Hierarchy Standard (FHS) e inserirlo in
/srv : Data for services provided by this system
MODIFICA:
Non lo metterei in /opt
:
/opt : Add-on application software packages
Il suo scopo dice:
/opt è riservato per l'installazione di pacchetti software applicativi aggiuntivi.
Un pacchetto da installare in /opt deve trovare i suoi file statici in un albero di directory separato /opt/ o /opt/, dove è un nome che descrive il pacchetto software ed è il nome registrato LANANA del provider.
Non credo che un'applicazione sviluppata sia un "pacchetto software".
La motivazione per /srv
è
Lo scopo principale di specificare questo è in modo che gli utenti possano trovare la posizione dei file di dati per un particolare servizio e in modo che i servizi che richiedono un singolo albero per i dati di sola lettura, i dati scrivibili e gli script (come gli script cgi) possano essere posizionati ragionevolmente.
Capisco che un'app Rails è uno script cgi e dovrebbe essere inserita in /srv
.
Soluzione 3:
Penso /opt sarebbe il posto per una applicazione come questo. Sono d'accordo nel seguire l'FHS come suggerito da chmeee, ma non sono d'accordo che un'app Rails sia un servizio in sé.