根据build议的用法,网站应该位于/ var /还是/ usr /?

根据Linux目录结构指南 , /usr/用于应用程序文件, /var/用于更改文件(我假设这意味着“属于应用程序的文件”)。 它是否正确?

如果是这种情况,那么我在使用两者之间有点撕裂。 网站是一个应用程序(如果它是dynamic的,可以这么说),但在其他情况下,它只是一个由Apache使用的文件集合。

默认的www dir位于/var/www/ ,所以我们应该使用/var/websites/ (或类似的东西),或者select/usr/websites/因为它们可能是应用程序?

这是一个非常微不足道的问题,但它却在困扰着我。 对于我们的情况,我倾向于/usr/web或类似的东西,因为我们的网站都是应用程序。

更新:

这是为我们公司的网站; 这不是一个共享的托pipe服务器,所以我们不必担心在/home/或类似的东西中分离它们。

    根据FHS的说法, /usrshareable, read-only data – 不是你想要放置网站的地方。 这是你应该把你的代码(例如Fedora这样做的Wordpress)。 另请参阅Fedora的Web资产包装指南。

    /var是“可变数据文件,包括假脱机目录和文件,pipe理和日志数据以及临时和临时文件。” – 更好,但还不太正确 – 但是很多系统都会使用/var/www ,所以即使你把它放在那里,你也是很好的公司。

    /srv是“本系统提供的特定于站点的数据”。 – 这似乎是一个很好的匹配,但是比/var/www要less得多。

    另一个放置网站文件的地方是放在/home ,但是要创build一个叫做website的特殊用户,然后把这些文件放到用户的homedir中。

    看看文件系统层次结构标准 ( 维基百科 )。 我自己使用/ srv / www / $ domain / {htdocs,logs,cgi-bin,…}。

    网站应该存在于用户的主目录中。 它们是用户数据,应该由每个站点一个用户隔离,并且dynamic内容应作为单独的用户再次运行,dynamic内容需要根据适当的权限来读取和修改这些文件。

    更新:

    仅仅因为它不是一个共享的托pipe服务器,并不意味着你不应该搞好安全实践,并将独立的angular色分离到自己的安全区域。

    权威指南是文件系统层次结构标准 ,它说/srv是适当的地方。

    根据我的观点,你永远不要把任何互联网服务放在公共系统区域。

    你的互联网服务(Apache / Tomcat / SSH等)是一个前门,那么如果你把这些服务放到你的系统区域,你可能会受到一些攻击。

    不止如果你已经把你的differents服务放入一个安全的沙箱区,就像另一个分离分区一样。

    这是一个你可以使用的结构的例子:

     / --> Root System --> On SDA1 --> Root and System security operator access only | | -->/usr /etc /var etc. /SRV --> Web Root --> On SDB1 --> Web users access with minimal rights access. | |-->/srv/bin & /srv/dta | |-->/srv/bin/apache (or any other APPLICATION Binaries) |-->/srv/dta/SQL (or any other APPLICATION Datas like a database or web PHP files etc.) 

    他们在磁盘上生活的地方没有什么问题。 这是你想要的地方

    我在所有的机器上都有一个从/ www的符号链接到他们真正生活的地方,所以我从来没有想过从机器到机器。 一些较老的机器有用户磁盘的/ u0和/ u1,并且把networking事物放在那里。 有些人/家直接安装,所以他们去那里,但/ www总是指向正确的地方。

    我也不把任何configuration放在/ usr中,也不放在/ var中。 它进入/本地(你猜对了,通常是/ u0或/ u1上的某个符号链接)。 这使备份容易。 我只是备份用户磁盘。

    当然,我有一个适用于我select的操作系统NetBSD的主站点。 我在这个主机(真的是一个xen实例)和rsync / usr周围使我想要的系统。 使我的生活变得轻松。

    Apache Web服务器在/ var / www /下有默认网站,但是build议把其他网站放在/ srv /

    我在Ubuntu Server 14.04 LTS上注意到了这一点。 其默认的apache2.conf文件包含注释块:

     #<Directory /srv/> # Options Indexes FollowSymLinks # AllowOverride None # Require all granted #</Directory>