我需要简单的方法,让最终用户从阿帕奇在同一个盒子提供的网页重新启动Tomcat。

我们正在努力,以方便我们的质检部门来部署我们的web应用到Apache的新版本。我们使用的是桑巴,但我们需要一个简单的方法让他们停止/前启动Tomcat服务器/部署后。

此将仅用于内部QC框。是否有这种现有的解决方案?或将是更容易写几个简单的PHP应用程序来处理呢?

有帮助吗?

解决方案

像跳过说,但不运行CGI作为根。相反,有CGI调用须藤。你可以给仅在sudoers文件运行/etc/init.d/tomcat restart您的Web服务器的权限。

我在工作中真正做到了这一点;的CGI的相关部分看起来像这样:

#!/usr/bin/perl
use CGI;
use IPC::Run3;
my $CGI = new CGI;

my $output;
if (defined $CGI->param('go') && 'restart' eq $CGI->param('go')) {
    run3 [ qw(sudo /etc/init.d/tomcat5.5 restart) ], \undef, \$output, \$output;
}

print <<EOF
Content-type: text/html

Blah, blah, blah, HTML form, displays $output at some point.
EOF

下面是从/ etc / sudoers的一个例子线(使用visudo编辑,当然):

ALL     ALL=(root) NOPASSWD: /etc/init.d/tomcat5.5 restart

这允许每个人到Tomcat重启。你可以把它限制到Apache只有当你想。

其他提示

我会使用CGI脚本。将其设置为以root身份运行,并称之为“/etc/init.d/tomcat重启”(或者无论你重新启动Tomcat上的框)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top