在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上的存储库,以检查是否有其他更改。