OTRS,即開源問題單申請系統,是一個用於客戶服務、幫助台和 IT 服務管理的開源問題單軟體。軟體是用 Perl 和 javascript 編寫的。對於那些需要管理票據、投訴、支援請求或其他類型的報告的公司和組織來說,這是一個問題單解決方案。 OTRS 支援包括 MySQL、PostgreSQL、Oracle 和 SQL Server 在內的多個資料庫系統,它是一個可以安裝在 Windows 和 Linux 上的多平台軟體。
#在本教學中,我將介紹如何在 Ubuntu 16.04 上安裝和設定 OTRS。我將使用 PostgreSQL 作為 OTRS 的資料庫,將 Apache Web 伺服器用作 Web 伺服器。
先決條件
#在第一步驟中,我們將安裝 Apache Web 伺服器以及 PostgreSQL。我們將從 ubuntu 倉庫中使用最新的版本。
使用 SSH 登入你的 Ubuntu 伺服器:
ssh root@192.168.33.14
更新 Ubuntu 倉庫。
sudo apt-get update
使用 apt 安裝 Apache2 以及 PostgreSQL:
sudo apt-get install -y apache2 libapache2-mod-perl2 postgresql
透過檢查伺服器連接埠確保 Apache 以及 PostgreSQL 運作了。
netstat -plntu
#你可以看到 80 連接埠被 apache 使用了,5432 連接埠被 postgresql 資料庫使用了。
OTRS 是基於 Perl,因此我們需要安裝一些 OTRS 所需的 Perl 模組。
使用這個 apt 指令安裝 perl 模組:
sudo apt-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
OTRS 是一個基於 web 的程式並且運行與 apache web 伺服器下。為了安全,我們需要以普通用戶運行它,而不是 root 用戶。
使用 useradd 指令建立一個 otrs 新使用者:
useradd -r -d /opt/otrs -c 'OTRS User' otrs
接下來,將otrs使用者加入www-data使用者群組,因為 apache 運行於www-data使用者及使用者群組。
usermod -a -G www-data otrs
在/etc/passwd檔案中已經有otrs用戶了。
grep -rin otrs /etc/passwd
#OTRS 的新使用者已經建立了。
在這節中,我們會為 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
#使用 exit 回到 root 權限並重新啟動 PostgreSQL:
exit systemctl restart postgresql
PostgreSQL 已經為 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 已下載,並且我們的伺服器可以安裝 OTRS 了。
接下,進入 otrs 目錄並複製設定檔。
cd /opt/otrs/ cp Kernel/Config.pm.dist Kernel/Config.pm
使用 vim 編輯 Config.pm 檔案:
vim Kernel/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 this if you use postgresql use DBD::Pg (); use Kernel::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”:
在本教程中,我們會使用樣本資料庫,這可以在腳本目錄中找到。因此我們只需要將所有的樣本資料庫以及表格結構匯入到步驟 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。
將 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 啟動沒有錯誤。
OTRS 已經安裝並運行在 Apache Web 伺服器中了,但是我們仍然需要設定 OTRS 排程任務。
登入 otrs 用戶,接著以 otrs 用戶進入 var/cron 目錄。
su - otrs cd var/cron/ pwd
使用下面的命令複製所有 .dist 計劃任務腳本:
for foo in *.dist; do cp $foo `basename $foo .dist`; done
使用 exit 回到 root 權限,並使用 otrs 使用者啟動排程任務腳本。
exit /opt/otrs/bin/Cron.sh start otrs
#接下來,手動收取電子郵件的 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
#OTRS 安裝以及設定完成了。
開啟你的 web 瀏覽器並輸入你的伺服器 IP 位址: http://192.168.33.14/otrs/
使用預設的使用者 root@localhost 以及密碼 root 登入。
#使用預設的 root 帳號你會看到一個警告。點擊警告訊息來建立一個新的 admin root 使用者。
下面是用另外的 admin root 使用者登入後出現的 admin 頁面,這裡沒有出現錯誤訊息。
#如果你想以客戶身分登錄,可以使用 customer.pl :http://192.168.33.14/otrs/customer.pl
你會看到客戶登入介面,輸入客戶的使用者名稱和密碼。
#下面是一個建立新單據的客戶頁面。
#如果你仍舊看到 “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
以上是在 Ubuntu 16.04 上安裝 OTRS技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!