如何在Linux / Apache2.2上为多个用户configuration多个虚拟主机

我想在Linux / Apache2.2上build立一个虚拟主机服务器,允许多个用户设置多个网站域名,这对于商业共享主机来说是合适的。

我已经看到了一些示例(从我的angular度来看,这是一个共享的托pipe客户),允许用户将他们的Web文件存储在他们的用户主目录中,其目录与虚拟主机域相对应,例如:

/home/user1/www/example1.com
/home/user2/www/example2.com

而不是使用/ var / www

问题:

  1. 你如何configuration你的Apacheconfiguration文件? (不要担心DNS)
  2. 这是pipe理多个虚拟主机的最佳方式吗? 有其他人吗?
  3. 你认为我应该注意哪些安全或安全问题?

非常感谢,伙计们。

编辑:如果你只想回答问题1,请随意,因为这是我目前最紧急的,我会考虑这个问题的答案。 自发布以来,我一直为自己做,但我不相信这是最好的解决scheme,我想知道有经验的系统pipe理员将如何做到这一点。 谢谢。

我不是从托pipe世界,但我相信这是通过以下方式完成的(谈论商业共享托pipe):

在主要的apache的conf(通常是httpd.conf)中有一些基本的设置,像include /etc/httpd/vhosts/*.conf。

/ etc / httpd / vhosts /中的每个文件都代表一个signle虚拟主机,其configuration由一些configuration面板(如ISPManager或cPanel等)或自定义主机的软件使用预定义的模板生成。

所以,虚拟主机pipe理容易,资源跟踪,安全等问题较多。

我有一个类似的情况发生在我的VPS我打算指定额外的位置,以获得站点configuration从(我有信任的用户)
/主页/用户1 /启用的站点 –
/家庭/用户2 /启用的站点 –
然后每个用户获得重新加载Apache的权利(YAY为sudo)

在我添加的apache2.conf
包括/ home / user1 / sites-enabled /
包括/ home / user2 / sites-enabled /

然后,您的用户可以指定他们想要configuration的站点,然后configuration他们希望的文件夹。

对于用户虚拟主机的用户,您可以非常轻松地使用Apache内置的mod_userdir,在几乎所有主要的Linux发行版中。 这里是一个链接: http : //httpd.apache.org/docs/2.2/mod/mod_userdir.html

只需启用它并定义用户将用来托pipe文件的文件夹的名称即可。