?
Solved

Triggering perl scripts from a web page

Posted on 2011-03-13
2
Medium Priority
?
374 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 2000 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

Automating Terraform w Jenkins & AWS CodeCommit

How to configure Jenkins and CodeCommit to allow users to easily create and destroy infrastructure using Terraform code.

Question has a verified solution.

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

This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
If you are a web developer, you would be aware of the <iframe> tag in HTML. The <iframe> stands for inline frame and is used to embed another document within the current HTML document. The embedded document could be even another website.
Learn the basics of if, else, and elif statements in Python 2.7. Use "if" statements to test a specified condition.: The structure of an if statement is as follows: (CODE) Use "else" statements to allow the execution of an alternative, if the …
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
Suggested Courses

764 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