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>
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)
用不到的模块
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