نصب OTRS روی ویندوز ویستا

با سلام خدمت شما دوستان عزیز

چند وقتی بود که با دوست عزیزم آقای محبی روی این مقوله کار میکردیم و مشکلات زیادی در این زمینه داشتیم. به همین منظور مفید دیدیم که این مطلب را برای عموم دوستان که شاید علاقه به این مقوله دارند بنویسیم. آقای محبی زحمت جمع آوری  و مستند کردن آنها را کشیدند. لطفا به اصل مطلب دقت بفرمایید.

معرفی OTRS
OTRS معروف‌ترین نرم افزار کد باز (Open Source) برای پیاده سازی سیستم پشتیبانی است. سیستم پشتیبانی با اسامی Service Desk و Help Desk هم شناخته شده و بخش مهمی از ITIL را تشکیل می‌دهد. ITIL نام مجموعه‌ای از کتب، تجارب و توصیه نامه‌های دولت انگلستان در زمینه مدیریت IT است. مدیریت IT همان کاری است که واحدهای فناوری اطلاعات (IT) (واحدهای کامپیوتر سابق) در همه ادارات و کارخانجات داخل کشور به خصوص ادارات بزرگ دولتی انجام می‌دهند. البته بسیاری از مردم دوست دارند ITIL را همچون ISO 9000 یک استاندارد بدانند در حالی که اصطلاح دقیق آن Best Practices بوده و متاسفانه معادل فارسی مناسبی برای آن سراغ ندارم.
همه مشاغلی که با کار پشتیبانی سر و کار دارند به چنین سیستمی نیاز دارند و حتما جای خالی آن را با یک سیستم دستی، نیمه مکانیزه یا نرم افزارهای متفرقه و نیمه مرتبط پر کرده‌اند. نرم افزارهای «مدیریت پشتیبانی» مثل OTRS تنها وقتی صرفه استفاده خواهند داشت که در یک مجموعه نسبتا بزرگ مورد استفاده قرار گیرند. مثلا در واحدی که حداقل ۲ تلفن همیشه زنگ‌خور، ۱۰ نفر مشتری (استفاده کننده، کارمند و…) و ۳ نفر کارمند پشتیبانی که به طور تمام وقت به کار پشتیبانی و پاسخگویی به مشتریان و کارمندان مشغولند داشته باشد.
از آنجا که بازیگر اصلی OTRS و سیستم‌های مشابه آن چیزی به اسم درخواست (Trouble Ticket) است، این طور سیستم‌ها را Trouble Ticket System  هم می‌نامند. دیگر بازیگران این سیستم عبارتند از صف، مشتری و کارشناس. مشتری می‌تواند استفاده کننده خدمات واحد کامپیوتر مثل کارمندان یک اداره، مشتریان واقعی یک محصول مثل تلویزیون، خودرو و… باشد. مشتری‌ها درخواست انجام کار یا تقاضای رفع مشکل را به صورت یک درخواست بیان کرده و  در صف‌های پشتیبانی قرار می‌دهند. صف مکانی است که درخواست‌های وارده در آن قرار گرفته و به تدریج توسط کارشناسان یا همان کارمندان پشتیبانی رسیدگی می‌شوند.
OTRS توسط «مارتین ادنهوفر» آلمانی به زبان پرل نوشته شده است. محیط اصلی نصب این نرم افزار لینوکس، آپاچی و MySql است ولی می‌توان آن را با تمهیداتی در ویندوز، IIS و MS SQL Server هم نصب کرد ولی از آنجا که OTRS نرم افزاری تحت وب است بعد از نصب از هر محیطی قابل دسترسی است. اولین نسخه نرم افزار در سال ۲۰۰۳ منتشر شد و مدتی بعد از آن ترجمه فارسی آن به همراه امکانات راست به چپ نویسی با کمک هومن مسگری و امیر شمس پارسا به عنوان سومین زبان از بین ۲۶ زبان موجود به امکانات برنامه اضافه شد. تا آنجایی که می‌دانم پروژه ملی لینوکس فارسی و موج فارسی سازی شرکت فارسی وب شریف هم روی این نرم افزار تاثیراتی داشته‌اند.
در ادامه این نوشته نصب OTRS روی ویندوز ویستا، IIS 7.0 و MS Sql Server 2008 با جزییات کامل خواهد آمد. نصب OTRS روی ویندوز ۲۰۰۳ و ویندوز ایکس‌پی هم فرق چندانی با ویندوز ویستا نداشته و به راحتی امکان پذیر است. روش نصب به سه مرحله زیر تقسیم می‌شود.
۱- نصب ActivePerl و تنظیم IIS برای اجرای اسکریپت‌های پرل
۲- ایجاد دیتابیس و تنظیمات ODBC
۳- نصب خود OTRS و تنظیمات مربوطه

نصب ActivePerl و تنظیم IIS برای اجرای اسکریپت‌های پرل

۱- همه بخش‌های 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 &quot;%s&quot; %s« resourceType=«Unspecified« requireAccess=«Execute« />

<add name=«CGI Script Map« path=«*.cgi« verb=«*« modules=«CgiModule« scriptProcessor=«c:\Perl\bin\perl.exe &quot;%s&quot; %s« resourceType=«Unspecified« requireAccess=«Execute« />

</handlers>

<staticContent>

<mimeMap fileExtension=«.pl« mimeType=«text/html« />

<mimeMap fileExtension=«.cgi« mimeType=«text/html« />

</staticContent>

</system.webServer>

</configuration>

۶- ممکن است دو لینک زیر برای رفع مشکلات مربوط به نصب پرل روی IIS کمک کند:

· http://perl.about.com/od/perltutorials/a/hellocgi.htm

· http://community.activestate.com/forum-topic/configuring-perl-on-iis-7


ایجاد دیتابیس و تنظیمات ODBC
۱- ایجاد یک دیتابیس جدید به نام otrs در MS SQL Server و اجرای اسکریپت‌های زیر برای ساخت جداول و بقیه موارد. این اسکریپت‌ها در شاخه \scripts\database قرار دارند و باید به همین ترتیب اجرا شوند:

otrs-schema.mssql

otrs-initial_insert.mssql

otrs-schema-post.mssql

۲- ساخت یک DSN در ODBC به نام otrs
۳- اگر در DSN به جای نام کاربری SQL Server از نام کاربری ویندوز (Windows Authentication) استفاده می‌شود در SQL Server مراحل زیر را برای اعطای دسترسی‌های لازم دنبال کنید:
•    ساخت یک کاربر برای NT AUTHORITY\IUSR در فهرست loginهای کلی MS SQL Server 2008 در بخش Security

pic11

•    همین کاربر باید به فهرست کاربران مجاز خود بانک اطلاعاتی otrs هم اضافه شود:

pic2

•    در کاربر IUSRی که در فهرست کاربران دیتابیس otrs (نه فهرست کاربران کل MSSQL) قرار دارد نقش db_owner را بدهید.

نصب خود OTRS و تنظیمات مربوطه
۱- قرار دادن سورس برنامه در شاخه‌ای مشخص در هارد دیسک ترجیحا wwwroot
۲- ایجاد یک VIRTUAL DIRECTORY جدید در IIS به نام otrs و تنظیم آدرس آن به شاخه \bin\cgi-bin از سورس برنامه.
۳- ایجاد یک Virtual Directory دیگر برای نگهداری تصاویر به نام otrs-web و به آدرس \var\httpd\htdocs
۴- تعیین دسترسی‌های لازم برای گروه IUSR به شرح ذیل:
•    دسترسی کامل به شاخه \var\log داده شود. لاگ فایل‌های سیستم در این شاخه نگهداری می‌شوند. اگر این دسترسی اعطا نشود گاهی اوقات به جای مشاهده صفحات وب، سورس HTML آنها مشاهده خواهد شد.
•    دسترسی کامل به شاخه \bin\cgi-bin داده شود. در غیر این صورت اضافه کردن attachment به ticketها امکان پذیر نخواهد بود.
۵- فایل config.pm که نگهدارنده تنظیمات برنامه است به شرح ذیل حاضر گردد. دقت شود که otrs دارای تعداد زیادی فایل تنظیماتی است که در محل‌های مختلفی قرار دارند. هر وقت که otrs به دنبال تنظیمات خاصی می‌گردد همه این فایل‌ها را با ترتیب اولویت خاصی جستجو کرده و با یافتن اولین مورد از آن استفاده کرده و بقیه موارد را در نظر نمی‌گیرد. فایل config.pm که در شاخه \Kernel قرار دارد بالاترین اولویت را دارد و پس از آن فایل defaults.pm که در شاخه \Kernel\Config موجود است اولویت بعدی را دارد. بهتر است که تنظیمات فقط در فایل config.pm ذخیره شود چون بقیه فایل‌ها همیشه در نسخه‌های جدیدتر برنامه renew شده و خطر overwrite شدن ناخواسته تنظیمات وجود دارد. در صورتی که فایل config.pm در مسیر \ kernel موجود نباشد خطای misbehaved CGI مشاهده می‌گردد.
۶- یک کپی از فایل congif.pm.dist ایجاد کرده و آن را به config.pm تغییر نام دهید.
۷- همه خطوطی که در بخش database settings وجود دارد با استفاده از کاراکتر # غیر فعال (comment) شده و خطوط زیر به جای آنها گذاشته شود:

$Self->{DatabaseDSN} = «DBI:ODBC:DSN=otrs»;

$Self->{«Database::Type»} = ‹mssql›;

$Self->{DatabaseUserTable} = ‹users›;

۸- مدخل fs root directory را مطابق مسیر سورس خود تغییر دهید. دقت کنید که  برای آدرس‌دهی باید از کاراکتر Slash استفاده کنید نه از کاراکتر Back Slash.
۹- در بخش data inserted by installer خطوط زیر را قرار دهید. خط آخر برای مشاهده صحیح کاراکترهای فارسی در صفحات برنامه ضروری است.

$Self->{LogModule} = ‹Kernel::System::Log::File›;

$Self->{LogModule::LogFile} = ‹d:/otrs/var/log/otrs_vista.log›;

$Self->{‹LogModule::SysLog::Charset›} = ‹utf-8‹;

$Self->{DefaultCharset} = ‹utf-8‹;

۱۰- اجرای برنامه با تایپ آدرس http://localhost/otrs/index.pl در آدرس مرروگر. نام کاربری پیش فرض root@localhost و کلمه عبور root می‌باشد.

مراجع:

۱

سایت رسمی otrs

http://www.otrs.org/

۲

ITIL در ویکی پدیا

http://en.wikipedia.org/wiki/Information_Technology_Infrastructure_Library

۳

مارتین ادنهوفر

http://www.linkedin.com/in/enjoyme

۴

هومن مسگری

http://blog.mesgary.com/

۵

امیر شمس پارسا

http://www.mpico.ir/

۶

پروژه ملی لینوکس فارسی

http://www.farsilinux.org/

۷

فارسی وب شریف

http://fa.farsiweb.ir/fawiki/Main

۸

دو لینک برای رفع مشکلات نصب Perl روی IIS

http://perl.about.com/od/perltutorials/a/hellocgi.htm

۹

دو لینک برای رفع مشکلات نصب Perl روی IIS

http://community.activestate.com/forum-topic/configuring-perl-on-iis-7

  1. سید مرتضی محمودی
    ژوئیه 26, 2009 در 11:11 ق.ظ.

    با سلام
    می خواستم یه سئوال بپرسم. اینکه ایا گروه پشتیبانی (agents) یا مثلا گروه admin
    هم می تونند به همدیگه تیکت بفرستند؟ اگه بله چطوری؟

    • ژوئیه 26, 2009 در 1:26 ب.ظ.

      سلام دوست عزیز

      تا آنجایی که من میدانم باید مفهوم پشتیبان(سرویس دهنده) و مشتری(سرویس گیرنده) کاملا از هم جدا باشند. یعنی اگر قرار است گروهی از گروه دیگر سرویس بگیرد باید یک کاربر مشتری برای گروه سرویس گیرنده ساخته شود و کاربر از آن طریق راه خود را ادامه دهد و به جواب درخواست خود برسد.

      اما مدیر سیستم امکانی دارد که طبق آن میتواند برای یک گروه یا یک نفر پیامی را بفرستد. برای این امر از بخش admin notification در بخش مدیریت استفاده کنید.

  1. مارس 1, 2009 در 5:30 ب.ظ.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: