آموزش نصب و ایجاد اولین اسکریپت

آموزش نصب و ایجاد اولین اسکریپت CGI

اشتراک گذاری در شبکه های اجتماعی

CGI یا Common Gateway Interface یک رابط میان کلاینت وب و وب سرور است که وظیفه اجرای برنامه یا اسکریپت CGI را برعهده دارد. اگرچه CGI امروزه تا حد زیادی قدیمی شده و با زبان های برنامه نویسی مدرن تری مثل PHP جایگزین شده است، اما همچنان یک ابزار قدرتمند برای مدیران سرورهای لینوکسی جهت مانیتورینگ و مدیریت سرور از طریق مرورگر وب به حساب می آید.

cgi

در این آموزش قصد داریم قدم به قدم نحوه نوشتن اسکریپت های CGI با زبان های مختلف برنامه نویسی را در لینوکس بررسی کنیم.

نصب وب سرور برای اجرای CGI

برای اجرای برنامه های تحت وب نیاز به یک وب سرور دارید. در این آموزش از وب سرور Apache استفاده می کنیم.

نصب Apache در سرورهای اوبونتو و دبیان:

sudo apt-get install apache2

نصب Apache در سرورهای ردهت مثل سنت او اس و فدورا:

yum install httpd

اجرای سرویس Apache بدون نیاز به ریبوت:

sudo service httpd start

اجرای Apache در CentOS 7 و نسخه های جدیدتر:

systemctl start httpd

پس از نصب و راه اندازی، با وارد کردن آی پی سرور در مرورگر (یا در محیط لوکال از آدرس های http://localhost یا 127.0.0.1) باید صفحه پیش فرض آپاچی را مشاهده کنید.

ایجاد اولین اسکریپت CGI

اکنون باید اسکریپت خود را ایجاد کنیم. بسته به نوع توزیع لینوکس، محل ذخیره اسکریپت متفاوت است:

  • در سیستم های دبیان و اوبونتو:/usr/lib/cgi-bin/example-bash.sh
  • در سیستم های ردهت و سنت او اس:/var/www/cgi-bin/example-bash.sh

اطمینان حاصل کنید که فایل اسکریپت شما دارای مجوز اجرایی باشد:

sudo chmod +x /usr/lib/cgi-bin/example-bash.sh

یا

sudo chmod +x /var/www/cgi-bin/example-bash.sh

اگر در ایجاد اسکریپت و دادن مجوزها به مشکل برخوردید، از آموزش های ساده تر موجود در اینترنت استفاده کنید.

نمونه اسکریپت Bash برای CGI:

محتوای زیر را در فایل example-bash.sh قرار دهید:

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

مشاهده نتیجه در مرورگر

با وارد کردن آدرس زیر در مرورگر (جایگزین کردن ipaddress با آی پی واقعی سرور) می توانید نتیجه را مشاهده کنید:

http://ipaddress/cgi-bin/example-bash.sh

نوشتن CGI با زبان Perl

برای ایجاد یک اسکریپت CGI با Perl، فایلی با نام example-perl.pl در مسیر cgi-bin ایجاد کنید و کد زیر را در آن قرار دهید:

#!/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 با زبان Python

فایلی به نام example-python.py در مسیر cgi-bin ایجاد کنید و کد زیر را در آن قرار دهید:

#!/usr/bin/python3

print("Content-type: text/html\n")
print("""
<html>
<head>
<title>CGI Python Example</title>
</head>
<body>
<h1>CGI Python Example</h1>
<p>CGI Python Example</p>
</body>
</html>
""")

نکته: اطمینان حاصل کنید که بالای فایل به درستی مسیر مفسر پایتون (#!/usr/bin/python3) را تعریف کرده اید.

نوشتن CGI با زبان C و C++

برای این کار با زبان C یا C++ نیاز به نصب کامپایلر دارید.

نصب کامپایلر در سیستم های ردهت:

yum install gcc gcc-c++ kernel-devel

نصب کامپایلر در سیستم های دبیان و اوبونتو:

sudo apt-get install build-essential

نمونه کد C++ برای CGI:

یک فایل به نام example-cpp.c در مسیر cgi-bin ایجاد کنید و کد زیر را در آن بنویسید:

#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 و استفاده از زبان های مختلف برنامه نویسی می توانید مدیریت و مانیتورینگ سرورهای لینوکسی خود را به راحتی و از طریق مرورگر انجام دهید. تقریبا هر کاری که در خط فرمان قابل انجام است را می توان با اسکریپت های CGI نیز پیاده سازی کرد. تنها محدودیت شما خلاقیت شماست!

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطالب مرتبط