Apache Web Server – قسمت دوم: cgi-bin

توی قسمت قبلی نحوه نصب apache web server رو توی centos 7 توضیح دادم. توی این قسمت می‌خوام نحوه کار با فایل‌های داینامیک با استفاده از cgi-bin رو توضیح بدم.

اول از همه یه نگاه به فایل پیکربندی http میندازیم. یه بخشی از این فایل (برای من از خط ۲۵۶) یه همچین چیزی نوشته:

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Require all granted
</Directory>

از اینجا می‌فهمم که فایل‌های داینامیک رو برای اجرا شدن باید توی دایرکتوری /var/www/cgi-bin بزارم. برای همین با دستور زیر یه فایل توی این دایرکتوری ایجاد می‌کنم:

sudo vim /var/www/cgi-bin/time.sh

و داخلش اینا رو می‌نویسم:

#!/bin/sh
printf "content-type: text/html\n\n"
time 

خط اول که داره مفسر رو مشخص می‌کنه

خط دوم هدر HTTP رو تعریف می‌کنه، حتما دقت کنید که این هدر رو تعریف کنید وگرنه با موقع فراخوانی با خطای ۵۰۰ روبرو میشید.

خط سوم هم دستور time هست که زمان رو روی خروجی چاپ می‌کنه.

حالا باید مجوز‌های فایلو تنظیم کنیم، من از مجوز ۷۰۵ استفاده می‌کنم:

sudo chmod 705 /var/www/cgi-bin/time.sh

حالا با استفاده از آدرس زیر توی مرورگر می‌تونم خروجی برنامه رو روی صفحه وبم ببینم:

http://<ip>/cgi-bin/time.sh

اینم خروجی برنامه من:

پاسخ دهید