آموزش نوشتن CGI به زبان های مختلف در لینوکس : (CGI ( Common gateway Interface یک رابط میان کلاینت وب و وب سرور است که برنامه یا اسکریپت CGI شما را اجرا میکند. CGI هم اکنون قدیمی شده و با زبان های برنامه نویسی مختلفی مثل PHP جایگزین شده است. در هر صورت اما همچنان برای ادمین های لینوکس یک ابزار مفید جهت مانیتورینگ و و مدیریت سرور از طریق مرور گر وب به حساب میآید. در این مطلب قصد داریم قدم به قدم با نوشتن اسکریپت های CGI بازبان های مختلف آشنا شویم.
آموزش نوشتن CGI به زبان های مختلف در لینوکس
برای اجرای برنامه های تحت وب به وب سرور نیاز داریم, برای نصب وب سرور آپاچی از دستور زیر استفاده کنید:
در سرور های اوبونتو و دبیان:
$ sudo apt-get install apache2
در سرور های رد هت مثل سنت او اس و فدورا:
$ yum install httpd
در صورتی که میخواهید بدون نیاز به ریبوت وب سرور اجرا شود از دستور زیر استفاده کنید:
$ sudo service httpd start
در centos7:
$ systemctl start httpd
حالا با وارد کردن آدرس آی پی سرور در مرور گر وب (در سیستم های لوکال از آدرس http://localhost یا ۱۲۷٫۰٫۰٫۱ استفاده کنید) صفحه پیش فرض آپاچی را مشاهده خواهید کرد.
ایجاد اسکریپت:
حالا باید اسکریپت خود را ایجاد کنید:
فایل اسکریپت را برای سیستم های دبیان در آدرس:
/usr/lib/cgi-bin/example-bash.sh
و برای رد هت, مثل سنت او اس در آدرس:
/var/www/cgi-bin/example-bash.sh
ایجاد کنید.
در صورتی که با ایجاد اسکریپت و دادن دسترسی ها مشکل دارید از آموزش ساده از این لینک استفاده کنید»
حالا با وارد کردن آدرس اسکریپت خود در مرور گر وب میتوانید به صفحه ایجاد شده دسترسی پیدا کنید, به طور مثال در فایل example-bash.sh که ایجاد کردیم محتوی زیر را کپی کنید:
کد زیر میزان مصرف هارد دیسک را نمایش خواهد داد, میتوانید هر طور که مایل باشید آنرا تغییر دهید تا مشخصات مختلف سرور را نمایش دهد, تنها محدودیت شما در اسکریپت نویسی لینوکس, قدرت خلاقیت شماست!
#!/bin/bash echo "Content-type: text/html" echo '' echo 'CGI Bash example<br>' echo `df -h / | grep -v Filesystem`
حالا با وارد کردن آدرس (ipaddress را با آی پی سرور خود جایگزین کنید) خروجی را مشاهده خواهید کرد.
http://ipaddress/cgi-bin/example-bash.sh
حالا نوشتن CGI با Bash Script را یاد گرفتیم, بیایید زبان Perl را امتحان کنیم:
cgi-bin/example-perl.pl را با محتوی زیر ایجاد کنید:
#!/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
خروجی را خودتان مشاهده کنید.
زبان پایتون:
فایل cgi-bin/example-python.py را با محتوی زیر ایجاد کنید:
<html> <head> <title>CGI Python Example</title> </head> <body> <h1>CGI Python Example</h1> <p>CGI Python Example</p> </body></html> ""
سی پلاس پلاس
برای نوشتن CGI با C یا C++ باید کامپایلر مربوطه را نصب کرده باشید
در سرور های ردهت از دستور
yum install gcc gcc-c++ kernel-devel
و در دبیان (اوبونتو) از دستور
$ sudo apt-get install build-essential
برای نصب کامپایلر استفاده کنید.
حالا فایل خود را در مسیر cgi-bin/example-c.c با محتوی زیر ایجاد نمایید:
#include <iostream> using namespace std;
int main()
{
cout << “content-type: text/html” << endl << endl;
cout << “<h1>CGI C++ example</h1>” << endl;
return 0;
}
سپس با دستور
اوبونتو:
$ sudo g++ -o /usr/lib/cgi-bin/example-cpp example-cpp.c
CentOS:
$ sudo g++ -o /var/www/cgi-bin/example-cpp example-cpp.c
کامپایل کنید.
حالا میتوانید مدیریت سرور لینوکسی خود را ساده تر از قبل انجام دهید, تقریبا هر کاری که در خط فرمان انجام میدهید با CGI نوشتن نیز انجام دهید.