我编写了一些可以执行特定任务的 shell 脚本。
但是我的经理希望应该有一些 Web 界面,他可以在其中运行这些脚本并使用 Web 功能。
现在我不知道如何将 bash 与 web 链接。
我了解 PHP。
另外还有一件事,如果我使用python,我可以制作web界面吗,或者它是否比用bash编程更容易
答案1
答案2
我强烈不是建议用 PHP 编写一个可以访问 /bin 或其他相关系统部分的软件,并通过 apache 提供服务。因为:PHP 不够严格、可靠和安全,无法实现像 Webmin 这样的程序。
但我完全不明白,为什么经理想要在服务器上执行管理任务?这些真的是管理任务吗?或者你可以用 PHP 从头开始编写?我的意思是,如果他只是想缩小图像,你不需要 bash 脚本。
我曾经用 Python 编写过一个远程安装程序,它只能在公司内联网中访问,并使用证书通过 SSH 连接执行了一些脚本。它确实有效,但实际上不是一个好的解决方案。但我建议使用这种方法,以便有一个相对安全的方式来解决这个问题。
答案3
Webmin 允许您通过远程接口使用命令。
答案4
如果您不希望您的经理使用 Webmin 工作,而希望有一个简单的用户界面,让您的经理可以直接工作,
是的,你可以使用以下方式链接 PHP 和 BASH执行:
创建您的 GUI 目录(例如:/var/www/html/MyManagerGUI/)。
# mkdir /var/www/html/MyManagerGUI/
将您的 Bash 脚本放在一个目录中(例如:/var/www/MyManagerGUI/Scripts/),并赋予其执行权限。
# chmod +x /var/www/MyManagerGUI/Scripts/*
在 /var/www/MyManagerGUI/ 中创建 index.php 文件
在您的 index.php 文件中,通过以下方式从 PHP 调用 Bash 脚本:
<?php exec("cd Scripts/;./MyBash arg1 arg2" , $output); ?>
其中$output
,数组包含来自 Bash 的所有结果,MyBash
是 Bash 名称,arg1 arg2
是可选参数
将 MyManagerGUI/ 所有者更改为 Apahce
# chown -R apache:apache /var/www/MyManagerGUI/
为了保护你的 GUI,你可以添加.htaccess/var/www/MyManagerGUI/ 中的文件,例如添加用户名和密码或强制 https 访问。