Как я программно перезапускаю системную службу (не апачский) от апача в Linux?

, не зная фактической ошибки node-gyp, убедитесь, что вы установили зависимости node-gyp для своей платформы.

5
задан ScArcher2 8 December 2008 в 15:36
поделиться

2 ответа

Как сказанный Пропуск, но не выполняют CGI как корень. Вместо этого имейте вызов CGI sudo. Можно дать разрешение веб-сервера работать /etc/init.d/tomcat restart только в sudoers файле.

Я на самом деле сделал это на работе; соответствующая часть 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

Это позволяет всем перезапускать кота. Вы могли ограничить его Apache, только если Вы хотели бы.

8
ответ дан 14 December 2019 в 04:49
поделиться

Я использовал бы сценарий CGI. Настройте его, чтобы работать как корень и назвать перезапуск '/etc/init.d/tomcat' (или однако Вы перезапускаете кота на своем поле).

0
ответ дан 14 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: