著者は、 Free Software Foundation を選択して、 Write forDOnationsプログラムの一環として寄付を受け取りました。

序章

OTRS は、OペンソースT icket R equest S システムとも呼ばれ、ヘルプデスクおよびITサービス管理システム。 これは、ユーザー、顧客、IT担当者、ITサービス、および外部組織に単一の連絡先を提供します。 このプログラムはPerlで記述されており、さまざまなデータベース( MySQL PostgreSQL など)をサポートし、LDAPディレクトリと統合できます。 ]。

このチュートリアルでは、Ubuntu18.04サーバーにOTRSCommunity Editionをインストールし、シンプルなヘルプデスクシステムをセットアップします。これにより、Webインターフェイスと電子メールの両方を使用して顧客からの要求を受信および処理できます。

前提条件

このチュートリアルを完了するには、次のものが必要です。

  • Ubuntu 18.04 初期サーバーセットアップガイドに従ってセットアップされたUbuntu18.04サーバー。これには、sudo権限を持つroot以外のユーザーと、ufwで構成されたファイアウォールが含まれます。

  • UbuntuサーバーにインストールされているApacheとMySQL。 これらを構成するには、このガイドステップ1および2に従ってください。

  • 完全に登録されたドメイン名。 このチュートリアルでは、全体を通してexample.comを使用します。 Namecheap でドメイン名を購入するか、 Freenom で無料でドメイン名を取得するか、選択したドメイン登録事業者を使用できます。

  • 次の両方のDNSレコードがサーバー用に設定されています。 それらを追加する方法の詳細については、このDigitalOceanDNSの紹介に従ってください。

    • サーバーのパブリックIPアドレスを指すexample.comのAレコード。
    • サーバーのパブリックIPアドレスを指すwww.example.comのAレコード。
  • ドメインのUbuntu18.04サーバーにインストールされているTLS/SSL証明書。 Ubuntu 18.04ガイドで暗号化して、無料のTLS/SSL証明書を取得できます。

  • チュートリアルUbuntu18.04にPostfixをインストールして設定する方法に従って設定されたPostfixメール転送エージェント。

  • (オプション)IMAPアクセスが有効になっている専用のGmailアカウント 2段階認証プロセス、およびで生成されたアプリパスワード ]その他(カスタム名)オプション。 アプリのパスワードを生成するときは、手順5で使用できるように書き留めておきます。 Gmailを使用して、GmailをIMAPSメールボックスとして、OTRSでの受信メールチケットの作成を構成します。 これは、OTRSの受信メールを設定する1つの方法にすぎません。 他のオプションを検討したい場合は、OTRSドキュメントをチェックしてください。

警告:自分のアクティブなGmailアカウントを使用して、OTRSの受信メールを構成しないでください。 imap.gmail.comがメールをOTRSに転送すると、Gmailアカウントのすべてのメールが削除されます。 このため、OTRS専用に使用する新しいGmailアカウントを作成することをお勧めします。

ステップ1—OTRSパッケージとPerlモジュールのインストール

このステップでは、システムの機能を向上させるOTRSとPerlモジュールのセットをインストールします。

OTRSはUbuntuのパッケージマネージャーで利用可能ですが、公式ドキュメントはソースからOTRSをインストールすることを提案しています。

これを行うには、最初に非rootユーザーとしてUbuntuサーバーにログインします。

  1. ssh sammy@Ubuntu_Server_IP

次に、wgetコマンドを使用してソースアーカイブをダウンロードします。 このチュートリアルでは、バージョン6.0.19をダウンロードします。 あなたはOTRSダウンロードページで利用可能な最新バージョンを見つけることができます。

  1. wget http://ftp.otrs.org/pub/otrs/otrs-6.0.19.tar.gz

次に、tarを使用して圧縮ファイルを解凍します。

  1. tar xzf otrs-6.0.19.tar.gz

アーカイブの内容を/opt/otrsディレクトリに移動します。

  1. sudo mv otrs-6.0.19 /opt/otrs

OTRSはPerlで書かれているので、多くのPerlモジュールを使用します。 OTRSに含まれているCheckModules.plスクリプトを使用して、不足しているモジュールを確認します。

  1. sudo /opt/otrs/bin/otrs.CheckModules.pl

次のような出力が表示され、既にダウンロードしたモジュールと不足しているモジュールが一覧表示されます。

Output
o Apache::DBI......................FAILED! Not all prerequisites for this module correctly installed. o Apache2::Reload..................ok (v0.13) . . . o XML::LibXML......................Not installed! Use: 'apt-get install -y libxml-libxml-perl' (required - Required for XML processing.) o XML::LibXSLT.....................Not installed! Use: 'apt-get install -y libxml-libxslt-perl' (optional - Required for Generic Interface XSLT mapping module.) o XML::Parser......................Not installed! Use: 'apt-get install -y libxml-parser-perl' (optional - Recommended for XML processing.) o YAML::XS.........................Not installed! Use: 'apt-get install -y libyaml-libyaml-perl' (required - Required for fast YAML processing.)

一部のモジュールは、他のデータベースとの通信や特定の文字セットのメールの処理など、オプションの機能にのみ必要です。 プログラムが機能するためには他のものが必要です。

これらのモジュールをダウンロードするための推奨コマンドはapt-getを使用しますが、このチュートリアルでは、Ubuntu18.04の推奨ベストプラクティスであるaptコマンドを使用して不足しているモジュールをインストールします。 これらのモジュールを手動で実行するか、次のコマンドを使用してください。

$ sudo apt install libapache2-mod-perl2 libdbd-mysql-perl libtimedate-perl libnet-dns-perl libnet-ldap-perl \
    libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libtext-csv-xs-perl \
    libjson-xs-perl libapache-dbi-perl libxml-libxml-perl libxml-libxslt-perl libyaml-perl \
    libarchive-zip-perl libcrypt-eksblowfish-perl libencode-hanextra-perl libmail-imapclient-perl \
    libtemplate-perl libdatetime-perl

これらのモジュールのインストールが完了したら、スクリプトを再実行して、必要なすべてのモジュールがインストールされていることを確認してください。

  1. sudo /opt/otrs/bin/otrs.CheckModules.pl

出力には、インストールされているすべてのモジュールが表示されます。

Output
... o Text::CSV_XS.....................ok (v1.34) o Time::HiRes......................ok (v1.9741) o XML::LibXML......................ok (v2.0128) o XML::LibXSLT.....................ok (v1.95) o XML::Parser......................ok (v2.44) o YAML::XS.........................ok (v0.69)

サーバーにOTRSとその依存関係がインストールされたので、ApacheとMySQLを使用するようにOTRSを設定できます。

ステップ2— OTRS、Apache、およびMySQLサーバーの構成

このステップでは、OTRSのシステムユーザーを作成し、OTRSと連携するようにApacheおよびMySQLサーバーを構成します。

otrsという名前のユーザーを作成して、useraddコマンドでOTRS関数を実行します。

  1. sudo useradd -d /opt/otrs -c 'OTRS user' otrs

-dは、ユーザーのホームディレクトリを/opt/otrsとして設定し、-cは、ユーザーを説明する'OTRS user'コメントを設定します。

次に、otrsをWebサーバーグループに追加します。

  1. sudo usermod -G www-data otrs

OTRSにはデフォルトの設定ファイル/opt/otrs/Kernel/Config.pm.distが付属しています。 .distファイル名拡張子なしでコピーして、これをアクティブにします。

  1. sudo cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm

次に、/opt/otrsディレクトリに移動します。

  1. cd /opt/otrs

ここから、otrs.SetPermissions.plスクリプトを実行します。 それは正しいユーザーとグループの設定を検出し、OTRSのファイルとディレクトリのパーミッションを設定します。

  1. sudo bin/otrs.SetPermissions.pl

これにより、次の出力が生成されます。

Output
Setting permissions on /opt/otrs

これで、正しい権限が設定されました。

次に、apache2構成ファイルをアクティブにして、他のすべての構成の後にロードされていることを確認します。 これを行うには、zzz_プレフィックスを使用してシンボリックリンクを作成します。

  1. sudo ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-enabled/zzz_otrs.conf

OTRSは最適な動作のためにアクティブであるためにいくつかのApacheモジュールを必要とします。 ツールa2enmodを介してそれらをアクティブ化できます。 これらの一部はすでに有効になっていますが、すべてを確認することをお勧めします。

  1. sudo a2enmod perl
  2. sudo a2enmod headers
  3. sudo a2enmod deflate
  4. sudo a2enmod filter

これらのモジュールにより、ApacheはPerlと連携し、 HTTPヘッダーを制御サーバー出力を圧縮出力コンテンツフィルターを構成できます。

Webサーバーを再起動して、新しい構成を適用します。

  1. sudo systemctl restart apache2

次の手順に進んでWebインストーラーを実行する前に、MySQL構成設定の一部を変更してください。 お好みのテキストエディタでMySQL設定ファイルを開きます。 このチュートリアルでは、nanoを使用します。

  1. sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]セクションで次のオプションを探します。 max_allowed_packetおよびquery_cache_sizeの場合、次のコードブロックで強調表示されているように、値をそれぞれ64Mおよび32Mに変更します。

/etc/mysql/mysql.conf.d/mysqld.cnf
...
max_allowed_packet      = 64M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_open_cache       = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 32M
...

これは、MySQLがOTRSとインターフェースできるように、最大許容パケットサイズとクエリキャッシュサイズを調整します。

次に、ファイルの最後にある[mysqld]セクションの下に次の強調表示された追加オプションを追加します。

/etc/mysql/mysql.conf.d/mysqld.cnf
...
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-ikey.pem
innodb_log_file_size = 256M
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

これにより、データベースのログファイルサイズが設定され、文字セットと照合が決定され、MySQLサーバーの起動時に文字セットを設定するinit_connect文字列が作成されます。

CTRL + XYENTERの順に押して、mysqld.cnfを保存して閉じます。 次に、MySQLサーバーを再起動して、新しいパラメーターを適用します。

  1. sudo systemctl restart mysql.service

otrsユーザーを作成し、OTRSと連携するようにApacheとMySQLを構成したので、Webインストーラーを使用する準備が整いました。

ステップ3—Webインストーラーの使用

このステップでは、WebブラウザでOTRSのデータベース設定を構成し、コマンドラインでOTRSデーモンプロセスを開始します。

お気に入りのウェブブラウザでhttps://example.com/otrs/installer.plを開き、example.comをドメイン名に置き換えます。 メッセージWelcometo OTRS6とOTRSオフィスに関する情報が表示されたウェルカム画面が表示されます。

OTRS Welcome Screen

次へをクリックします。 次の画面には、オープンソースプログラムに共通の GNU General PublicLicenseであるOTRSのライセンスが表示されます。 ライセンスに同意し、読んだ後に