CentOS 7 に OTRS 5 をインストールして基本設定する手順

重要: 本手順はテスト/検証環境向けの簡易手順を含みます。本番環境では SELinux を無効化する代わりに適切にポリシーを調整し、自己署名証明書は実運用での使用を避けてください。
目的と想定環境
目的: OTRS(オープンソースのチケット管理システム)5 を CentOS 7 Minimal にインストールして、基本的な動作を確認できる状態にすること。
想定環境: VirtualBox の仮想マシン、CentOS 7 Minimal、RAM 2GB、ディスク 8GB、ネットワークインターフェース: Host-Only と NAT。
用語の簡易定義: OTRS — チケットベースのサポート運用を行うオープンソースソフトウェア。MariaDB — MySQL 互換のデータベース。httpd — Apache Web サーバ。
準備作業の概要
この節では、初期アップデートと必須ツールの導入、ネットワーク設定、SELinux 状態の確認/変更を行います。
手順概要:
- システム更新
- テキストエディタと wget の導入
- NMTUI でネットワークとホスト名を設定
- SELinux を無効化(検証環境のみ)
システム更新と基本ツールのインストール
新規インストール済みの CentOS 7 を想定して、まずシステムを更新します。
yum update
更新のトランザクション内容の例(対話で y を入力):
Transaction Summary ================================================================================ Install 1 Package Upgrade 39 Packages Total download size: 91 M Is this ok [y/d/N]: y
テキストエディタは Vim を使います。必要ならインストールします。
yum install vim
wget を導入します。
yum install wget
ネットワーク設定
NMTUI(Network Manager Text User Interface)を使ってインターフェースやホスト名を設定します。
nmtui
設定後はネットワークを再起動して反映します。
service networks restart
ネットワーク情報を確認します。
ip addr
出力例(環境によって異なります):
1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:67:bc:73 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 84631sec preferred_lft 84631sec
inet6 fe80::9e25:c982:1091:90eb/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:68:88:f3 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.101/24 brd 192.168.56.255 scope global dynamic enp0s8
valid_lft 1044sec preferred_lft 1044sec
inet6 fe80::a00:27ff:fe68:88f3/64 scope link
valid_lft forever preferred_lft forever
SELinux の確認と無効化(検証環境向け)
検証環境の手順として SELinux を一時無効にします。運用環境ではポリシー調整を推奨します。
設定ファイルを編集します。
vim /etc/selinux/config
ファイル内の該当行を変更します。
SELINUX=enforcing
を
SELINUX=disabled
に変更して保存し、再起動します。
状態確認:
getenforce
期待出力:
Disabled
MariaDB のインストールと初期設定
OTRS は MySQL 系のデータベースを使います。ここでは MariaDB を導入し、mysql_secure_installation で基礎的なセキュリティ設定を行います。
yum -y install mariadb-server
追加の設定ファイルを作成します。
vim /etc/my.cnf.d/zotrs.cnf
中身:
max_allowed_packet = 20M
query_cache_size = 32M
innodb_log_file_size = 256M
MariaDB を起動し、初期セキュリティスクリプトを実行します。
systemctl start mariadb
/usr/bin/mysql_secure_installation
プロンプトに従い、root パスワード設定や匿名ユーザの削除、テストデータベースの削除などを行います。最後に自動起動を有効にします。
systemctl enable mariadb.service
注意: パスワードは安全なものを利用してください。
OTRS パッケージのダウンロードと依存関係
OTRS の RPM をダウンロードします。以下は当該環境で使ったファイル名の例です。
wget http://ftp.otrs.org/pub/otrs/RPMS/rhel/7/otrs-5.0.15-01.noarch.rpm
EPEL リポジトリが必要です。インストールします。
[root@centos7 ~]# yum -y http://mirror.globo.com/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
OTRS をインストールします(GPG チェックを無効化する例)。
yum install -nogpgcheck otrs-5.0.15-01.noarch.rpm
依存パッケージ(Apache 等)が自動で解決されます。インストール後に Apache を開始・有効化します。
systemctl start httpd.service
systemctl enable httpd.service
SSL 設定と Apache の構成
検証環境では自己署名証明書を作成して Apache に組み込みます。本番では CA 発行の証明書を使ってください。
mod_ssl をインストールします。
yum -y install mod_ssl
作業ディレクトリへ移動し、鍵と CSR を作成します。
cd /etc/pki/tls/certs/
make centos7.key
# パスフレーズ入力が求められます
openssl rsa -in centos7.key -out centos7.key
make centos7.csr
# CSR 作成時に DN を入力
openssl x509 -in centos7.csr -out centos7.crt -req -signkey centos7.key
既存の ssl.conf をバックアップして編集します。
cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.old
vim /etc/httpd/conf.d/ssl.conf
次のディレクティブを修正します。
SSLCertificateKeyFile /etc/pki/tls/certs/centos7.key
SSLCertificateFile /etc/pki/tls/certs/centos7.csr
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
ServerName centos7.local:443
Apache を再起動します。
systemctl restart httpd
OTRS を常時 HTTPS にするためにリライトを設定します。
httpd.conf の IncludeOptional が有効になるよう uncomment します。
vim /etc/httpd/conf/httpd.conf
# ファイル末尾で次の行を有効にする
IncludeOptional conf.d/*.conf
zzz_otrs.conf にリダイレクトルールを追加します。
vim /etc/httpd/conf.d/zzz_otrs.conf
追加する行:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Apache を再起動します。
systemctl restart httpd
必須の Perl モジュールとチェック
OTRS は多数の Perl モジュールに依存します。主要モジュールを一括で導入します。
yum -y install "perl(Text::CSV_XS)" "perl(Crypt::Eksblowfish::Bcrypt)" "perl(YAML::XS)" "perl(JSON::XS)" "perl(Encode::HanExtra)" "perl(Mail::IMAPClient)" "perl(ModPerl::Util)"
インストール後、OTRS 付属のモジュールチェッカーを実行します。
cd /opt/otrs/bin
./otrs.CheckModules.pl
出力例では DBD::mysql や JSON::XS などが OK であることが表示されます。足りないモジュールは yum で個別に導入してください。
OTRS デーモンと cron 設定
OTRS のデーモンは otrs ユーザで起動します。
su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrs
ファイアウォールは検証環境で停止します(本番ではポリシーを開放する方法を採用してください)。
systemctl stop firewalld
systemctl disable firewalld.service
OTRS の cron ジョブを設定します。まず otrs ユーザへ切り替え、crontab を編集します。
su - otrs
crontab -e
crontab の例:
# Who gets the cron emails?
MAILTO="root@localhost"
# check OTRS daemon status
*/5 * * * * $HOME/bin/otrs.Daemon.pl start >> /dev/null
デーモンと cron を起動して状態を確認します。
su -c "/opt/otrs/bin/otrs.Daemon.pl status" -s /bin/bash otrs
インストーラの実行と初期設定
ブラウザで OTRS のインストーラにアクセスします。URL は環境に合わせて置き換えてください。
https://centos7.local/otrs/installer.pl
インストーラの主な手順:
- ライセンスの確認と同意
- データベース選択(MySQL/MariaDB)と作成
- システム情報の入力
- メール設定(SMTP/POP3/IMAP など)
インストーラ画面のスクリーンショット(例):
データベースは MariaDB を指定し、「Create a new database for OTRS」を選びます。MariaDB の接続情報を入力してチェックを行ってください。
インストーラはデータベースを作成し、必要なテーブルを初期化します。
インストール完了後、管理者アカウントのユーザ名とパスワードが表示されます。ログイン後にパスワードを変更してください。
ログイン画面の例:
URL 例: https://centos7.local/otrs/index.pl? (環境に応じてホスト名/IP を置き換えてください)
運用開始前のチェックリスト
運用準備で最低限確認する項目:
- Apache が HTTPS で正しく配信されるか
- OTRS デーモンと cron が起動しているか
- MariaDB が自動起動されるか
- 必要な Perl モジュールが全てインストールされているか
- 管理者アカウントでログインできるか
- メール送受信(SMTP/POP3/IMAP)が期待通りに動くか
便利なコマンドチートシート
よく使うコマンド一覧:
# network
nmtui
service networks restart
ip addr
# SELinux
vim /etc/selinux/config
getenforce
# MariaDB
systemctl start mariadb
systemctl enable mariadb.service
/usr/bin/mysql_secure_installation
# Apache
systemctl start httpd.service
systemctl enable httpd.service
systemctl restart httpd
# OTRS
yum install -nogpgcheck otrs-5.0.15-01.noarch.rpm
su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrs
su -c "/opt/otrs/bin/otrs.Daemon.pl status" -s /bin/bash otrs
# Perl モジュールチェック
cd /opt/otrs/bin
./otrs.CheckModules.pl
ロール別導入チェックリスト
システム管理者:
- ネットワークと DNS の確認
- サーバの時刻同期(NTP/chrony)を確認
- ファイアウォールとポート開放方針の決定
データベース管理者:
- MariaDB のバックアップ戦略を策定
- 適切な文字セット/照合順序を確認
- 性能監視(InnoDB 設定、ログサイズ)の初期設定
運用担当者(ヘルプデスク):
- 管理者アカウントの初期パスワード管理
- メールアカウントの作成と受信動作確認
- サービス分類(キュー)と SLA の初期方針作成
セキュリティ強化の指針
- SELinux を無効化する代わりに、必要なポリシーを追加して運用することを推奨します。
- 自己署名証明書は検証環境でのみ使用し、本番では証明書を正規の CA から取得してください。
- MariaDB の root パスワードは強固にし、リモートアクセスは最小限にとどめます。
- Apache の TLS 設定では TLSv1.2 以上を優先し、古いプロトコルを無効化してください。
- OTRS の管理者アカウントは多要素認証を導入できる場合は検討してください。
互換性と移行のヒント
- OTRS 5 は特定の Perl モジュールや MariaDB/MySQL の互換性に依存します。カスタム環境から移行する場合は otrs.CheckModules.pl を必ず実行して不足モジュールを補完してください。
- CentOS 7 は systemd ベースです。サービス起動や有効化は systemctl を使用します。
- 将来 CentOS/OS を移行する場合は、パッケージ依存や Perl バージョンの差分を事前に検証してください。
トラブルシューティングのヒント
- ブラウザでインストーラにアクセスできない場合は Apache のエラーログを確認してください: /var/log/httpd/error_log
- OTRS のデーモンが起動しない場合は /opt/otrs/var/log/ 以下のログを確認します。
- DB 接続エラーは MariaDB のユーザ/ホスト設定とパスワードを見直します。
ミニ運用手順(SOP)
- サーバのバックアップを取得する。
- システムアップデートを適用する。
- MariaDB の状態とログを確認する。
- OTRS の稼働状況と cron を確認する。
- 変更履歴を記録する。
1行用語集
- OTRS: チケット管理システム
- httpd: Apache Web サーバ
- SELinux: Linux のアクセス制御フレームワーク
- CSR: 証明書署名要求
まとめ
- 本記事では CentOS 7 に OTRS 5 をインストールして基本設定する手順を示しました。
- ネットワーク、SELinux、MariaDB、Apache/SSL、Perl モジュール、OTRS インストーラの順で進めるとスムーズです。
- 検証環境と本番環境でのセキュリティ方針は異なります。運用前にセキュリティ強化策を必ず検討してください。
重要: 本手順は検証用の簡易手順を含みます。必ず自社ポリシーやコンプライアンスに従って調整してください。