【OTRS】オープンソース ヘルプデスクシステム「OTRS」を試す
はじめに
こんにちは植木和樹です。本日はオープンソースのヘルプデスクシステムOTRS(Open Ticket Request System)のご紹介と、Amazon Linuxへのインストール手順です。
ヘルプデスクシステムという言葉は聞きなれないかもしれません。しかし保守・運用業務をする上でかかせないシステムとなります。
例えばお客様からの問い合わせや作業依頼などをメールやExcel(!)でやりとりしているとします。顧客数や保守運用担当者の人数が少ないのであれば、それでもまわるのですが数が増えてくると早々に破綻します。メールの見落とし、ステータス管理(未回答、対応中、回答待ち等)、場合によっては運用担当者ではどうにもならずバックエンドのエンジニアへエスカレーション(救援要請)する必要もあり、そちらのステータス管理も必要になります。
RedmineやBacklogのようなチケット管理システムを使ってもできるのですが、これらはプロジェクト単位での管理がメインであり、複数のお客様を横断的にチケット管理する(複数のお客様へ単一窓口を提供する)のが少々難しいです。そういう時にこそヘルプデスクシステムというのが役に立ちます。
なおOTRSにはITILでいうインシデント管理や問題管理、変更管理を含めた「OTRS ITSM」というパッケージがあるのですが、ここではインシデント受付業務(サービスデスク)とインシデント管理(発生〜解決)に機能をしぼった「OTRS Help Desk」を取り上げています。
環境
- Amazon Linux AMI 2014.03.1 - ami-c9562fc8 (64-bit)
- インスタンスタイプ m1.small
- セキュリティグループ ssh(tcp/22)と http(tcp/80)を許可
- OTRS Help Desk 3.3.7
- Apache 2.2.27 (非mod_perl)
- MySQL 5.5.37 (character-set utf8)
- Perl v5.16.3
今回はRDSを使わずEC2ローカルにMySQLをインストールしています。また今回はOTRSをRPMからではなくソース(tar+gz)をダウンロードして手作業でセットアップしています。
OTRSが必要とするパッケージのインストール
OTRSが動くのに必要なパッケージ(Perl、Apache、MySQL)をインストールします。
$ sudo yum install -y perl-ExtUtils-MakeMaker perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-YAML perl-Net-DNS perl-TimeDate perl-YAML-LibYAML perl-version perl-Sys-Syslog perl-Time-Piece perl-IO-Socket-SSL $ sudo yum install -y httpd $ sudo yum install -y mysql mysql-server
OTRS用OSユーザー作成
OTRS用のユーザーを作成します。cronなどのバックグラウンドジョブはこのユーザーで実行されます。
# groupadd otrs # useradd -M -d /opt/otrs -g otrs otrs # id otrs uid=501(otrs) gid=501(otrs) groups=501(otrs)
OTRSのダウンロードとファイルの展開
必要なミドルウェアと、OSユーザーができたのでOTRSをインストールしていきましょう。
OTRSのダウンロードURLはTry OTRSで確認可能です。前述した通り、ソースからインストールしますのでOTRS Help Desk 3.3.7.tar.gzをダウンロードします。
$ wget http://ftp.otrs.org/pub/otrs/otrs-3.3.7.tar.gz $ sudo -s # cd /opt # tar xzf ~ec2-user/otrs-3.3.7.tar.gz # mv otrs-3.3.7 otrs # cp -p otrs/Kernel/Config.pm.dist otrs/Kernel/Config.pm # perl /opt/otrs/bin/otrs.SetPermissions.pl --otrs-user=otrs --otrs-group=otrs --web-user=apache --web-group=apache /opt/otrs
MySQL設定
MySQLをローカルホストで起動します。
# vi /etc/my.cnf [mysqld] character-set-server=utf8 (← 追加) # chkconfig mysqld on # service mysqld start
OTRS用のデータベースを作成します。DBの初期設定は後述のWebインストーラーを使います。DBの作成もWebインストーラーでできるのですが、キャラクタセットを明示的にutf8で作成したいため手作業でcreate dbしています。 otrsデータベースを作成したら接続用ユーザーを作成しパスワードを設定します。
# mysqladmin create --default-character-set=utf8 otrs # mysql mysql> show variables like '%char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ mysql> grant all on otrs.* to 'otrs'@'localhost' identified by 'YOURPASSWORD';
crontab設定
パッケージに含まれているテンプレート(*.dist)をコピーして使用します。
# cd /opt/otrs/var/cron # for foo in *.dist; do cp $foo `basename $foo .dist`; done
otrsユーザーでcrontab設定用シェルを実行しcronのジョブを登録します。
su - otrs /opt/otrs/bin/Cron.sh start crontab -l (crontabが設定されていることを確認します)
Apache設定
OTRSに同梱されている設定ファイルを、Apacheの設定ファイルディレクトリ(/etc/httpd/conf.d)にコピーします。コピーしたらApacheを起動します。
# cp -p /opt/otrs/scripts/apache2-httpd.include.conf /etc/httpd/conf.d/otrs.conf # chkconfig httpd on # service httpd start
初期設定
Apacheを起動したらWebインストーラーのページ(サーバーの /otrs/installer.pl)にアクセスします。
- http://otrs.example.com/otrs/installer.pl
画面の指示に従って初期設定をしていきましょう。
ライセンス条項に同意します。
データベースタイプは"MySQL"を選択します。データベースは先ほど"otrs"データベースを作成済みなので"Use an existing database for OTRS"を選択します。
otrsデータベースに作成したDBユーザーとパスワードを入力します。今回はローカルホストで動いている"otrs"データベースを利用するのでホストとDatabase nameはそのままでOKです。入力したら「データベース設定をチェック」をクリックします。
DBユーザーとパスワードで"otrs"データベースに接続できると成功メッセージが表示されます。表示されたら「次へ」をクリックするとデータベースの初期設定が開始されます(m1.smallだと30秒ほどかかります)。
データベースの初期設定が完了したメッセージが表示されたら「次へ」。
システムのホスト名(FQDN)、管理者メールアドレス、組織名を入力します。それ以外はデフォルトでOKです。後からも変更可能です。
送信/受信メール設定はひとまず空にしてスキップしておきます。
セットアップが完了すると画面に管理者パスワード(ランダムな文字列)が表示されるのでメモしておきましょう。"スタートページ"のリンクをクリックするとログイン画面が表示されます。
"ユーザー名"は"root@localhost"、パスワードは前の画面で表示されたランダム文字列を入力しログインします。
ダッシュボードが表示されれば、ひとまずインストールは完了です。
初期設定後の作業
ひとまずこれでAmazon LinuxへOTRSはインストールできました。しかし画面をみてもらうと分かる通り赤く警告がでています。"root@localhost"のスーパーユーザーは使わず「担当者」を作成して作業するように注意していますね。
またOTRSはPerlで記述されており、Apacheのmod_perlを使うことで高速化できます。またスケジューラーやメール設定など、実際に利用する上でもう少し設定作業が必要になります。
これらを書くと長くなるので、それぞれ設定作業ごとに別エントリにしたいと思います。