GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Semplici esempi CGI e Apache su Ubuntu Linux

Introduzione

CGI ( Common gateway Interface ) è un'interfaccia tra il client Web e il server Web che esegue lo script/programma CGI. CGI è piuttosto vecchio ed è stato ampiamente sostituito da diversi linguaggi di programmazione come PHP, ecc. Tuttavia, può ancora trovare il suo posto nelle mani dell'amministratore di sistema Linux come strumento rapido per il monitoraggio e l'amministrazione del sistema tramite browser web. Questo articolo descrive passo dopo passo come eseguire script CGI di base con vari linguaggi di programmazione e script utilizzando il server Web Apache su Ubuntu Linux.

Installa Apache

Per prima cosa dobbiamo installare il server web apache. Questo è un compito abbastanza semplice e può essere raggiunto con apt-get comando:

$ sudo apt-get install apache2

Il comando precedente installerà il server Web Apache 2 con un sito predefinito situato in:/etc/apache2/sites-available/default. Quando apri questo sito di configurazione predefinito vedrai che è configurato per eseguire script CGI da /usr/lib/cgi-bin directory con alias URL /cgi-bin/ :

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">

Facoltativamente, puoi modificare le tue impostazioni DNS in modo che puntino all'indirizzo IP del tuo nuovo server web o semplicemente modificare il tuo file locale /etc/hosts. Ad esempio:

10.1.1.61       cgi-example.local

Dove 10.1.1.61 è un IP del tuo server web che esegue apache e cgi-example.local è un nome di dominio arbitrario.

Crea script CGI

CGI funziona con più linguaggi, ma per ora iniziamo con bash shell. Mostreremo esempi per alcune altre lingue in seguito. Ecco una versione semplice dell'esempio bash CGI:

#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash Example'

Copia il codice sopra e incollalo in un nuovo file in /usr/lib/cgi-bin/ chiamato example-bash.sh. Una volta terminato, rendi eseguibile il file usando il chmod comando:

$ sudo chmod 755 /usr/lib/cgi-bin/example-bash.sh

Visualizza script CGI

Non resta che navigare con il tuo browser verso il nome host o l'indirizzo IP del tuo server web. Nel nostro caso l'URL sarà:http://cgi-example.local/cgi-bin/example-bash.sh

È possibile modificare questo esempio per visualizzare l'utilizzo del disco della partizione root del server "/". Sei limitato solo dalla tua immaginazione:

#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash example<br>'
echo `df -h / | grep -v Filesystem`

Il codice precedente verificherà la disponibilità di spazio su disco per una partizione root e produrrà la seguente pagina:

Altri esempi CGI

Come promesso, ecco altri esempi CGI per alcuni linguaggi di programmazione in più per iniziare.

Perl

Crea e rendi eseguibile il seguente /usr/lib/cgi-bin/example-perl.pl con un contenuto:

#!/usr/bin/perl

print "Content-type: text/html\n\n";
print <<htmlcode;
<html>
<head>
<title>CGI Perl Example</title>
</head>
<body>
<h1>CGI Perl Example</h1>
<p>CGI Perl Example</p>
</body>
htmlcode

Pitone

Crea e rendi eseguibile il seguente /usr/lib/cgi-bin/example-python.py con un contenuto:

<html>
<head>
<title>CGI Python Example</title>
</head>
<body>
<h1>CGI Python Example</h1>
<p>CGI Python Example</p>
</body></html>
"""

C

Affinché C e C++ funzionino, avremo bisogno di un compilatore installato. Innanzitutto, installa il compilatore con:

$ sudo apt-get install build-essential

Una volta installato crea un file example-c.c con il seguente codice:

#include <stdio.h>
int main(void)
{
printf("Content-Type: text/plain \n\n");
printf("CGI C Example \n");
}

salva il contenuto del file esempio-c.c e compilalo con il seguente comando linux:

$ sudo gcc -o /usr/lib/cgi-bin/example-c example-c.c

ora dovresti essere in grado di accedere al tuo script CGI compilato in C con:http://cgi-example.local/cgi-bin/example-c

C++

Affinché C e C++ funzionino, avremo bisogno di un compilatore installato. Innanzitutto, installa il compilatore con:

$ sudo apt-get install build-essential

Una volta installato, crea un file example-cpp.c con il seguente codice:

#include <iostream>
using namespace std;

int main()
{
cout << "content-type: text/html" << endl << endl;
cout << "<h1>CGI C++ example</h1>" << endl;
return 0;
}

salva il contenuto del file example-cpp.c e compilalo con il seguente comando linux:

$ sudo g++ -o /usr/lib/cgi-bin/example-cpp example-cpp.c

ora dovresti essere in grado di accedere al tuo script CGI compilato in C con:http://cgi-example.local/cgi-bin/example-cpp

Conclusione

Come accennato in precedenza, il CGI è piuttosto vecchio ed è stato ampiamente sostituito da diversi linguaggi di programmazione come PHP, ecc. Tuttavia, come puoi vedere, è ancora uno strumento relativamente semplice da utilizzare per automatizzare le attività di amministrazione di Linux come un monitoraggio personalizzato remoto per i tuoi server Linux utilizzando un browser web.


Ubuntu
  1. Configurazione di base di PHP 7 e Nginx su Ubuntu 16.04 Linux

  2. Come abilitare e disabilitare il modulo PHP curl con Apache su Ubuntu Linux

  3. Come installare Apache Cassandra su Ubuntu e altri Linux

  4. Come installare Apache Maven su Ubuntu 18.04 e 16.04

  5. Installa e configura Apache Spark su Ubuntu 20.04

Mostra asterischi durante la digitazione della password Sudo in Linux (esempio Ubuntu e CentOS)

Installa Apache OpenOffice in Ubuntu e Linux Mint

Come installare Apache Nifi in Ubuntu Linux

50 Comando Linux Cut semplice e utile in Unix con esempi

50 esempi semplici e utili di comando Trova in Linux

Come installare LAMP su Ubuntu 15.10 (Linux, Apache, MySQL e PHP)