Pengantar
CGI ( Common gateway Interface ) adalah antarmuka antara klien Web dan server web yang menjalankan skrip/program CGI Anda. CGI cukup tua dan sebagian besar digantikan oleh bahasa pemrograman yang berbeda seperti PHP, dll. Namun, masih dapat menemukan tempatnya di tangan administrator sistem Linux sebagai alat cepat untuk pemantauan dan administrasi sistem melalui browser web. Artikel ini menjelaskan langkah demi langkah cara menjalankan skrip CGI dasar dengan berbagai bahasa dan skrip pemrograman menggunakan server web Apache di Ubuntu Linux.
Instal Apache
Pertama kita perlu menginstal server web apache. Ini adalah tugas yang cukup sederhana dan dapat dicapai dengan apt-get perintah:
$ sudo apt-get install apache2
Perintah di atas akan menginstal server web Apache 2 dengan situs default yang terletak di:/etc/apache2/sites-available/default. Saat Anda membuka situs konfigurasi default ini, Anda akan melihat bahwa situs tersebut dikonfigurasi untuk menjalankan skrip CGI dari /usr/lib/cgi-bin direktori dengan alias URL /cgi-bin/ :
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
Opsional, Anda dapat mengubah pengaturan DNS Anda untuk menunjuk ke alamat IP server web baru Anda atau cukup mengedit file /etc/hosts lokal Anda. Misalnya:
10.1.1.61 cgi-example.local
Di mana 10.1.1.61 adalah IP server web Anda yang menjalankan apache dan cgi-example.local adalah beberapa nama domain arbitrer.
Buat skrip CGI
CGI bekerja dengan banyak bahasa, tetapi untuk sekarang kita mulai dengan bash shell. Kami akan menunjukkan contoh untuk beberapa bahasa lain nanti. Berikut adalah versi sederhana dari contoh bash CGI:
#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash Example'
Salin kode di atas dan tempel ke file baru di /usr/lib/cgi-bin/ bernama example-bash.sh. Setelah selesai, buat file tersebut dapat dieksekusi menggunakan chmod perintah:
$ sudo chmod 755 /usr/lib/cgi-bin/example-bash.sh
Melihat skrip CGI
Yang tersisa hanyalah menavigasi dengan browser Anda ke nama host atau alamat IP server web Anda. Dalam kasus kami, URL-nya adalah:http://cgi-example.local/cgi-bin/example-bash.sh
Anda dapat mengedit contoh ini untuk menampilkan penggunaan disk dari partisi root server “/”. Anda hanya dibatasi oleh imajinasi Anda:
#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash example<br>'
echo `df -h / | grep -v Filesystem`
Kode di atas akan memeriksa ruang disk kosong untuk partisi root dan menghasilkan halaman berikut:
Contoh CGI lainnya
Seperti yang dijanjikan, berikut adalah lebih banyak contoh CGI untuk beberapa bahasa pemrograman lainnya untuk membantu Anda memulai.
Perl
Buat dan buat file /usr/lib/cgi-bin/example-perl.pl berikut dapat dieksekusi dengan konten:
#!/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
Buat dan buat file /usr/lib/cgi-bin/example-python.py berikut dapat dieksekusi dengan konten:
<html>
<head>
<title>CGI Python Example</title>
</head>
<body>
<h1>CGI Python Example</h1>
<p>CGI Python Example</p>
</body></html>
"""
C
Agar C dan C++ berfungsi, kita perlu menginstal kompiler. Pertama, instal compiler dengan:
$ sudo apt-get install build-essential
Setelah terinstal buat file example-c.c dengan kode berikut:
#include <stdio.h>
int main(void)
{
printf("Content-Type: text/plain \n\n");
printf("CGI C Example \n");
}
simpan konten file example-c.c dan kompilasi dengan perintah linux berikut:
$ sudo gcc -o /usr/lib/cgi-bin/example-c example-c.c
sekarang Anda seharusnya dapat mengakses skrip CGI yang dikompilasi C dengan:http://cgi-example.local/cgi-bin/example-c
C++
Agar C dan C++ berfungsi, kita perlu menginstal kompiler. Pertama, instal compiler dengan:
$ sudo apt-get install build-essential
Setelah terinstal, buat file example-cpp.c dengan kode berikut:
#include <iostream>
using namespace std;
int main()
{
cout << "content-type: text/html" << endl << endl;
cout << "<h1>CGI C++ example</h1>" << endl;
return 0;
}
simpan konten file example-cpp.c dan kompilasi dengan perintah linux berikut:
$ sudo g++ -o /usr/lib/cgi-bin/example-cpp example-cpp.c
sekarang Anda seharusnya dapat mengakses skrip CGI yang dikompilasi C dengan:http://cgi-example.local/cgi-bin/example-cpp
Kesimpulan
Seperti disebutkan sebelumnya CGI cukup tua dan sebagian besar digantikan oleh bahasa pemrograman yang berbeda seperti PHP, dll. Namun, seperti yang Anda lihat, itu masih merupakan alat yang relatif sederhana untuk digunakan untuk mengotomatisasi tugas administrasi Linux Anda seperti pemantauan kustom jarak jauh untuk server Linux Anda menggunakan browser web.