تشغيل Ruby CGI عن طريق Apache

هذه الطريقة تنطبق على Fedora و Ubuntu

يفضل أن تجعل الـ CGI يعمل داخل مجلد معين

mkdir /var/www/ruby

Fedora

nano /etc/httpd/conf/httpd.conf

Ubuntu

nano /etc/apache2/apache2.conf

أو

/etc/apache2/sites-enabled/000-default.conf

وأضف التالي في أخر الملف

<Directory "/var/www/ruby">
          Options Indexes FollowSymLinks MultiViews ExecCGI
          AllowOverride All
          Order allow,deny
          allow from all
          AddHandler cgi-script .rb .erb
</Directory>
لاحظ أننا أضفنا .rb تستطيع إضافة أي امتداد تريده مع الفصل بينهم بمسافة

تأكيد من أن الـ module الخاص بال cgi يعمل

a2enmod cgid

و هذا

a2enmod rewrite
ستحتاج لإعادة تشغيل الأباتشي إن لم يكن يعمل

أنشئ الأن ملف للتجربة, لنفرض أنه التالي

#!/usr/bin/ruby
require 'cgi'
cgi = CGI.new
puts cgi.header
name = cgi['name']

puts ""
<h1>Hello #{name}!</h1>
puts ""

لا تنسى إعطاء لاحيات التنفيذ للملف
الأن جرب من المتصفح

http://localhost/file.rb?name=KING

مصدر

http://www.bytelinux.com/enable-apache-cgi/
http://fdmanana.wordpress.com/2008/06/29/ruby-cgi-apache2/
https://help.ubuntu.com/lts/serverguide/ruby-on-rails.html
http://stackoverflow.com/questions/19578091/trouble-running-python-script-as-cgi-under-apache-ubuntu-12

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *