PHP中的Virtualmin域名注册

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

在PHP网页中,我需要运行以下命令来创建新域:

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