Pengenalan

Common Gateway Interface (CGI) adalah suatu standar untuk menghubungkan berbagai program aplikasi yang ada pada suatu server ke halaman web. CGI berfungsi menjembatani standar HTML untuk halaman web dengan program lain seperti misalnya database, karena bagian dari web server ini dapat berkomunikasi dengan program lain. CGI Script dapat ditulis dalam bahasa apapun seperti bash, java, C, Perl, Python, dan lain - lain, yang dapat dengan mudah dieksekusi oleh web server.

Contoh Penggunaan Script CGI Menggunakan Perl

Langkah pertama kali yang di lakukan untuk menggunakan CGI pastikan di VM CentOS 8 Anda sudah terinstall sevice package perl dan perl-CGI jika belum silakan install terlebih dahulu menggunakan perintah berikut

[[email protected] ~]#
[[email protected] ~]# dnf install perl perl-CGI -y 

Selanjutnya memastikan paket CGI sudah terinstall dan saat ini CGI sudah tersedia sebagai berikut

[[email protected] ~]#
[[email protected] ~]# grep -n "^ *ScriptAlias" /etc/httpd/conf/httpd.conf
250:    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
[[email protected] ~]#

Kemudian, silakan membuat script perl sederhana misalnya Hello, World! di direktori /var/www/cgi-bin seperti berikut

[[email protected] ~]#
[[email protected] ~]# cd /var/www/cgi-bin/
[[email protected] cgi-bin]#
[[email protected] cgi-bin]# vim hello.pl

Isi dengan script perl berikut

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World!";

Jika sudah berikan hak akses pada file hello.pl, gunakan perintah

[[email protected] cgi-bin]# chmod 755 /var/www/cgi-bin/hello.pl
[[email protected] cgi-bin]#

Dan restar web server apache (httpd), gunakan perintah

[[email protected] cgi-bin]# systemctl restart httpd

Kemudian akses IP_VM Anda seperti pada gambar berikut:

Membuat Script CGI Dengan Virtual Host Apache

Silakan membuat script CGI sesuai bahasa yang diinginkan disini saya akan membuat dua script menggunakan bash dan perl.

Bash Script: [/var/www/cgi-bin/mybash.cgi]

#!/bin/bash

echo -e "Content-type: text/html\n\n"
echo "Welcome! to First CGI Script"

Perl Script: [/var/www/cgi-bin/myperl.cgi]

#!/usr/bin/perl
 
print "Content-type: text/html\n";
print "Welcome! to First CGI Script";

Namun disini saya akan mencoba mendemokan yang menggunakan bahasa bash silakan ke direktori /var/www/cgi-bin dan buat file dengan nama mybash.cgi seperti berikut

[[email protected] ~]#
[[email protected] ~]# cd /var/www/cgi-bin/
[[email protected] cgi-bin]#
[[email protected] cgi-bin]# vim mybash.cgi

isi dengan script diatas

#!/bin/bash

echo -e "Content-type: text/html\n\n"
echo "Welcome! to First CGI Script"

Berikan hak akses 755 pada file mybash.cgi,

[[email protected] cgi-bin]# chmod 755 mybash.cgi

Jika sudah silakan membuat VirtualHost, pindah ke direktori /etc/httpd/conf.d/ buat file virtualhost disini saya berikan nama file mycgi-bash.conf

[[email protected] cgi-bin]# cd /etc/httpd/conf.d/
[[email protected] conf.d]#
[[email protected] conf.d]# vim mycgi-bash.conf

Berikut isi dari VirtualHost tersebut

<VirtualHost *:80>
    ServerName cgibash.nurhamim.net
    ServerAlias www.cgibash.nurhamim.net
    ServerAdmin [email protected]
    DocumentRoot /var/www/cgi-bin/mybash.cgi

<Directory "/usr/local/cgi-bin/">
         Require all granted
         Options +ExecCGI
         AddHandler cgi-script .cgi
</Directory>
</VirtualHost>

Jika sudah silakan simpan virtual host dan silakan restar web server httpd Anda

[[email protected] conf.d]# systemctl restart httpd
[[email protected] conf.d]#

Silakan akses http://IP_VM/cgi-bin/mybash.cgi jika berhasil akan tampil Welcome! to First CGI Script seperti berikut ini

Sekian tutorial terkati CGI Script basic di Apache CentOS 8

Selamat mencoba semoga bermanfaat ๐Ÿ‘Œ

See You ๐Ÿ˜ƒ