Userdir访问在ISPConfig 3服务器上

在ISPConfig3服务器上进行Userdir访问

版本1.0
作者:MichelKäser<info [at] rackster [dot] ch>

本教程介绍如何在运行apache2的ISPConfig3服务器上启用基于userdir的访问。

最后,您的客户将能够通过http://yourdomain.tld/~clientdomain.tld访问他们的网站

我不会保证这将为您工作!

1要求

要遵循本教程,您将需要以下内容:

  • 一个工作的ISPConfig3服务器

2准备Apache2

在安装ISPConfig3插件之前,我们必须准备apache2 webserver。 这很简单

首先,您必须通过键入以下命令启用mod_userdir模块:

a2enmod userdir

由于我们不想使用模块默认配置,所以我们只需删除它的内容(否则,所有域都可以访问):

echo "" > /etc/apache2/mods-available/userdir.conf

但是,apache2现在没有userdir的配置了,所以我们再次添加。

使用您选择的编辑器(例如,nano)打开文件/ etc / apache2 / sites-available / default ,并在vhost指令中附加以下行:

[...]
<IfModule mod_userdir.c>
	UserDir /var/www/*/web
	UserDir disabled

	Include /etc/apache2/userdirs-enabled/*

	<Directory /var/www/*/web>

		AllowOverride FileInfo AuthConfig Limit Indexes
		Options MultiViews SymLinksIfOwnerMatch IncludesNoExec

		<Limit GET POST OPTIONS>
			Order allow,deny
			Allow from all
		</Limit>

		<LimitExcept GET POST OPTIONS>
			Order deny,allow
			Deny from all
		</LimitExcept>

		# Disallow PHP file access
		<Files ~ '.php[s3-6]{0,1}$'>
			Order allow,deny
			Deny from all
			Allow from none
		</Files>

	</Directory>
</IfModule>
[...]

并保存文件。

最后但并非最不重要的是,我们需要创建两个文件夹,插件将保存它的文件(等同于可用的站点和站点启用):

mkdir /etc/apache2/userdirs-available
mkdir /etc/apache2/userdirs-enabled

最后,重新启动apache:

/etc/init.d/apache2 restart

3安装插件

现在是安装插件本身的时候了,现在userdir没有任何东西。

下载插件

/ tmp中有临时文件总是很好,所以去那里:

cd /tmp

并下载插件:

wget https://github.com/Rackster/ispconfig3-userdir/zipball/stable

请注意,URL的最后一部分(例如* stable *)表示分支。
我们有* master *,* stable *和* experimental *,但是你应该总是采取* stable *,因为它包含一个正常工作的版本。

现在,通过运行以下方式解压缩文件:

unzip stable
rm stable

复制文件

好的,因为您现在拥有服务器磁盘上的所有文件,现在是将其复制到正确的路径。 因此,我们首先改为新创建的文件夹:

cd Rackster-ispconfig3-userdir-*

并复制文件:

cp usr/local/ispconfig/server/plugins-available/apache2_userdir_plugin.inc.php /usr/local/ispconfig/server/plugins-available/
cp usr/local/ispconfig/server/conf/apache2_userdir.conf.master /usr/local/ispconfig/server/conf/

接口文件夹中的所有文件执行相同操作 。 您可能需要先删除现有文件。

如果您的设置已经被修改,手动应用更改可能很聪明。 为了做到这一点,只需要通过https://github.com/Rackster/ispconfig3-userdir/commit/777177b6c768c1f3777bf7d70443e3f8483820b8来查看哪些文件被更改。

完成了! 我们不再需要下载的文件,所以我们可以删除它们:

rm -rf /tmp/Rackster-ispconfig3-userdir-*

但是,该插件使用从另一个插件获取的类,因此您必须创建一个文件夹和文件才能工作:

mkdir /usr/local/ispconfig/server/plugins-available/classes

并在此文件夹中创建一个名为vhost.php的文件:

nano /usr/local/ispconfig/server/plugins-available/classes/vhost.php

并将此文件的内容粘贴到其中: https//raw.github.com/Rackster/ispconfig3-nginx-reverse-proxy/master/usr/local/ispconfig/server/plugins-available/classes/vhost.php

添加DB字段

插件需要ISPConfig数据库中的另一个字段,您必须创建它。 最简单的方法是登录phpMyAdmin:

select ISPConfig DB -> select table web_domain -> add new field after "errordocs" -> name: userdir, type: tinyint, length: 1, default: 0
 

CHMOD文件

赶紧跑:

chmod 750 /usr/local/ispconfig/server/conf/apache2_userdir.conf.master
chmod 750 /usr/local/ispconfig/server/plugins-available/apache2_userdir_plugin.inc.php

设定正确的权利。

启用插件

ISPConfig在/ usr / local / ispconfig / server / plugins启用了启用的插件,所以我们必须在那里创建一个符号链接:

cd /usr/local/ispconfig/server/plugins-enabled/
ln -s /usr/local/ispconfig/server/plugins-available/apache2_userdir_plugin.inc.php

就这样!

4使用插件

如果您按照上述步骤操作,则现在应该在站点模块中看到另一个称为临时URL的 “字段”。 要启用域的基于用户dir的访问,只需激活其旁边的复选框。

然后,客户端可以通过在浏览器中键入: http://yourdomain.tld/~hisdomain.tld来访问他的网站。

5注释

  • 出于安全考虑,通过其userdir URL访问站点时,PHP完全被禁用。
  • 这可能只对使用HTML / CSS / JS的网站有用。
  • 确保不时检查GitHub上的存储库,以检查是否有其他更改。

6链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏