GNU/Linux >> Znalost Linux >  >> Ubuntu

Jednoduché příklady CGI a Apache na Ubuntu Linux

Úvod

CGI (Common gateway Interface) je rozhraní mezi webovým klientem a webovým serverem, na kterém běží váš CGI skript/program. CGI je poměrně staré a bylo z velké části nahrazeno různými programovacími jazyky jako PHP atd. Stále si však najde své místo v rukou správce systému Linux jako rychlý nástroj pro monitorování a správu systému prostřednictvím webového prohlížeče. Tento článek popisuje krok za krokem, jak spouštět základní CGI skripty s různými programovacími jazyky a skripty pomocí webového serveru Apache na Ubuntu Linux.

Nainstalujte Apache

Nejprve musíme nainstalovat webový server apache. Toto je poměrně jednoduchý úkol a lze jej dosáhnout pomocí apt-get příkaz:

$ sudo apt-get install apache2

Výše uvedený příkaz nainstaluje webový server Apache 2 s výchozí stránkou umístěnou na adrese:/etc/apache2/sites-available/default. Když otevřete tento výchozí konfigurační web, uvidíte, že je nakonfigurován pro spouštění CGI skriptů z /usr/lib/cgi-bin adresář s aliasem URL /cgi-bin/ :

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

Volitelně můžete změnit nastavení DNS tak, aby odkazovalo na IP adresu vašeho nového webového serveru, nebo jednoduše upravit místní soubor /etc/hosts. Například:

10.1.1.61       cgi-example.local

Kde 10.1.1.61 je IP vašeho webového serveru se systémem Apache a cgi-example.local je libovolný název domény.

Vytvořte skript CGI

CGI pracuje s více jazyky, ale prozatím začínáme s bash shell. Příklady pro některé další jazyky si ukážeme později. Zde je jednoduchá verze příkladu CGI bash:

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

Zkopírujte výše uvedený kód a vložte jej do nového souboru v /usr/lib/cgi-bin/ s názvem example-bash.sh. Po dokončení udělejte soubor spustitelný pomocí chmod příkaz:

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

Zobrazit skript CGI

Zbývá pouze přejít pomocí prohlížeče na název hostitele nebo IP adresu vašeho webového serveru. V našem případě bude adresa URL:http://cgi-example.local/cgi-bin/example-bash.sh

Tento příklad můžete upravit a zobrazit tak využití disku kořenového oddílu serveru „/“. Jste omezeni pouze svou představivostí:

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

Výše uvedený kód zkontroluje volné místo na disku pro kořenový oddíl a vytvoří následující stránku:

Další příklady CGI

Jak jsme slíbili, zde jsou další příklady CGI pro několik dalších programovacích jazyků, které vám pomohou začít.

Perl

Vytvořte a udělejte spustitelný následující /usr/lib/cgi-bin/example-perl.pl s obsahem:

#!/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

Python

Vytvořte a udělejte spustitelný následující /usr/lib/cgi-bin/example-python.py s obsahem:

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

C

Aby C a C++ fungovaly, musíme mít nainstalovaný kompilátor. Nejprve nainstalujte kompilátor pomocí:

$ sudo apt-get install build-essential

Po instalaci vytvořte soubor example-c.c s následujícím kódem:

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

uložte obsah souboru example-c.c a zkompilujte jej pomocí následujícího linuxového příkazu:

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

nyní byste měli mít přístup ke svému CGI skriptu zkompilovanému v C pomocí:http://cgi-example.local/cgi-bin/example-c

C++

Aby C a C++ fungovaly, musíme mít nainstalovaný kompilátor. Nejprve nainstalujte kompilátor pomocí:

$ sudo apt-get install build-essential

Po instalaci vytvořte soubor example-cpp.c s následujícím kódem:

#include <iostream>
using namespace std;

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

uložte obsah souboru example-cpp.c a zkompilujte jej pomocí následujícího linuxového příkazu:

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

nyní byste měli mít přístup ke svému CGI skriptu zkompilovanému v C pomocí:http://cgi-example.local/cgi-bin/example-cpp

Závěr

Jak již bylo zmíněno dříve, CGI je poměrně staré a bylo z velké části nahrazeno různými programovacími jazyky, jako je PHP atd. Nicméně, jak vidíte, je to stále relativně jednoduchý nástroj, který lze použít k automatizaci vašich úloh správy Linuxu, jako je vzdálené vlastní monitorování vaše servery Linux pomocí webového prohlížeče.


Ubuntu
  1. Jak nainstalovat Apache Cassandra na Ubuntu a další Linux

  2. Nainstalujte a nakonfigurujte Apache Spark na Ubuntu 20.04

  3. Kopírování a vkládání v Linuxu a terminálu Ubuntu

  1. Základní konfigurace PHP 7 a Nginx na Ubuntu 16.04 Linux

  2. Jak povolit a zakázat modul PHP curl s Apache na Ubuntu Linux

  3. Jak nainstalovat Apache Maven na Ubuntu 18.04 a 16.04

  1. 7 jednoduchých způsobů, jak uvolnit místo na Ubuntu a Linux Mint

  2. Duální spouštění Ubuntu Linux a Windows 7

  3. Nainstalujte a nakonfigurujte Apache a PHP s cgi na Ubuntu nebo Debianu