TAHA
10-23-2009, 10:36 AM
۱- همه بخشهای IIS را نصب (فعال) کنید.
۱- دریافت ActivePerl از سایت ActiveState و نصب آن در ویندوز.
۲- اسکریپتهای پرل را در IIS به روش زیر فعال کنید.
• در بخش Handler Mappings با استفاده از گزینه Add Script Map دو اسکریپت زیر را اضافه کنید.
• برای Perl:
*.pl Request path c:\Perl\bin\perl.exe "%s" %s Executable Perl Script Map Name • برای CGI:
*.cgi Request path c:\Perl\bin\perl.exe "%s" %s Executable CGI Script Map Name • روی Handler مربوط به Perl دابل کلیک کنید.
• دکمه Request Restrictions را کلیک کنید و از برگه Access گزینه Execute را انتخاب کرده و OK را کلیک کنید.
• پس از تایید عملیات، Entry Type مربوطه باید به Local تغییر پیدا کرده باشد.
• روی همان Handler مربوط به Perl راست کلیک کرده، گزینه Edit Feature Permissions… را انتخاب کرده و همه مجوزها را اعطا کنید.
۳- IIS را Restart کنید.
۴- IIS را امتحان کرده و مطمئن شوید که میتواند اسکریپتهای CGI و Perl را اجرا کند. برای این کار کد زیر را در یک فایل متنی ساده با پسوند .pl ذخیره کرده و آن در یک شاخه اختصاصی در شاخه wwwroot بگذارید. سپس در IIS یک Virtual Directory جدید ساخته و مسیر فایل فوق الذکر را به آن معرفی کنید. سپس آدرس کامل آن را به انضمام نام فایل بالا در browser خود تایپ کنید. اگر همه چیز درست پیش رفته باشد باید برنامه در حال کار را ببینید در غیر این صورت تا حل مشکل به مراحل بعدی نروید. دقت کنید که اگر به جای Virtual Directory یک Application ساخته باشید هیچ چیزی کار نمیکند و خطا میگیرید.
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print <<HTML;
<html>
<head>
<title>A Simple Perl CGI</title>
</head>
<body>
<h1>A Simple Perl CGI</h1>
<p>Hello World</p>
</body>
HTML
exit;
۵- در صورتی که مشکلات IIS همچنان ادامه داشت از web.config نمونه زیر کمک بگیرید. IIS از نسخه ۷ و بعد از آن به ازای هر Virtual Directory یک web.config ایجاد میکند که همه تنظیمات را در آن نگه میدارد:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Read, Execute, Script">
<remove name="CGI Script Map" />
<remove name="Perl Script Map" />
<add name="Perl Script Map" path="*.pl" verb="*" modules="CgiModule" scriptProcessor="c:\Perl\bin\perl.exe "%s" %s" resourceType="Unspecified" requireAccess="Execute" />
<add name="CGI Script Map" path="*.cgi" verb="*" modules="CgiModule" scriptProcessor="c:\Perl\bin\perl.exe "%s" %s" resourceType="Unspecified" requireAccess="Execute" />
</handlers>
<staticContent>
<mimeMap fileExtension=".pl" mimeType="text/html" />
<mimeMap fileExtension=".cgi" mimeType="text/html" />
</staticContent>
</system.webServer>
</configuration>
۶- ممکن است دو لینک زیر برای رفع مشکلات مربوط به نصب پرل روی IIS کمک کند:
• Perl Hello World CGI - First CGI program, learn how to create a simple CGI script in Perl. (http://perl.about.com/od/perltutorials/a/hellocgi.htm)
• Configuring Perl on IIS 7.0 | ActiveState Community Site (http://community.activestate.com/forum-topic/configuring-perl-on-iis-7)
۱- دریافت ActivePerl از سایت ActiveState و نصب آن در ویندوز.
۲- اسکریپتهای پرل را در IIS به روش زیر فعال کنید.
• در بخش Handler Mappings با استفاده از گزینه Add Script Map دو اسکریپت زیر را اضافه کنید.
• برای Perl:
*.pl Request path c:\Perl\bin\perl.exe "%s" %s Executable Perl Script Map Name • برای CGI:
*.cgi Request path c:\Perl\bin\perl.exe "%s" %s Executable CGI Script Map Name • روی Handler مربوط به Perl دابل کلیک کنید.
• دکمه Request Restrictions را کلیک کنید و از برگه Access گزینه Execute را انتخاب کرده و OK را کلیک کنید.
• پس از تایید عملیات، Entry Type مربوطه باید به Local تغییر پیدا کرده باشد.
• روی همان Handler مربوط به Perl راست کلیک کرده، گزینه Edit Feature Permissions… را انتخاب کرده و همه مجوزها را اعطا کنید.
۳- IIS را Restart کنید.
۴- IIS را امتحان کرده و مطمئن شوید که میتواند اسکریپتهای CGI و Perl را اجرا کند. برای این کار کد زیر را در یک فایل متنی ساده با پسوند .pl ذخیره کرده و آن در یک شاخه اختصاصی در شاخه wwwroot بگذارید. سپس در IIS یک Virtual Directory جدید ساخته و مسیر فایل فوق الذکر را به آن معرفی کنید. سپس آدرس کامل آن را به انضمام نام فایل بالا در browser خود تایپ کنید. اگر همه چیز درست پیش رفته باشد باید برنامه در حال کار را ببینید در غیر این صورت تا حل مشکل به مراحل بعدی نروید. دقت کنید که اگر به جای Virtual Directory یک Application ساخته باشید هیچ چیزی کار نمیکند و خطا میگیرید.
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print <<HTML;
<html>
<head>
<title>A Simple Perl CGI</title>
</head>
<body>
<h1>A Simple Perl CGI</h1>
<p>Hello World</p>
</body>
HTML
exit;
۵- در صورتی که مشکلات IIS همچنان ادامه داشت از web.config نمونه زیر کمک بگیرید. IIS از نسخه ۷ و بعد از آن به ازای هر Virtual Directory یک web.config ایجاد میکند که همه تنظیمات را در آن نگه میدارد:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Read, Execute, Script">
<remove name="CGI Script Map" />
<remove name="Perl Script Map" />
<add name="Perl Script Map" path="*.pl" verb="*" modules="CgiModule" scriptProcessor="c:\Perl\bin\perl.exe "%s" %s" resourceType="Unspecified" requireAccess="Execute" />
<add name="CGI Script Map" path="*.cgi" verb="*" modules="CgiModule" scriptProcessor="c:\Perl\bin\perl.exe "%s" %s" resourceType="Unspecified" requireAccess="Execute" />
</handlers>
<staticContent>
<mimeMap fileExtension=".pl" mimeType="text/html" />
<mimeMap fileExtension=".cgi" mimeType="text/html" />
</staticContent>
</system.webServer>
</configuration>
۶- ممکن است دو لینک زیر برای رفع مشکلات مربوط به نصب پرل روی IIS کمک کند:
• Perl Hello World CGI - First CGI program, learn how to create a simple CGI script in Perl. (http://perl.about.com/od/perltutorials/a/hellocgi.htm)
• Configuring Perl on IIS 7.0 | ActiveState Community Site (http://community.activestate.com/forum-topic/configuring-perl-on-iis-7)