从源码安装OTRS(Linux、Unix)

准备:禁用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
                            

步骤1:安装 .tar.gz

如果你要从源码安装OTRS,首先从https://www.otrs.com/download-open-source-help-desk-software-otrs-free/下载.tar.gz、.tar.bz2或 .zip格式的源文件。

解包这个档案文件(例如使用tar)到/opt目录,并将目录otrs-x.x.x 重命名为otrs(脚本如下)。

shell> tar xzf /tmp/otrs-x.x.x.tar.gz
shell> mv otrs-x.x.x /opt/otrs
        

步骤2:安装附加的Perl模块

使用下面的脚本来得到所有已安装的和必需的CPAN模块概览。

shell> perl /opt/otrs/bin/otrs.CheckModules.pl
o CGI..............................ok (v3.60)
o Crypt::PasswdMD5.................ok (v1.3)
o Crypt::SSLeay....................Not installed! (Optional - Required for Generic Interface SOAP SSL connections.)
o CSS::Minifier....................ok (v0.01)
o Date::Format.....................ok (v2.22)
o Date::Pcalc......................ok (v1.2)
...
            

注意

请注意:OTRS需要一个安装了所有核心模块(如version)、能工作的Perl。这些模块不在脚本的检查范围,在某些系统上(如RHEL)默认没有安装这些核心模块,你可能需要安装一个perl-core软件包。

要安装缺失的Perl模块,你可以:

a) 通过你的Linux分支的软件包管理器来安装需要的软件包

  • 对RedHat、CentOS、Fedora或兼容的系统:

    shell> yum install "perl(Digest::MD5)"
                            

  • 对SUSE Linux Enterprise Server、 openSUSE或兼容的系统:首先确定模块的软件包名称。通常模块My::Module的软件包叫做“perl-My-Module”。

    shell> zypper search Digest::MD5
                            

    然后安装:

    shell> zypper install perl-Digest-MD5
                            

  • 对Debian、Ubuntu或兼容的系统:首先确定模块的软件包名称。通常模块My::Module的软件包叫做“libmy-module-perl”。

    shell> apt-cache search Digest::MD5
                            

    然后安装:

    shell> apt-get install libdigest-md5-perl
                            

    请注意:你可能在你的Linux分支的软件仓库中找不到所有的模块或模块所需的版本,在这种情况下你只能选择通过CPAN安装这些模块(如下)。

b) 通过CPAN Shell安装需要的Perl模块

注意:如果是在Linux系统上,你要用超级用户(root)运行CPAN shell,因为这些模块需要由OTRS帐户和WEB服务器运行时使用的帐户共同访问。

shell> perl -MCPAN -e shell;
...
install Digest::MD5
install Crypt::PasswdMD5
...
                

如果系统的某些特殊功能依赖于可选的模块,则脚本中列出的可选模块也应该安装上。

步骤3:创建OTRS用户

创建用户:

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

将用户添加到WEB服务器所有组(如果WEB服务器不是以OTRS用户运行):

shell> usermod -G www otrs
(SUSE=www, Red Hat/CentOS/Fedora=apache, Debian/Ubuntu=www-data)
            

步骤4:激活默认的配置文件

OTRS自带了一个配置文件:$OTRS_HOME/Kernel/Config.pm.dist。你需要将它复制为不带.dist扩展名的文件来激活它。

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

步骤5:检查所有需要的模块是否都已安装

shell> perl -cw /opt/otrs/bin/cgi-bin/index.pl
/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.Console.pl
/opt/otrs/bin/otrs.Console.pl syntax OK
            

“syntax OK”表示所有必须的模块都已安装。

步骤6:配置Apache WEB服务器

首先,你得安装Apache2 WEB服务器和mod_perl模块;一般都通过系统的软件包管理器来安装。下面你可以找到主流Linux分支安装Apache需要的命令。

# RHEL / CentOS:
shell> yum install httpd mod_perl

# SuSE:
shell> zypper install apache2-mod_perl

# Debian/Ubuntu:
shell> apt-get install apache2 libapache2-mod-perl2
        

大部分的Apache安装都会包括一个conf.d目录。在Linux系统中这个目录一般在/etc/apache/etc/apache2目录下。以root用户登录,进入conf.d目录,并在Apache配置目录创建一个到/opt/otrs/scripts/apache2-httpd.include.conf的软链接zzz_otrs.conf(确保载入其它配置之后再载入OTRS配置)。

# Debian/Ubuntu:
shell> ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-enabled/zzz_otrs.conf
        

OTRS需要激活一些Apache模块来达到最佳运行状态。在大多数平台上你可以通过a2enmod工具来确认已经激活了这些模块。

shell> a2enmod perl
shell> a2enmod version
shell> a2enmod deflate
shell> a2enmod filter
shell> a2enmod headers
        

现在你可以重启WEB服务器来载入新的配置设置了。在大多数系统你可以用systemctl restart apache2.service命令来重启Apache。

步骤7:文件权限

请以root用户身份执行以下命令,以设置OTRS的文件和目录权限。 它将尝试检测你的安装所需的正确的用户和组设置。

shell> cd /opt/otrs/
shell> bin/otrs.SetPermissions.pl
        

步骤8:数据库设置和系统基本配置

请使用WEB安装器 http://localhost/otrs/installer.pl(用你的OTRS主机名或IP地址替换“localhost”)来设置数据库和系统基本配置如邮件帐户。

注意

下面的推荐配置设置是针对MySQL的。请添加下列行到文件 /etc/my.cnf 的[mysqld]部分:

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

注意

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

步骤9:首次登录

现在你可以在 http://localhost/otrs/index.pl登录系统了,使用在WEB安装程序中配置的认证信息(用户:root@localhost)。

通过本步骤,完成了系统的基本配置。

步骤10:启动OTRS守护进程

新的OTRS守护进程负责处理OTRS中的所有异步和循环任务。之前在cron文件中定义的自动任务现在都由OTRS守护进程处理。这个守护进程还处理所有的‘GenericAgent自动任务’任务,它必须以otrs用户运行。

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

步骤11:OTRS用户的Cron任务

OTRS自带了两个不同的cron文件:/opt/otrs/var/cron/*.dist,它们的目的是确保OTRS守护正常运行。你需要将它们复制为不带.dist扩展名的文件名来激活它们。

shell> cd /opt/otrs/var/cron
shell> for foo in *.dist; do cp $foo `basename $foo .dist`; done
            

要在系统中安排这些cron任务,你可以使用otrs运行脚本文件Cron.sh

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

还可以用这个脚本来停止cron任务(系统维护时有用):

shell> /opt/otrs/bin/Cron.sh stop
    

步骤12:设置bash自动补齐(可选)

所有的常规OTRS命令操作现在都通过OTRS控制台接口 bin/otrs.Console.pl执行。它提供bash的自动补齐功能,在查找正确的命令和选项时更容易些。

你可以安装软件包bash-completion来激活bash的自动补齐功能。它能为otrs用户自动检测到并载入文件/opt/otrs/.bash_completion

重启shell后,你可以在输入bin/otrs.Console.pl后按TAB键,就会显示所有可用的命令。如果你键入了命令的部分字符,按TAB键会列出所有匹配这些字符的命令。在输入完整的命令后,按TAB键会列出所有可用的选项和参数。

步骤13:进一步信息

我们建议你参阅OTRS性能调优章节

如果安装遇到了问题,你可以给我们的邮件列表otrs@otrs.org(http://lists.otrs.org/)发送一个消息。

你还可以请求OTRS集团帮助你规划或部署OTRS,或者检查你安装的OTRS系统。我们的专业服务就是用来帮助你更快地部署OTRS并从OTRS获得最大的收益。