Neexistuje žádný "nejlepší" adresář. A přestože lidé mohou namítat, že tato otázka je subjektivní nebo že na skutečném umístění souborů nezáleží – a v tom druhém mají pravdu – existují standardizovaná doporučení, kam co umístit v systémech podobných Unixu.
Standard Hierarchy Filesystem to definuje a nabízí vám následující:
-
/var
– místo pro uložení dat, která se během normálního provozu mění, jako jsou protokoly atd./var/www
je výchozí adresář pro umístění webového obsahu pro Apache, ale jeho použití není vůbec standardizováno a je to jen "obvyklé" místo, kam byste ho umístili, protože lidé výchozí nastavení příliš často nemění. -
/srv
– tento adresář by měl obsahovat data obsluhovaná systémem. Toto je obvykle místo, které chcete. FHS vysvětluje:Hlavním účelem této specifikace je, aby uživatelé mohli najít umístění datových souborů pro konkrétní službu a aby bylo možné rozumně umístit služby, které vyžadují jeden strom pro data pouze pro čtení, zapisovatelná data a skripty (jako jsou skripty cgi). Data, která zajímají pouze konkrétního uživatele, by měla být uložena v domovském adresáři tohoto uživatele. (…)
Jedna metoda pro strukturování dat pod
/srv
je protokolem, např.ftp
,rsync
,www
acvs
Jednoduše tedy vytvořte
/srv/www
adresář a použijte tento. Můžete vytvořit podsložky pro každého virtuálního hostitele, kterého budete chtít obsluhovat se svým počítačem. -
/home
obsahuje soubory, které by skutečně měly patřit pouze jednomu uživateli. Apache například umožňuje userdirs, takže můžete přistupovat k webovým souborům uživatele přeshttp://example.com/~username
a jsou poskytovány zpublic_html
adresář v domově uživatele.Pokud používáte server, který sdílí více lidí, a chcete každému umožnit hostovat vlastní skripty, měli by jít sem. Nezapomeňte, aby do adresářů mohl zapisovat pouze uživatel, kterému patří.
V podstatě /srv/www
a /var/www
jsou adresáře, ve kterých byste měli vytvářet podadresáře pro jakýkoli webový projekt, který byste mohli chtít hostit. Poté můžete pro tyto adresáře definovat různá oprávnění, abyste do nich mohli zapisovat určitým uživatelům nebo skupinám uživatelů. Pokud máte projekty pro jednoho uživatele najednou, použijte /home
.
Soubory můžete umístit kamkoli, pokud k nim věci mají správný přístup, ale přeplněné souborové systémy jsou bolesti hlavy, pokud někdo přijde později.
/srv
je nejlogičtější plus, pokud budete postupovat podle Filesystem Hierarchy Standard, bude to tady.
Pokud děláte více domén, můžete udělat /srv/domain1
/srv/domain2
atd. atd., pak podsložku uvnitř /ftp
/www
/tftp
/logs
/etc.etc.etc
Podle mě je to velmi pevná struktura, na které lze stavět a která se snadno ovládá
Ale jako správce můžete dělat čistotu nebo nepořádek, jak chcete.
Dobře, snadná rychlá odpověď.
Pokud k vašim webovým souborům v systému bude mít přístup pouze JEDEN uživatel na linuxovém systému. Použijte domovský adresář uživatele (~/
).
Pokud vaše webové soubory v systému budou mít přístup VÍCE uživatelů na linuxovém systému. Použijte /srv/
.
Přesně toto uvádí http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM.
Zde je citace:
/srv obsahuje data specifická pro web, která je obsluhována tímto systémem.
Hlavním účelem specifikace je to, aby uživatelé mohli najít umístění datových souborů pro konkrétní službu a aby bylo možné rozumně umístit služby, které vyžadují jeden strom pro data pouze pro čtení, zapisovatelná data a skripty (jako jsou skripty cgi). Data, která zajímají pouze konkrétního uživatele, by měla být uložena v domovském adresáři tohoto uživatele.
Bonus:www? ftp? Organizovat podle protokolu? Co?
Jak je uvedeno zde na http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM
- Pokud vaše webové stránky navštěvuje pouze JEDEN uživatel v systému a POUZE prostřednictvím prohlížeče (protokol http), pak:
~/http/your-website-directory/
- Pokud vaše webové stránky navštěvuje pouze JEDEN uživatel v systému a NEJEN prostřednictvím prohlížeče, ale několika protokolů (např. http A tcp AND ...), pak:
~/your-website-directory/
- Pokud vaše webové stránky navštěvuje VÍCE uživatelů v systému a POUZE prostřednictvím prohlížeče (protokol http), pak:
/srv/http/your-website-directory/
- Pokud váš web navštěvuje VÍCE uživatelů v systému a NEJEN přes prohlížeč, ale více protokolů (např. http A ftp A ...), pak:
/srv/your-website-directory/
Proč ne www? Toto je dědictví z doby Apache. www neuvádí, který protokol se používá. Debian to dodnes používá, zatímco například Arch linux používá /srv/http.