欢迎来到云服务器

Directadmin Linux面板

基于自定义包项目来自定义用户httpd.conf文件

通过添加定制包项目,您现在可以使用这些项目来控制系统的其他区域。 在这个例子中,我们将让这些项目控制用户httpd.conf文件的内容。

1)第一步是添加一个自定义包项目。 请参阅本指南了解如何执行此操作。 在这个例子中,使用复选框。 给这个变量命名为myval
 
2)接下来,我们需要有这个选项做一些事情。 默认情况下,该项目只存储在user.conf文件中。如果它不会执行任何操作。
 
创建脚本 /usr/local/directadmin/scripts/custom/user_create_post.sh.   在该文件中,添加以下代码:

#!/bin/sh
if [ "$myval" = "yes" ]; then
     echo "CustomApache code" >> /usr/local/directadmin/data/users/$username/domains/$domain.cust_httpd
     echo "action=rewrite&value=httpd&user=$username" >> /usr/local/directadmin/data/task.queue
fi
exit 0;



这会将“CustomApache代码”插入到| CUSTOM |中 令牌在virtual_host2 * .conf模板文件中。


这些模板通过使用if-then-else语句和变量提供了更多的灵活性。 例如,如果编辑全局模板以获得一些代码......但您只希望某些用户或域可用的代码,则可以使用if-then-else和变量。 对于这个例子,如果设置了变量MYVAL = yes,那么我们将代码插入到httpd.conf中,例如在virtual_host2 * .conf文件中,在| CUSTOM | 令牌:

|*if MYVAL="yes"|
CustomApache code
|*endif|

然后,在上面的步骤  2)中,而不是使用这个来添加

     echo "CustomApache code" >> /usr/local/directadmin/data/users/$username/domains/$domain.cust_httpd

用这个来代替

     echo "|?MYVAL=yes|" >> /usr/local/directadmin/data/users/$username/domains/$domain.cust_httpd

将其插入到| CUSTOM |中 令牌,从而设置变量..这样,一旦你的if-then-else语句发生,值= yes,你就可以走了。
 
然后,您可以从以下网址开启或关闭网域:
Admin Level -> Custom htppd config -> domain

通过添加或删除| MYVAL = yes | 来自文本区域的代码。
 
这仍然可以通过包管理,但您还需要创建user_modify_post.sh,以基于设置的值添加或删除domain.com.cust_httpd文件。
腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号