第 2 章 安装

目录

简单方法 - 预构建软件包安装
在SUSE Linux服务器上安装RPM包
准备OTRS所需的数据库环境
安装 OTRS
安装额外的perl模块
在Red Hat Enterprise Linux或CentOS系统上安装OTRS
准备:禁用SELinux
准备OTRS所需的数据库环境
安装 OTRS
安装额外的perl模块
在RedHat或CentOS上安装Oracle数据库驱动
在Debian或Ubuntu系统上安装OTRS
从源码安装OTRS(Linux、Unix)
使用Web安装器
在Windows上使用OTRS
如何迁移现有的Windows安装到Linux
说明和准备
取得OTRSCloneDB脚本以克隆数据库
允许目标系统PostgreSQL数据库的远程访问
停止OTRS服务
删除目标系统现有的数据库,为克隆数据腾空数据库
获取数据库的PostgreSQL密码
克隆数据库到目标系统
从Windows系统复制下列文件到目标系统
重新安装所有软件包
禁用目标系统PostgreSQL数据库的远程访问
启动OTRS服务
正在更新OTRS
附加的应用程序
FAQ 知识库

摘要

本章描述了OTRS中央框架的安装和基本配置,涵盖了从源码或从二进制软件包如RPM安装OTRS的信息。

这里涵盖的主题包括WEB和数据库服务器的配置、OTRS和数据库之间的接口、附件的Perl模块的安装、设置合适的OTRS访问权限、设置OTRS的cron任务以及OTRS配置文件的一些基本设置。

跟随本章的详细步骤来安装OTRS到你的服务器中,然后你就可以使用它的WEB界面来登录并管理系统了。

简单方法 - 预构建软件包安装

如果你使用的系统平台有OTRS预构建软件包,你就应该优先用它来安装,因为这是最简单、最便捷的方法。你可以在官网下载区www.otrs.com找到可用的预构建软件包。

在SUSE Linux服务器上安装RPM包

本部分描述了在SUSE Linux服务器上安装RPM包。

准备OTRS所需的数据库环境

你可以使用不同的数据库后端:MySQLPostgreSQLOracle。部署OTRS最流行的数据库是MySQL。本节描述了在基于SUSE的服务器上配置MySQL需要的步骤。当然如果你有伸缩性或其它方面的需要,也可以将数据库安装到一台单独的数据库服务器上。

注意

如果你在openSUSE 12.3以后的版本参照本节的步骤,实际上你不是安装MySQL而是MariaDB,一个与MySQL代码兼容的MySQL分支。这并没有任何问题,它可以同样工作得很好(在某些点上甚至更好那么一点点)。

以root用户执行下列的命令来安装MySQL:

linux:~ # zypper install mysql perl-DBD-mysql
        

这会按默认选项安装MySQL到系统中。你需要修改一些默认设置以便更适合OTRS运行。用文本编辑器打开文件/etc/my.cnf并添加下列行到[mysqld]节:

max_allowed_packet   = 64M
query_cache_size     = 32M
innodb_log_file_size = 256M
        

注意

请注意,OTRS需要utf8作为数据库存储编码。

现在执行命令systemctl restart mysql.service来重启数据库服务器并激活刚才的修改内容。然后运行命令/usr/bin/mysql_secure_installation并根据屏幕提示来设置数据库的root用户密码、移除匿名访问和移除test数据库。最后,运行命令systemctl enable mysql.service来确保MySQL在服务器启动后自动运行。

安装 OTRS

使用zypper通过命令行来安装OTRS,它还会拉入一些依赖包如Apache WEB服务器和一些Perl模块。确保你已经将OTRS RPM文件复制到了当前目录。

otrs-sles:~ # zypper install otrs*.rpm
....
Retrieving package otrs-x.x.x-01.noarch (1/26), 17.5 MiB (74.3 MiB unpacked)
Installing: otrs-x.x.x-01 [done]
Additional rpm output:
Check OTRS user ... otrs added.

...

otrs-sles:~ #
        

现在使用命令systemctl restart apache2.service重启Apache以便载入为OTRS修改的配置。

安装额外的perl模块

OTRS每次通过软件包管理器默认安装不会安装所有需要的模块,你可以在后面手动安装它们。运行位于目录/opt/otrs/bin/下的脚本otrs.CheckModules.pl,可以知道缺失了哪些必须安装的模块。可选的模块可能包括通过IMAP(S)与MTA通讯或生成PDF格式的输出。

在SLES操作系统中需要添加外部软件仓库来获得缺失的模块。从这里选择符合操作系统版本的软件仓库: http://download.opensuse.org/repositories/devel:/languages:/perl/ 。例如,SLES 11 SP 3的软件仓库应按如下方式添加:

zypper ar -f -n perl http://download.opensuse.org/repositories/devel:/languages:/perl/SLE_11_SP3 Perl
            

在openSUSE 12.3中只有Mail::IMAPClient才需要额外的软件仓库,这个模块只有当你要从用TLS加密的IMAP邮件服务器收取邮件时才需要。相应的命令行像这个样子:

zypper ar -f -n perl http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_12.3/ Perl
            

在添加了这个软件仓库后首次使用zypper时会提示添加它的密钥。现在你就可以像下面这样安装缺失的模块。

otrs-sles:/opt/otrs # zypper install -y "perl(YAML::LibYAML)"
Refreshing service 'susecloud'.
Retrieving repository 'perl' metadata [\]

New repository or package signing key received:
Key ID: DCCA98DDDCEF338C
Key Name: devel:languages:perl OBS Project <devel:languages:perl@build.opensuse.org>
Key Fingerprint: 36F0AC0BCA9D8AF2871703C5DCCA98DDDCEF338C
Key Created: Wed Oct 10 22:04:18 2012
Key Expires: Fri Dec 19 22:04:18 2014
Repository: perl

Do you want to reject the key, trust temporarily, or trust always? [r/t/a/?] (r): a
Retrieving repository 'perl' metadata [done]
Building repository 'perl' cache [done]
Loading repository data...
Reading installed packages...
'perl(YAML::LibYAML)' not found in package names. Trying capabilities.
Resolving package dependencies...

The following NEW package is going to be installed:
  perl-YAML-LibYAML

The following package is not supported by its vendor:
  perl-YAML-LibYAML

Retrieving package perl-YAML-LibYAML-0.38-12.4.x86_64 (1/1), 75.0 KiB (196.0 KiB unpacked)
Retrieving: perl-YAML-LibYAML-0.38-12.4.x86_64.rpm [done (55.7 KiB/s)]
Installing: perl-YAML-LibYAML-0.38-12.4 [done]
            

下一步是使用WEB安装器来配置OTRS,其过程本章另有描述

现在你可以启动OTRS守护进程并激活相应的监控此进程的cron任务(必须以otrs用户执行):

shell> /opt/otrs/bin/otrs.Daemon.pl start
shell> /opt/otrs/bin/Cron.sh start
            

就这样了,恭喜搞定!

在Red Hat Enterprise Linux或CentOS系统上安装OTRS

本部分描述了在一台Red Hat Enterprise Linux (RHEL) 或 CentOS 服务器上RPM软件包的安装。

准备:禁用SELinux

注意

如果你的系统使用了SELinux,你需要禁用它,否则OTRS无法正常工作。

下面是如何在RHEL/CentOS/Fedora中禁用SELinux:

  • 在文件/etc/selinux/config中配置SELINUX=disabled:

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #       enforcing - SELinux security policy is enforced.
    #       permissive - SELinux prints warnings instead of enforcing.
    #       disabled - No SELinux policy is loaded.
    SELINUX=disabled
    # SELINUXTYPE= can take one of these two values:
    #       targeted - Targeted processes are protected,
    #       mls - Multi Level Security protection.
    SELINUXTYPE=targeted
                            

  • 重启系统。重启后确认命令getenforce返回为Disabled

    shell> getenforce
    Disabled
                            

准备OTRS所需的数据库环境

你可以使用不同的数据库后端:MySQLPostgreSQLOracle。部署OTRS最流行的数据库是MySQL。本节描述了在基于RHEL的服务器上配置MySQL需要的步骤。当然如果你有伸缩性或其它方面的需要,也可以将数据库安装到一台单独的数据库服务器上。

以root用户执行下列的命令来安装MySQL(或MariaDB):

shell> yum -y install mariadb-server
        

这会在你的系统上使用默认选项安装MySQL,你需要修改默认设置以适用于OTRS。使用文本编辑器来创建一个新文件/etc/my.cnf.d/zotrs.cnf,包含如下内容:

[mysqld]
max_allowed_packet   = 64M
query_cache_size     = 32M
innodb_log_file_size = 256M
        

现在执行systemctl start mariadb来重启数据库服务器并激活刚才的修改内容。然后运行命令/usr/bin/mysql_secure_installation,并按照屏幕上的指令来设置数据库的root密码、移除匿名访问及删除test数据库。

注意

请注意,OTRS需要utf8作为数据库存储编码。

安装 OTRS

使用yum通过命令行来安装OTRS,它还会拉入一些依赖包如Apache WEB服务器和一些Perl模块。确保你已经将OTRS RPM文件复制到了当前目录。

shell> yum install --nogpgcheck otrs-x.x.*.rpm
...
Dependencies Resolved

================================================================================
 Package                    Arch   Version                Repository       Size
================================================================================
Installing:
 otrs                       noarch x.x.x-01               /otrs-x.x.x-01.noarch
                                                                           74 M
Installing for dependencies:
 apr                        x86_64 1.3.9-5.el6_2          updates         123 k
 ...
 procmail                   x86_64 3.22-25.1.el6          base            163 k

Transaction Summary
================================================================================
Install      26 Package(s)

Total size: 80 M
Total download size: 6.0 M
Installed size: 88 M
Downloading Packages:
(1/25): apr-1.3.9-5.el6_2.x86_64.rpm                     | 123 kB     00:00
...
(25/25): procmail-3.22-25.1.el6.x86_64.rpm               | 163 kB     00:00
--------------------------------------------------------------------------------
Total                                           887 kB/s | 6.0 MB     00:06
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : apr-1.3.9-5.el6_2.x86_64                               1/26
  ...
  Installing : otrs-x.x.x-01.noarch                                   26/26
Check OTRS user ... otrs added.

...

shell>
        

现在使用命令systemctl restart httpd.service重启Apache以载入为OTRS修改的配置。

安装额外的perl模块

除了通过RPM包安装的Perl模块外,OTRS还需要一些其它的Perl模块,你可以手动安装。通过执行位于目录/opt/otrs下的文件bin/otrs.CheckModules.pl来检查缺失的模块。一些模块只是可选的功能才需要,比如与IMAP服务器通讯或生成PDF。在RedHat或CentOS上我们推荐从EPEL软件仓库安装这些模块,EPEL是由Fedora项目维护的一个软件仓库,为RHEL及其分支提供高质量的软件包。可在EPEL网站上查看更多信息。

如果你使用的是RHEL 7或CentOS 7,你可以从这个网址获得最新的EPEL软件包。你可以执行下面的命令添加EPEL软件仓库到yum源:

shell> yum -y install http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

...

Installed:
  epel-release.noarch 0:7-8

Complete!
            

添加这个软件仓库后首次使用yum,会提示你要添加它的密钥。现在你可以像下面这样安装缺失的模块了。

shell> yum -y install "perl(Text::CSV_XS)"

...

Installed:
  perl-Text-CSV_XS.x86_64 0:0.85-1.el6

Complete!
shell>
            

下一步是使用WEB安装器来配置OTRS,其过程本章另有描述

现在你可以启动OTRS守护进程并激活相应的监控此进程的cron任务(必须以otrs用户执行):

shell> /opt/otrs/bin/otrs.Daemon.pl start
shell> /opt/otrs/bin/Cron.sh start
            

就这样了,恭喜搞定!

在RedHat或CentOS上安装Oracle数据库驱动

如果你想在ORACLE数据库上部署OTRS,你需要编译并安装 DBD::Oracle数据库驱动。这比安装其它软件稍微复杂了一点儿;这是因为Oracle是一个私有数据库,RedHat或CentOS项目都不允许在他们的RPM软件仓库中分发这个驱动。

首先,我们需要安装gccmakeCPAN,这样我们才能编译和安装这个驱动。你下面看到的命令适用于CentOS,其它的版本可能有一点点不同。

shell> yum -y install gcc make "perl(CPAN)"
            

下一步是获取并安装数据库客户端。你需要到Oracle官网注册一个免费帐号,从网页: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html上可以下载客户端驱动。请选择对应的‘Linux x86 or x86-64’版本。你可以用命令uname -i检查架构,要么是'x86_64',要么是'i386'即x86。你应该下载软件包'Instant Client Package - Basic'、'Instant Client Package - SQL*Plus'和'Instant Client Package - SDK'。将它们保存到磁盘的一个目录。现在用下面的命令来安装这些软件包:

shell> yum install oracle-instantclient*
            

安装完成后你要设置两个环境变量并编译DBD::Oracle驱动。还是以root用户执行这些任务。步骤如下。请注意:命令输出结果被省略了一些行。

shell> export ORACLE_HOME=/usr/lib/oracle/11.2/client64
shell> export LD_LIBRARY_PATH=$ORACLE_HOME/lib
shell> cpan
cpan[1]> look DBD::Oracle
...
Fetching with LWP:
  http://www.perl.org/CPAN/authors/id/P/PY/PYTHIAN/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.62.tar.gz ok
Scanning cache /root/.cpan/build for sizes
DONE
...
Working directory is /root/.cpan/build/DBD-Oracle-1.62-ZH6LNy
[root@localhost DBD-Oracle-1.62-ZH6LNy]# perl Makefile.PL
...
[root@localhost DBD-Oracle-1.62-ZH6LNy]# make
...
[root@localhost DBD-Oracle-1.62-ZH6LNy]# make install
...
cpan[2]> exit
Terminal does not support GetHistory.
Lockfile removed.
            

现在就该编辑文件Kernel/Config.pm来提供环境变量ORACLE_HOME了。下一步是使用WEB安装器来配置OTRS,其过程本章另有描述

注意

请注意,OTRS需要utf8作为数据库存储编码。

在Debian或Ubuntu系统上安装OTRS

重要

从源码安装OTRS,不要使用Debian或Ubuntu提供的OTRS软件包。

如果你使用现成的软件来安装Perl模块会更容易一些:

apt-get install libapache2-mod-perl2 libdbd-mysql-perl libtimedate-perl libnet-dns-perl libnet-ldap-perl \
    libio-socket-ssl-perl libpdf-api2-perl libdbd-mysql-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