2021-05-12 14:32:11
如何在 Ubuntu 16.04 上安裝 OTRS (開源問題單系統)
OTRS ,即開源問題單(ticket)申請系統,是一個用於客戶服務、幫助台和 IT 服務管理的開源問題單軟體。該軟體是用 Perl 和 javascript 編寫的。對於那些需要管理票據、投訴、支援請求或其他型別的報告的公司和組織來說,這是一個問題單解決方案。OTRS 支援包括 MySQL、PostgreSQL、Oracle 和 SQL Server 在內的多個資料庫系統,它是一個可以安裝在 Windows 和 Linux 上的多平台軟體。
在本教學中,我將介紹如何在 Ubuntu 16.04 上安裝和設定 OTRS。我將使用 PostgreSQL 作為 OTRS 的資料庫,將 Apache Web 伺服器用作 Web 伺服器。
先決條件
- Ubuntu 16.04。
- 最小 2GB 的記憶體。
- root 許可權
步驟 1 - 安裝 Apache 和 PostgreSQL
在第一步中,我們將安裝 Apache Web 伺服器以及 PostgreSQL。我們將從 ubuntu 倉庫中使用最新的版本。
使用 SSH 登入到你的 Ubuntu 伺服器中:
ssh root@192.168.33.14
更新 Ubuntu 倉庫。
sudoapt-get update
使用 apt 安裝 Apache2 以及 PostgreSQL:
sudoapt-get install -y apache2 libapache2-mod-perl2 postgresql
通過檢查伺服器埠確保 Apache 以及 PostgreSQL 執行了。
netstat-plntu
Install Apache and PostgreSQL
你可以看到 80 埠被 apache 使用了,5432 埠被 postgresql 資料庫使用了。
步驟 2 - 安裝 Perl 模組
OTRS 基於 Perl,因此我們需要安裝一些 OTRS 需要的 Perl 模組。
使用這個 apt 命令安裝 perl 模組:
sudoapt-get install -y libapache2-mod-perl2 libdbd-pg-perl libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libgd-text-perl libgd-graph-perl libapache-dbi-perl libarchive-zip-perl libcrypt-eksblowfish-perl libcrypt-ssleay-perl libencode-hanextra-perl libjson-xs-perl libmail-imapclient-perl libtemplate-perl libtemplate-perl libtext-csv-xs-perl libxml-libxml-perl libxml-libxslt-perl libpdf-api2-simple-perl libyaml-libyaml-perl
安裝完成後,我們需要為 apache 啟用 Perl 模組,接著重新啟動 apache 服務。
a2enmod perl
systemctl restart apache2
接下來,使用下面的命令檢查模組是否已經載入了:
apachectl -M |sort
Enable Apache Perl Module
你可以在 “Loaded Modules” 部分下看到 perl_module。
步驟 3 - 為 OTRS 建立新使用者
OTRS 是一個基於 web 的程式並且執行與 apache web 伺服器下。為了安全,我們需要以普通使用者執行它,而不是 root 使用者。
使用 useradd 命令建立一個 otrs
新使用者:
useradd-r -d /opt/otrs -c 'OTRS User' otrs
-r
:將使用者作為系統使用者。-d /opt/otrs
:在/opt/otrs
下放置新使用者的主目錄。-c
:備註。
接下來,將 otrs
使用者加入到 www-data
使用者組,因為 apache 執行於 www-data
使用者及使用者組。
usermod-a -G www-data otrs
在 /etc/passwd
檔案中已經有 otrs
使用者了。
grep-rin otrs /etc/passwd
Create new user for OTRS
OTRS 的新使用者已經建立了。
步驟 4 - 建立和設定資料庫
在這節中,我們會為 OTRS 系統建立一個新 PostgreSQL 資料庫,並對 PostgreSQL 資料庫的設定做一些小的更改。
登入到 postgres
使用者並存取 PostgreSQL shell。
su- postgres
psql
建立一個新的角色 otrs
,密碼是 myotrspw
,並且是非特權使用者。
create user otrs password 'myotrspw' nosuperuser;
接著使用 otrs
使用者許可權建立一個新的 otrs
資料庫:
create database otrs owner otrs;
q
接下來為 otrs
角色驗證編輯 PostgreSQL 組態檔。
vim/etc/postgresql/9.5/main/pg_hba.conf
在 84 行後貼上下面的設定:
local otrs otrs password
host otrs otrs 127.0.0.1/32 password
儲存檔案並退出 vim
Database Authentication OTRS
使用 exit
回到 root 許可權並重新啟動 PostgreSQL:
exit
systemctl restart postgresql
PostgreSQL 已經為 OTRS 的安裝準備好了。
Configure PostgreSQL for OTRS
步驟 5 - 下載和設定 OTRS
在本教學中,我們會使用 OTRS 網站中最新的版本。
進入 /opt
目錄並使用 wget
命令下載 OTRS 5.0:
cd/opt/
wget http://ftp.otrs.org/pub/otrs/otrs-5.0.16.tar.gz
展開該 otrs 檔案,重新命名目錄並更改所有 otrs 的檔案和目錄的所屬人為 otrs
。
tar-xzvf otrs-5.0.16.tar.gz
mv otrs-5.0.16 otrs
chown-R otrs:otrs otrs
接下來,我們需要檢查系統並確保可以安裝 OTRS 了。
使用下面的 otrs 指令碼命令檢查 OTRS 安裝需要的系統軟體包:
/opt/otrs/bin/otrs.CheckModules.pl
確保所有的結果是對的,這意味著我們的伺服器可以安裝 OTRS 了。
OTRS Chek Module needed for Installation
OTRS 已下載,並且我們的伺服器可以安裝 OTRS 了。
接下,進入 otrs 目錄並複製組態檔。
cd/opt/otrs/
cpKernel/Config.pm.dist Kernel/Config.pm
使用 vim 編輯 Config.pm
檔案:
vimKernel/Config.pm
更改 42 行的資料庫密碼:
$Self->{DatabasePw}='myotrspw';
注釋 45 行的 MySQL 資料庫支援:
# $Self->{DatabaseDSN}="DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";
取消註釋 49 行的 PostgreSQL 資料庫支援:
$Self->{DatabaseDSN}="DBI:Pg:dbname=$Self->{Database};";
儲存檔案並退出 vim。
接著編輯 apache 啟動檔案來啟用 PostgreSQL 支援。
vim scripts/apache2-perl-startup.pl
取消註釋 60 和 61 行:
# enable thisif you use postgresql
use DBD::Pg();
useKernel::System::DB::postgresql;
儲存檔案並退出編輯器。
最後,檢查缺失的依賴和模組。
perl -cw /opt/otrs/bin/cgi-bin/index.pl
perl -cw /opt/otrs/bin/cgi-bin/customer.pl
perl -cw /opt/otrs/bin/otrs.Console.pl
你可以在下面的截圖中看到結果是 “OK”:
Check all modules again
步驟 6 - 匯入樣本資料庫
在本教學中,我們會使用樣本資料庫,這可以在指令碼目錄中找到。因此我們只需要將所有的樣本資料庫以及表結構匯入到第 4 步建立的資料庫中。
登入到 postgres
使用者並進入 otrs 目錄中。
su- postgres
cd/opt/otrs/
作為 otrs 使用者使用 psql
命令插入資料庫以及表結構。
psql -U otrs -W -f scripts/database/otrs-schema.postgresql.sql otrs
psql -U otrs -W -f scripts/database/otrs-initial_insert.postgresql.sql otrs
psql -U otrs -W -f scripts/database/otrs-schema-post.postgresql.sql otrs
在需要的時候輸入資料庫密碼 myotrspw
。
Import OTRS Sample Database
步驟 7 - 啟動 OTRS
資料庫以及 OTRS 已經設定了,現在我們可以啟動 OTRS。
將 otrs 的檔案及目錄許可權設定為 www-data
使用者和使用者組。
/opt/otrs/bin/otrs.SetPermissions.pl --otrs-user=www-data --web-group=www-data
通過建立一個新的連結檔案到 apache 虛擬主機目錄中啟用 otrs apache 設定。
ln-s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-available/otrs.conf
啟用 otrs 虛擬主機並重新啟動 apache。
a2ensite otrs
systemctl restart apache2
確保 apache 啟動沒有錯誤。
Enable OTRS Apache Virtual Host
步驟 8 - 設定 OTRS 計劃任務
OTRS 已經安裝並執行在 Apache Web 伺服器中了,但是我們仍然需要設定 OTRS 計劃任務。
登入到 otrs
使用者,接著以 otrs 使用者進入 var/cron
目錄。
su- otrs
cdvar/cron/
pwd
使用下面的命令複製所有 .dist
計劃任務指令碼:
for foo in*.dist;docp $foo `basename $foo .dist`;done
使用 exit
回到 root 許可權,並使用 otrs 使用者啟動計劃任務指令碼。
exit
/opt/otrs/bin/Cron.sh start otrs
Enable OTRS Cron
接下來,手動收取電子郵件的 PostMaster 建立一個新的計劃任務。我會設定為每 2 分鐘收取一次郵件。
su- otrs
crontab -e
貼上下面的設定:
*/2 * * * * $HOME/bin/otrs.PostMasterMailbox.pl >>/dev/null
儲存並退出。
現在停止 otrs 守護行程並再次啟動。
bin/otrs.Daemon.pl stop
bin/otrs.Daemon.pl start
Enable OTRS Fetching Email
OTRS 安裝以及設定完成了。
步驟 9 - 測試 OTRS
開啟你的 web 瀏覽器並輸入你的伺服器 IP 地址: http://192.168.33.14/otrs/
使用預設的使用者 root@localhost
以及密碼 root
登入。
Installation Successfully OTRS Home Page
使用預設的 root 賬戶你會看到一個警告。點選警告資訊來建立一個新的 admin root 使用者。
下面是用另外的 admin root 使用者登入後出現的 admin 頁面,這裡沒有出現錯誤資訊。
OTRS Admin Dashboard Without Error Messages
如果你想作為客戶登入,你可以使用 customer.pl
:http://192.168.33.14/otrs/customer.pl
你會看到客戶登入介面,輸入客戶的使用者名稱和密碼。
OTRS Customer Login Page
下面是一個建立新單據的客戶頁面。
Customer Open Ticket
步驟 10 - 疑難排查
如果你仍舊看到 “OTRS Daemon is not running” 的錯誤,你可以像這樣偵錯 OTRS 守護行程。
su- otrs
cd/opt/otrs/
停止 OTRS 守護行程:
bin/otrs.Daemon.pl stop
使用 --debug
選項啟動 OTRS 守護行程。
bin/otrs.Daemon.pl start --debug
參考
- http://wiki.otterhub.org/index.php?title=InstallationonDebian6with_Postgres
- http://www.geoffstratton.com/otrs-installation-5011-ubuntu-1604
- https://www.linkedin.com/pulse/ticketing-system-otrs-ubuntu-1404-muhammad-faiz-khan
作者:Muhammad Arul 譯者:geekpi 校對:wxy
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-06/144444.htm
相關文章