PHP中的Virtualmin域名注册
在PHP网页中,我需要运行以下命令来创建新域:PHP中的Virtualmin域名注册,php,Php,在PHP网页中,我需要运行以下命令来创建新域: virtualmin create-domain --domain DOMAIN --pass PASS --plan 'Standard Package' --limits-from-plan --features-from-plan 这通常在shell中执行,但我不知道如何从web页面执行,而且我还需要从web表单获取域和传递字符串。有人能帮你编写PHP代码吗?我的技能是基本的,我已经尝试了一些不起作用的东西。怎么样 或: 您可以使用$\u
virtualmin create-domain --domain DOMAIN --pass PASS --plan 'Standard Package' --limits-from-plan --features-from-plan
这通常在shell中执行,但我不知道如何从web页面执行,而且我还需要从web表单获取域
和传递
字符串。有人能帮你编写PHP代码吗?我的技能是基本的,我已经尝试了一些不起作用的东西。怎么样
或:
您可以使用
$\u POST
数组访问通过HTML表单提交的参数。但是请确保验证用户输入。我建议您阅读一篇关于此的文章。您必须以root用户身份或使用sudo运行此命令。我目前正在研究同样的问题,但似乎没有一种100%安全的方式来使用root/sudo运行它
然而,如果您愿意,您可以在php中调用一个脚本作为sudo并关闭密码请求。您可以将变量传递给它
exec("sudo /your/script.sh $Domain $Pass");
您的bash脚本如下所示:
#!/bin/bash
domain=$1
pass=$2
virtualmin create-domain --domain $domain --pass $pass --plan 'Standard Package' --limits-from-plan --features-from-plan
您应该允许在没有密码提示的情况下执行脚本。在console中运行sudo visudo
,并在末尾添加以下字符串:
nobody ALL = NOPASSWD: /your/script
您必须正确设置文件模式,以确保没有人可以修改此脚本并将危险内容放入其中(在根控制台中):
信息来源:
还有你做过哪些尝试?为什么不把它带到这里-你尝试了什么,得到了什么确切的结果,包括错误消息?我已经尝试过了,但不起作用,我在服务器上的其他地方使用php,但这个命令不起作用@David Maitland:安全模式启用了吗?如果是这样,exec命令可能无法工作。您可以在SO上搜索此问题。例如,没有,只是在php.ini文件和virtualmin php配置中进行了检查,就关闭了它。PHP+root=tick,tick,KABOOM!“但是似乎没有一种100%安全的方式来使用root/sudo运行它。”-我确实提到过,伙计。。。
#!/bin/bash
domain=$1
pass=$2
virtualmin create-domain --domain $domain --pass $pass --plan 'Standard Package' --limits-from-plan --features-from-plan
nobody ALL = NOPASSWD: /your/script
chown root:root /your/script
chmod 755 /your/script