GNU/Linux >> Linux Esercitazione >  >> Linux

I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?

Soluzione 1:

Secondo l'FHS, /usr sta per shareable, read-only data - non dove vuoi mettere il sito web. Qui è dove dovresti inserire il tuo codice (ad esempio Fedora lo fa per Wordpress). Vedi anche la guida al packaging delle risorse web per Fedora.

/var è "file di dati variabili. Ciò include directory e file di spool, dati amministrativi e di registrazione e file transitori e temporanei". -- meglio, ma ancora non del tutto corretto -- ma molti sistemi useranno /var/www , quindi anche se sbagli a metterlo lì sei in buona compagnia.

/srv sta per "dati specifici del sito forniti da questo sistema". -- che sembra una buona corrispondenza, ma è molto meno comune di /var/www .

L'altro luogo comune in cui inserire i file del sito è sotto /home -- creando un utente speciale chiamato website o simili, quindi posizionando i file all'interno della homedir di quell'utente (ad es., /home/website ).

Soluzione 2:

Dai un'occhiata al Filesystem Hierarchy Standard (Wikipedia). Io stesso uso /srv/web/$domain/{htdocs,logs,cgi-bin,...}.

Soluzione 3:

I siti web dovrebbero vivere nelle home directory degli utenti. Sono dati utente, dovrebbero essere isolati da un utente per sito e il contenuto dinamico dovrebbe essere eseguito nuovamente come utente separato, con i file che il contenuto dinamico deve leggere e modificare con le autorizzazioni appropriate per farlo.

Aggiornamento:

Solo perché non è un server di hosting condiviso non significa che non dovresti adottare buone pratiche di sicurezza e separare i ruoli indipendenti nelle loro zone di sicurezza.

Soluzione 4:

La guida definitiva è il Filesystem Hierarchy Standard che dice che /srv è il posto giusto.

Soluzione 5:

Dove vivono su disco ha poca importanza. È dove li vuoi.

Ho un collegamento simbolico da /www su tutte le mie macchine a dove vivono realmente, quindi non devo mai chiedermi da una macchina all'altra. Alcune macchine più vecchie hanno /u0 e /u1 per i dischi degli utenti e metto lì le cose web. Alcuni hanno /home montato direttamente, quindi vanno lì, ma /www punta sempre al posto giusto.

Inoltre non inserisco alcuna configurazione in /usr né in /var. Va in /local (che, avete indovinato, è un collegamento simbolico da qualche parte su /u0 o /u1 in genere). Questo semplifica il backup delle cose. Eseguo solo il backup dei dischi utente.

Ovviamente ho un sito di distribuzione principale per il mio sistema operativo preferito, NetBSD. Realizzo il sistema come lo voglio su questa macchina principale (davvero un'istanza xen) e rsync /usr in giro. Mi semplifica la vita.


Linux
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Linux:differenza tra /dev/console , /dev/tty e /dev/tty0?

  3. Django static_root in /var/www/... - nessuna autorizzazione a collectstatic

  4. Quando dovrei usare /dev/shm/ e quando dovrei usare /tmp/?

  5. Perché mettere cose diverse da /home in una partizione separata?

Linux – Unire /usr/bin e /usr/sbin in /bin (gnu/linux)?

Differenza tra /var/log/messages, /var/log/syslog e /var/log/kern.log?

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

Perché le directory /home, /usr, /var, ecc. hanno tutte lo stesso numero di inode (2)?

Perché sono necessari < o > per usare /dev/tcp

Come modificare /tmp predefinito in /home/user/tmp