OTRS


OTRS基礎

安裝

環境准備

RHEL6.8

Apache/2.2.15 (Unix)

perl
v5.10.1

otrs 5.0.x 
下載最新的源代碼 git clone https://github.com/OTRS/otrs

<VirtualHost *:8222>
ScriptAlias /otrs/ "/opt/otrs/bin/cgi-bin/"
Alias /otrs-web/ "/opt/otrs/var/httpd/htdocs/"
Perlrequire /opt/otrs/scripts/apache2-perl-startup.pl
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
PerlModule Apache2::RequestRec
ErrorLog logs/otrs-error.log
<Location /otrs>
#   ErrorDocument 403 /otrs/customer.pl
    ErrorDocument 403 /otrs/index.pl
    SetHandler  perl-script
    PerlResponseHandler ModPerl::Registry
    Options +ExecCGI
    PerlOptions +ParseHeaders
    PerlOptions +SetupEnv
    Order allow,deny
    Allow from all
</Location>
</VirtualHost>
apache http.conf 配置

 

perl 模塊安裝

檢查缺失的模塊

perl /opt/otrs/bin/otrs.CheckModules.pl

使用 cpan 安裝

# cpan
cpan[1]> install GD
CPAN: Storable loaded ok (v2.20)
Going to read '/root/.cpan/Metadata'
  Database was generated on Tue, 18 Apr 2017 05:17:02 GMT
CPAN: LWP::UserAgent loaded ok (v5.833)
CPAN: Time::HiRes loaded ok (v1.9721)

最后需要安裝的模塊

# perl /opt/otrs/bin/otrs.CheckModules.pl
  o Apache::DBI......................ok (v1.12)
  o Apache2::Reload..................ok (v0.13)
  o Archive::Tar.....................ok (v1.58)
  o Archive::Zip.....................ok (v1.59)
  o Crypt::Eksblowfish::Bcrypt.......Not installed! Use: 'yum install 

"perl(Crypt::Eksblowfish::Bcrypt)"' (optional - For strong password hashing.)

  o Crypt::SSLeay....................ok (v0.57)
  o Date::Format.....................ok (v2.24)
  o DBI..............................ok (v1.636)
  o DBD::mysql.......................ok (v4.013)
  o DBD::ODBC........................Not installed! (optional - Required to connect to a MS-SQL database.)
  o DBD::Oracle......................Not installed! (optional - Required to connect to a Oracle database.)
  o DBD::Pg..........................Not installed! Use: 'yum install "perl(DBD::Pg)"' (optional - Required to connect to a PostgreSQL database.)
  o Digest::SHA......................ok (v5.96)
  o Encode::HanExtra.................ok (v0.23)
  o IO::Socket::SSL..................ok (v2.048)
  o JSON::XS.........................ok (v3.03)
  o List::Util::XS...................ok (v1.47)
  o LWP::UserAgent...................ok (v6.13)
  o Mail::IMAPClient.................ok (v3.39)
    o IO::Socket::SSL................ok (v2.048)
  o ModPerl::Util....................ok (v2.000004)
  o Net::DNS.........................ok (v0.65)
  o Net::LDAP........................ok (v0.40)
  o Template.........................ok (v2.27)
  o Template::Stash::XS..............ok (undef)
  o Text::CSV_XS.....................ok (v1.28)
  o Time::HiRes......................ok (v1.9721)
  o Time::Piece......................ok (v1.15)
  o XML::LibXML......................ok (v1.70)
  o XML::LibXSLT.....................Not installed! Use: 'yum install "perl(XML::LibXSLT)"' (optional - Required for Generic Interface XSLT mapping module.)
  o XML::Parser......................ok (v2.44)
  o YAML::XS.........................ok (v0.64)
View Code

用不到的模塊
DBD::ODBC ------sql server 的接口
DBD::Oracle ------oracle 的接口
DBD::Pg ------PostgreSQL 的接口 `

otrs 安裝

1. 首先創建一個用來運行 OTRS cron 計划任務的帳號 otrs,以 / opt/otrs 作為主目錄。

useradd -d /opt/otrs/ -c 'OTRS user' otrs

2. 將 OTRS 安裝在 /opt 目錄里。

cd /opt
使用git clone就可以

3. 用戶將被加入 apache 用戶組中,

usermod -G apache otrs

4 配置文件

     shell> cd /opt/otrs/
     shell> cp Kernel/Config.pm.dist Kernel/Config.pm
     shell> cp Kernel/Config/GenericAgent.pm.dist Kernel/Config/GenericAgent.pm

5 檢查所有必需的模塊是否被安裝:

shell> perl -cw /opt/otrs/bin/cgi-bin/index.
      /opt/otrs/bin/cgi-bin/index.pl syntax OK
shell> perl -cw /opt/otrs/bin/cgi-bin/customer.pl
      /opt/otrs/bin/cgi-bin/customer.pl syntax OK
shell> perl -cw /opt/otrs/bin/otrs.PostMaster.pl
      /opt/otrs/bin/otrs.PostMaster.pl syntax OK
"syntax OK" 
tells you all mandatory perl modules are installed.

6 配置目錄的權限,使 web 服務器用戶和 OTRS 用戶對目錄都有權限。

cd /opt/otrs
bin/otrs.SetPermissions.pl --otrs-user=otrs --web-user=apache --otrs-group=apache --web-group=apache /opt/otrs

 

7 啟動 http
然后進入安裝頁面 http://ip/otrs/install.pl

8 由於 otrs 需要用到郵件,所以先要配置 sendmail

# yum install sendmail
# yum install sendmail-cf
# chkconfig sendmail on

# cd /etc/mail

#vi sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=**0.0.0.0**, Name=MTA')dnl

#m4 sendmail.mc sendmail.cf
# service sendmail restart

測試
 # mail -s 54678 a30402104@126.com
Fdaffadfdfa
Ctrl+D

安裝完畢后,在 系統管理 - 系統配置 - 選擇 FRAMEWORK- core sendmail 

 

9 安裝過程的問題和優化

  mysql 限制上傳文件大小,修改 / etc/my.cnf 配置文件后解決。

 

[mysqld]
max_allowed_packet = 32M

 

 

mysql.sock 的路徑不正確,在 http://ip/otrs/installer.pl 執行安裝過程當中 otrs 默認讀取 mysql.sock 的路徑是 / var/lib/mysql/mysql.sock,但是 my.cnf 配置文件指定的 mysql.sock 路徑是 / tmp/mysql.sock

    • 守護進程
      5 版本的 otrs 有自己的守護進程,並且要求不能以 root 用戶啟動

    • 利用 nginx 做一次轉發
      使用 apache 設置虛擬主機不太友好,並且此服務器有多個用途,所以利用 nginx rewrite 一次

server {
    listen       80;
    server_name  otrs.ops.net; 
    root /opt/otrs; # 根目錄為web
    index index.php;

    # allow 192.168.0.0/24;
    # deny all;

    location ~ / {
         if ( $request_uri = "/" ) {
            rewrite "/" $uri/otrs/index.pl break;
                }
         proxy_pass http://127.0.0.1:8222;
        }

}

 

 

CMDB

安裝

ITSM-5.0.19.opm
5.0.1 使用 chrome 可能有個坑:無法提交表單

 

使用 "軟件包管理" 選擇 "安裝軟件包" 就可以自動安裝了

出現 ITSM 則安裝成功

配置

cmdb 最重要的就是 CI 功能,在 "工單設置" 中最常用的是 "目錄","配置項"

    • 配置項
      用來區分設備類型,可以在 ITSM::CONFIGITEM::CLASS 中配置

 

目錄
用來管理配置項中的字段 type 類型

 

 

更多配置請參考 CMDB 在線學習

 

 

FAQ

開啟 FAQ 功能

在 系統管理 - 服務人員 <-> 組 設置 FAQ 權限,用以 FAQ 的操作權限

設置類別

業務 - 運維 - 數據庫

創建

 

修改 faq 的 view 字段名稱

編輯FAQ → Core::Item中的配置設置

根據不通需求來改顯示的名稱,替代之前的 solution 等等,效果如下:

 

 

故障處理

[Wed Jun 21 17:34:03 2017] [error] Attempt to reload /opt/otrs/Kernel/Config/Files/ZZZAAuto.pm aborted.\nCompilation failed in require at /opt/otrs//Kernel/Config/Defaults.pm line 1940.\n

可能是由於數據庫不能寫入造成(磁盤100%)
處理方法就是,注銷 /opt/otrs//Kernel/Config/Defaults.pm 中的部分代碼
當然,還會繼續報錯,再把它取消注釋就可以了

:1940           ## no critic
                #if ( $Require ) {
                #    if (! require $File ) {
                #        die "ERROR: $!\n";
                #    }
                #}
                #else {
                #    if (! do $File ) {
                #        die "ERROR: $!\n";
                #    }
                #}
                ## use critic


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM