2011-12-04 13 views
11

Sono in esecuzione su Ubuntu 11 e desidero configurare un semplice server web che risponda a una richiesta http chiamando uno script locale con i parametri GET o POST. Questo script (già scritto) fa alcune cose e crea un file. Questo file dovrebbe essere reso disponibile su un URL e il server Web dovrebbe quindi effettuare una richiesta http su un altro server indicando di scaricare il file creato.Come si chiama uno script di shell locale da un server web?

Come impostare la configurazione? Non sono un principiante con Linux, ma non direi che lo conosco bene.

Che server Web devo usare? Come autorizzo lo script ad accedere alle risorse locali per creare il file in questione? Non sono troppo preoccupato per la sicurezza o altro, questo è per un esperimento personale (ho il controllo su tutti i computer coinvolti). Ho già usato Apache, ma non l'ho mai configurato.

Qualsiasi aiuto sarebbe apprezzato ..

risposta

10

This tutorial looks good, ma è un po 'breve.

Ho installato apache. In caso contrario: sudo apt-get install apache2.

cd /usr/lib/cgi-bin 

# Make a file and let everyone execute it 
sudo touch test.sh && chmod a+x test.sh 

poi mettere il codice nel file. Per esempio:

#!/bin/bash 
# get today's date 
OUTPUT="$(date)" 
# You must add following two lines before 
# outputting data to the web browser from shell 
# script 
echo "Content-type: text/html" 
echo "" 
echo "<html><head><title>Demo</title></head><body>" 
echo "Today is $OUTPUT <br>" 
echo "Current directory is $(pwd) <br>" 
echo "Shell Script name is $0" 
echo "</body></html>" 

E, infine aprire il browser e digitare http://localhost/cgi-bin/test.sh

Se tutto va bene (come ha fatto per me) si dovrebbe vedere ...

Oggi è domenica 4 dicembre ...
directory corrente è/lib nome usr// cgi-bin Shell
Shell script è /usr/lib/cgi-bin/test.sh

+1

dobbiamo anche abilitare '' mod_cg'i cgi' a2enmod se non è già abilitato –

+4

sul mio sistema, ho utilizzato i seguenti comandi per attivare mod_cgi: 'sudo a2enmod cgi' ' sudo service apache2 restart' –

+0

Come fare leggi i dati del post? –

Problemi correlati