Triggering UNIX command from Web Browser | Unix Linux Forums | Solaris

  Go Back    


Solaris The Solaris Operating System, usually known simply as Solaris, is a Unix-based operating system introduced by Sun Microsystems. The Solaris OS is now owned by Oracle.

Triggering UNIX command from Web Browser

Solaris


Closed Thread    
 
Thread Tools Search this Thread Display Modes
    #1  
Old 03-16-2010
dear_abhi2007 dear_abhi2007 is offline
Registered User
 
Join Date: Sep 2009
Last Activity: 14 May 2010, 5:30 AM EDT
Posts: 12
Thanks: 0
Thanked 0 Times in 0 Posts
Debian Triggering UNIX command from Web Browser

HI,
I want to trigger a UNIX command from a web browser page.
The web browser will have few steps which will generate the UNIX command and then it should connect to the UNIX box and fire that command.

Here we are using Sun Solaris UNIX.

Can you please suggest me how can i get connected to the UNIX box and pass the sting of command to fetch the result.

Sponsored Links
    #2  
Old 03-16-2010
hergp hergp is offline Forum Advisor  
Problem Eliminator
 
Join Date: Jan 2010
Last Activity: 19 September 2014, 2:44 PM EDT
Location: Vienna, Austria
Posts: 802
Thanks: 18
Thanked 168 Times in 150 Posts
That depends on the programming language you use for your webapplications. Also, the command would be executed under the webservers userid. Please explain in more detail what you want to do.
Sponsored Links
    #3  
Old 03-16-2010
dear_abhi2007 dear_abhi2007 is offline
Registered User
 
Join Date: Sep 2009
Last Activity: 14 May 2010, 5:30 AM EDT
Posts: 12
Thanks: 0
Thanked 0 Times in 0 Posts
Java

HI
We are mainly trying to give access to the UNIX box to the users, which is been used to just extract few log files from the application server.
Hence we are developing a HTML page where it will ask few details about the required log files which is to be searched on the UNIX box in a particular server folder, and that log file would get e-mailed to the user.

The language used in the web page would be simple HTML Forms. (if required then C#)

So we need some connect string which can pass the generated UNIX cmd from the HTML page to the application server which will fetch the output

Thanks
Abhijeet
    #4  
Old 03-16-2010
hergp hergp is offline Forum Advisor  
Problem Eliminator
 
Join Date: Jan 2010
Last Activity: 19 September 2014, 2:44 PM EDT
Location: Vienna, Austria
Posts: 802
Thanks: 18
Thanked 168 Times in 150 Posts
So what you need is basically a cgi script that is called in the action handler of a html form. You can write cgi scripts in many programming languages, many people prefer perl for this, but you can also use shellscripts.

If you write a shellscript, you can user the environment variable $QUERY_STRING supplied by the webserver and perform actions based on its contents.

If you want to run the script under a different userid than the webserver you need a mechanism like sudo.
Sponsored Links
    #5  
Old 03-16-2010
dear_abhi2007 dear_abhi2007 is offline
Registered User
 
Join Date: Sep 2009
Last Activity: 14 May 2010, 5:30 AM EDT
Posts: 12
Thanks: 0
Thanked 0 Times in 0 Posts
But how do i send the created query to the UNIX server.

If you can show me an simple example that would be great.

Like i need to pass simple ls -ltrh >temp1 on a application server in mount point eg - /onestmp


how do i pass and capture the command.
Sponsored Links
    #6  
Old 03-16-2010
TonyLawrence TonyLawrence is offline
Registered User
 
Join Date: Sep 2007
Last Activity: 1 April 2010, 2:17 PM EDT
Location: SE Mass
Posts: 193
Thanks: 0
Thanked 0 Times in 0 Posts
Like i need to pass simple ls -ltrh >temp1 on a application server in mount point eg - /onestmp
how do i pass and capture the command.


How you pass the command depends on your programming language - if t's a shell script, you "pass" it exactly as you wrote it. With Perl, you'd use "system".

As you sent the output to a file, you just need to read that file to get the output. That's often the easiest way to do it, especially for something as simple as "ls" that you don't need to interact with. Programming feeding and reading one program from another is more complicated.

---------- Post updated at 11:36 AM ---------- Previous update was at 11:23 AM ----------

Heres another way to do that:

#
Code:
!/usr/bin/perl
print "Content-TYPE: text/html\n\n";
print "<ul>";
open(READ,"ls -ltrh|");
while (<READ>) {
 print "<li>$_";
}
print "</ul>";

Sponsored Links
    #7  
Old 03-17-2010
hergp hergp is offline Forum Advisor  
Problem Eliminator
 
Join Date: Jan 2010
Last Activity: 19 September 2014, 2:44 PM EDT
Location: Vienna, Austria
Posts: 802
Thanks: 18
Thanked 168 Times in 150 Posts
OK, here is a working example:

First you need a html page with form(s), lets call it test.html and you put it into the document root of the server:

Code:
<html><head><title>Test Form</title></head>
<body>
  <form action="/cgi-bin/test.cgi" method="get">
    input for GET: <input name="get_input">
    <input type=submit value="Submit via GET">
  </form>
  <form action="/cgi-bin/test.cgi" method="post">
    input for POST: <input name="post_input">
    <input type=submit value="Submit via POST">
  </form>
  </body>
</html>

Next you need a cgi-script. I choose a shellscript using the kornshell. You save it as "test.cgi" into the cgi-bin directory of your webserver.

Code:
#!/bin/ksh
print "Content-type: text/plain\r\n\r"
print "my query string from (GET) is \"$QUERY_STRING\""
print "\nmy stdin (from POST) is"
cat

When you open the test.html page in your browser, you can enter a string into one of the two input fields and press the submit button adjacent to it.

When you press the "Submit via GET" button, you effectively call /cgi-bin/test.cgi?get_input=your_input_string and the browser shows this output:

Code:
my query string from (GET) is "get_input=your_input_string"
my stdin (from POST) is

When you press the "Submit via POST" button, your input is sent to the stdin of the cgi-script.

Code:
my query string from (GET) is ""
my stdin (from POST) is
post_input=your_input_string

What's left for you to do is: receive the actual user's input either via GET or POST and then process the input according to your needs.

I hope, this helps to understand what's going on.

Last edited by hergp; 03-17-2010 at 03:21 AM..
Sponsored Links
Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Command line browser with Javascript handling capability animesh303 Linux 2 01-07-2010 02:15 AM
Triggering my Unix script.... Shahul Shell Programming and Scripting 4 08-16-2008 01:15 PM
Urgent Need for Assistance: Triggering Windows bat files from UNIX punyenye Windows & DOS: Issues & Discussions 0 03-16-2006 04:00 AM
Web browser and web server for Unix mleathers UNIX for Dummies Questions & Answers 1 08-07-2003 03:04 PM



All times are GMT -4. The time now is 05:53 PM.