Request Tracker 3.8をインストールする





あいさつ、%habrauser%!



背景:


現時点では、コンサルティング、監査、ITサービスに従事している小さなオフィスで働いています。 オフィスは小さいですが、クライアントの数は急速に増加しており、通常のヘルプデスクなしでは管理が非常に困難でした。 有料と無料の両方の製品の適切なリストを検討した結果 、非常にシンプルなリクエストトラッカーと呼ばれるBestPractical製品が選ばれました。





Request Trackerは、タスク、問題、およびユーザーからの外部リクエストを管理するためのオープンソースのエンタープライズレベルの会計および追跡システムです。 システムは、オブジェクト指向言語Perlで書かれています。 このシステムは1996年から開発が開始され、システム管理者、テクニカルサポートの従業員、ITマネージャー、開発者、マーケティング部門によって使用されています。



en.wikipedia.org/wiki/Request_Tracker


次の基準で選択された























現在のバージョンは2010年5月5日から3.8.8であり、今すぐインストールします。



インストール:




オペレーティングシステムとして、Freebsd 8ブランチを使用します。 いつものように、何かをインストールする前にポートを更新します。



# portsnap fetch update







Webサーバーとしてクラシックバージョンを使用します:mod_perl2を使用したapache 2.2(nginxまたはlighttpdを使用できます)



# cd /usr/ports/www/apache22 && make install clean

# cd /usr/ports/www/mod_perl2 && make install clean









RT 3.8自体をインストールします。



# cd /usr/ports/www/rt38 && make install clean







DBMSとして、MySql 5.1を使用します



# cd /usr/ports/database/mysql51-server && make install clean







インストール後、/ etc / rc.confでアプリケーションを実行する機能を規定します



apache22_enable="YES"



mysql_enable="YES"








そして今 mysql-server のみを実行します



# /usr/local/etc/rc.d/mysql-server start







次に、すべてのRT依存関係が正しくインストールされているかどうかを確認します。



# /usr/local/sbin/rt-test-dependencies --with-mysql --with-modperl2







最後に「すべての依存関係が見つかりました」という行が表示された場合、すべてが正常であり、そうでない場合は、CPANを構成し、欠落している依存関係をインストールします。

# /usr/bin/perl -MCPAN -e shell

# /usr/local/sbin/rt-test-dependencies --with-mysql --with-modperl2 –install









ソフトウェアを見つけたので、RTのセットアップに移りましょう。 RTには、RT_Config.pmとRT_SiteConfig.pmの2つの構成ファイルがあります。 RT_Config.pmファイルには、RT_SiteConfig.pmファイルの値で置き換えられるデフォルト値が含まれています。 したがって、RT_SiteConfig.pmファイルを開き、デフォルト値の代わりに値を指定します。



Set( $rtname, 'Firma');

Set($WebBaseURL , "rt.domen.com");

Set( $WebPath , "");



Set($DataBaseType , 'mysql');

Set($DatabaseHost , 'localhost');

Set($DatabaseRTHost , 'localhost');

Set($DatabaseName , 'rt3');

Set($DatabaseUser, 'rt38');

Set($DatabasePassword , password);

Set($Timezone, 'Asia/Sakhalin');



Set($CorrespondAddress, 'support@domen.com);

Set($CommentAddress, 'suppport-comment@domen.com);

Set($RTAddressRegexp, '^support(-comment)?\@(domen)\.(com)$');

Set($OwnerEmail, 'sergey@domen.com');



Set($AutoCreate, {Privileged => 1});

Set($NotifyActor, 1);

1;









その前に、mysqlでユーザーを起動し、このファイルでユーザー名とパスワードを指定します。 次に、RTデータベースを初期化します(ルートから初期化すると、スクリプト自体がRT_Config.pmで指定したユーザーに必要な権限を付与します)。



# rt-setup-database --action init --dba root --prompt-for-dba-password







構成ファイルに権利を割り当てます。



# Chown www /usr/local/etc/rt38/RT_Config.pm

# Chmod 600 /usr/local/etc/rt38/RT_Config.pm

# Chown www /usr/local/etc/rt38/RT_SiteConfig.pm

# Chmod 600 /usr/local/etc/rt38/RT_SiteConfig.pm









原則として、すべてがRTを起動する準備ができていますが、Google Appsを介して企業メールが機能し、そこでsupport@domen.comアカウントが開始されるという警告があります。したがって、Google Appsからメールを受信する方法をRTに何らかの方法で教える必要があります。 Fetchmailはこれを支援し、インストールします:



# cd /usr/ports/mail/fetchmail/ && make install clean







gmailは暗号化されたプロトコルで実行されるため、これらのfetchmail証明書をスリップする必要があります。 これを行うには、証明書用のディレクトリを作成します。



# mkdir /usr/local/certs/







このディレクトリ内にファイルを作成します。



# touch /usr/local/certs/gmail.pem







そして、スクリプトを実行して証明書を取得します。



# openssl s_client -connect pop.gmail.com:995 -showcerts > /usr/local/certs/gmail.pem







結果のファイルを編集し、----- BEGIN CERTIFICATE -----までのすべてを削除し、----- END CERTIFICATE -----までのすべてを削除してから、ハッシュユーティリティをコピーします。



# cp /usr/src/crypto/openssl/tools/c_rehash /usr/local/bin/c_rehash

# chmod +x /usr/local/bin/c_rehash









そして、証明書のハッシュを実行します。



# c_rehash /usr/local/certs/







次に、証明書のフィンガープリントを取得し、fetchmail configに貼り付ける必要があります



# openssl x509 -in /usr/local/certs/gmail.pem -noout -md5 –fingerprint







フィンガープリントは受信されますが、fetchmailの設定をおよそこのタイプに修正するために残ります:



defaults protocol pop3,

timeout 60,



fetchall



set logfile=/var/log/fetchmail



poll pop.gmail.com

port 995

username support@domen.com

password '****'

mda "/usr/local/bin/rt-mailgate --url ip-address --action correspond --queue General"

ssl

sslcertpath /usr/local/certs/

sslfingerprint "6B:**:**:**:**:**:**:**:**:**:**:**:**:**:B6"












(若干の余談がありますが、fetchmailはそのfetchmailユーザーから起動されますが、何らかの理由で私には働きたくなかったため、ログでは「fetchmail:有効なユーザーIDを0に切り替えられません:操作は許可されていません」と言われたため、この問題の一時的な解決策として、ルートの下でfetchmailを起動しましたが、これは良くありません。誰かが問題の解決策を知っていれば、聞いてとてもうれしいです)



/etc/rc.confに追加します



fetchmail_enable="YES"



fetchmail_user="root"








fetchmailのログファイルを作成します。実際には、/ var / log / maillogにログを記録しますが、他のログと混同しないようにします。



# touch /var/log/fetchmail







fetchmailを起動します



# /usr/local/etc/rc.d/fetchmail start







デフォルトでは、fetchmailは900秒ごとにメールをチェックします。これは、起動スクリプトを修正することで設定できます。



次のコンテンツのApache設定仮想ホストを修正して起動するために残っています



<VirtualHost *:80>

ServerName rt.domen.com

ServerAdmin sergey@domen.com

DocumentRoot /usr/local/share/rt38/html

AddDefaultCharset UTF-8

PerlModule Apache::DBI

PerlRequire /usr/local/bin/webmux.pl

<Directory /usr/local/share/rt38/html>

Order allow,deny

Allow from all

SetHandler perl-script

PerlResponseHandler RT::Mason

</Directory>



<Location /NoAuth>

Order allow,deny

Allow from IP-ADDRESS

Satisfy any

</Location>



<Location /REST/1.0/NoAuth>

Order allow,deny

Allow from IP-ADDRESS

Satisfy any

</Location>



</VirtualHost>








support@domain.comにメールを送信し、rt.domain.comにアクセスして、取得したものを確認します。標準のユーザー名/パスワードはroot / passwordです。 何か問題がある場合は、Apacheとfetchmailのログを見てください



これで、Request Tracker 3.8のインストールが完了しました。 このトピックが興味深い場合は、このシステムについて引き続き説明します。次の記事では、構成について検討します。



PSはあまり詳しく描かれていませんか?



All Articles