Solved

Triggering perl scripts from a web page

Posted on 2011-03-13
2
371 Views
Last Modified: 2013-12-25
Hi folks,

I have an ubuntu server running a java/tomcat server that delivers an application.  I also use apache2 as an SSL reverse proxy.  I want to create a web page by which our helpdesk team can stop and start the java application as needed.

I have created a directory that is not proxied and a perl script (index.pl) that uses ps and grep to determine whether the java app is running and it displays a red or green light accordingly. So far, so good. I would now like a button or link to STOP TASK or START TASK.

I have created a pair of perl scripts to do this. They work from the command line but not when called via the web page. Would someone be able to point out where I've gone astray? Attached is the stop-app.pl script.

Thanks,
Sean


#!/usr/bin/perl
#
# Script to provide a page where users can stop and start the java app.
#
use warnings;
print "content-type: text/html \n\n"; # Tell perl to create some HTML
print "<html>\n";
print "<head>\n";
print "<title>myapp Admin Page</title>";
print "</head>\n";
print "<body>\n";
print "<center><h1>myapp Admin Page</h1><br />";

print "<img src='/myapp/hourglass.jpg' /><br />";
print "<h1>Java App is being shut down.</h1>\n";
print "<a href='/myapp/index.pl'><img src='/myapp/proceedbutton.gif' alt='Proceed' /></a>\n";

print "</center></body>\n";
print "</html>\n";

system("sudo service myapp stop");

# Here endeth the script.

Open in new window

0
Comment
Question by:srodden
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 12

Accepted Solution

by:
larsrohr earned 500 total points
ID: 35125578
Is your apache user (or whatever user runs your http processes) in your sudoers file?
It will need permission to run your "sudo service myapp stop" without being prompted for password.
0
 

Author Comment

by:srodden
ID: 35125598
Perfect, thank you!
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hi, in this article I'm going to teach you how to run your own site, and how to let people in (without IP). I'll talk about and explain each step... :) By the way, everything in this Tutorial is completely free and legal. This article is for …
The Windows functions GetTickCount and timeGetTime retrieve the number of milliseconds since the system was started. However, the value is stored in a DWORD, which means that it wraps around to zero every 49.7 days. This article shows how to solve t…
Learn the basics of modules and packages in Python. Every Python file is a module, ending in the suffix: .py: Modules are a collection of functions and variables.: Packages are a collection of modules.: Module functions and variables are accessed us…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question