OTRS (open-source trouble ticket system software) je sofistikovaný software s otevřeným zdrojovým kódem používaný společnostmi ke zlepšení jejich provozu souvisejícího se zákaznickou podporou, help desk, call centry a další. OTRS je napsán v jazyce PERL a poskytuje následující důležité funkce:
- Zákazníci se mohou zaregistrovat a vytvořit vstupenku/interagovat s ní prostřednictvím zákaznického portálu a e-mailem, telefonem a faxem v každé frontě (poštovní schránka pro obsluhu/techniku).
- Vstupenky lze spravovat podle priority, přiřazení, přenosu a sledování. Lístek lze rozdělit, sloučit, lze použít hromadné akce a nastavit vzájemné odkazy a upozornění. Služby lze konfigurovat prostřednictvím katalogu služeb.
- Pro zvýšení kapacity týmu lze nakonfigurovat automatický e-mail (automatické odpovědi), textové šablony a podpisy. Systém podporuje poznámky a přílohy na tiketech.
- Mezi další funkce patří:statistiky a přehledy (CSV/PDF), SLA a mnoho dalších funkcí.
Prostředí
Tento článek popisuje instalaci a základní konfiguraci OTRS 5. Tento článek byl napsán na základě následujícího prostředí:Virtual Box VM s CENTOS 7 Minimal, 2 GB RAM, 8 GB HD a 2 síťovými rozhraními (pouze hostitel a NAT).
Příprava
Za předpokladu, že používáte čerstvou instalaci Centos 7 Minimal, před instalací OTRS spusťte následující příkaz pro aktualizaci systému a instalaci dalších balíčků:
yum update
Transaction Summary ================================================================================ Install 1 Package Upgrade 39 Packages Total download size: 91 M Is this ok [y/d/N]: y
Nainstalujte textový editor nebo použijte VI. V tomto článku používáme VIM, k jeho instalaci spusťte následující příkaz:
yum install vim
Chcete-li nainstalovat balíček WGET, spusťte následující příkaz:
yum install wget
Chcete-li nakonfigurovat síť Centos 7, spusťte následující příkaz pro otevření nástroje NMTUI (textové uživatelské rozhraní správce sítě) a v případě potřeby upravte rozhraní a název hostitele:
nmtui
Po nastavení síťových nastavení a názvu hostitele na CentOS 7 spusťte následující příkaz a použijte změny:
service networks restart
Chcete-li ověřit informace o síti, spusťte následující příkaz:
ip addr
Výstup v mém systému vypadá takto:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:67:bc:73 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3 valid_lft 84631sec preferred_lft 84631sec inet6 fe80::9e25:c982:1091:90eb/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:68:88:f3 brd ff:ff:ff:ff:ff:ff inet 192.168.56.101/24 brd 192.168.56.255 scope global dynamic enp0s8 valid_lft 1044sec preferred_lft 1044sec inet6 fe80::a00:27ff:fe68:88f3/64 scope link valid_lft forever preferred_lft forever
Vypněte SELINUX (Security Enhanced Linux) na Centos 7, upravte následující konfigurační soubor:
vim /etc/selinux/config
"/etc/selinux/config" 14L, 547C# 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=enforcing # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are prootected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
Změňte hodnotu vynucování direktivy SELINUX deaktivovat , uložte soubor a restartujte server.
Chcete-li zkontrolovat stav SELinux na Centos 7, spusťte následující příkaz:
getenforce
Výstup musí být:
Disabled
Instalovat MariaDB na Centos 7
Chcete-li nainstalovat MariaDB na Centos 7, spusťte následující příkaz:
yum -y install mariadb-server
Vytvořte soubor s názvem zotrs.cnf v následujícím adresáři:
/etc/my.cnf.d/
Chcete-li vytvořit a upravit soubor, spusťte následující příkaz:
vim /etc/my.cnf.d/zotrs.cnf
Vyplňte soubor následujícím obsahem a uložte jej:
max_allowed_packet = 20M query_cache_size = 32M innodb_log_file_size = 256M
Chcete-li spustit MariaDB, spusťte následující příkaz:
systemctl start mariadb
Chcete-li zvýšit zabezpečení MariaDB, spusťte následující příkaz:
/usr/bin/mysql_secure_installation
Nastavte možnosti podle následujícího výstupu:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):<Press Enter>
OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] <Press Y>
Nastavte heslo uživatele root:
New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] <Press Y>
... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] <Choose acording your needs>
... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] <Press Y>
- Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] <Press Y>
... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Nastavte MariaDB tak, aby se automaticky spouštěla při spouštění:
systemctl enable mariadb.service
Chcete-li stáhnout OTRS, spusťte následující příkaz:
wget http://ftp.otrs.org/pub/otrs/RPMS/rhel/7/otrs-5.0.15-01.n oarch.rpm
Nainstalujte EPEL
Než nainstalujeme OTRS, nastavte úložiště EPEL na Centos 7. Spusťte následující příkaz:
[[email protected] ~]# yum -y http://mirror.globo.com/epel/7/x86_64/e/epel-r release-7-9.noarch.rpm
Instalovat OTRS
Nainstalujte OTRS pomocí následujícího příkazu:
yum install -nogpgcheck otrs-5.0.15-01.noarch.rpm
Nainstaluje se seznam softwarových balíků, např. Apache a všechny závislosti budou vyřešeny automaticky, na konci výstupu stiskněte Y:
Transaction Summary ================================================================================ Install 1 Package (+143 Dependent packages) Total size: 148 M Total download size: 23 M Installed size: 181 M Is this ok [y/d/N]: y
Chcete-li spustit Apache (httpd), spusťte následující příkaz:
systemctl start httpd.service
Chcete-li povolit spouštění Apache (httpd) pomocí systemd na Centos7, spusťte následující příkaz:
systemctl enable httpd.service
Povolte SSL v Apache a nakonfigurujte certifikát SelfSigned. Nainstalujte modul Mod_SSL pro Apache HTTP Server a spusťte následující příkaz:
yum -y install mod_ssl
Chcete-li vygenerovat certifikát SSL s vlastním podpisem, přejděte do následujícího adresáře:
cd /etc/pki/tls/certs/
A spusťte následující příkaz pro vygenerování klíče (centos7.key je název mého certifikátu, klidně jej změňte):
make centos7.key
umask 77 ; \ /usr/bin/openssl genrsa -aes128 2048 > centos7.key Generating RSA private key, 2048 bit long modulus .+++ .........................................................................................+++ e is 65537 (0x10001) Enter pass phrase: <Insert your Own Password>
Verifying - Enter pass phrase:<Retype the Password>
Chcete-li vygenerovat soukromý klíč SSL serveru pomocí OpenSSL, spusťte následující příkaz:
openssl rsa -in centos7.key -out centos7.key
Enter pass phrase for centos7.key: <Type the Password> writing RSA key
Spusťte následující příkaz k vytvoření souboru CSR (Certificate Signing Request) (centos7.csr je název mého certifikátu, můžete jej změnit):
make centos7.csr
Vyplňte otázky podle svých potřeb:
umask 77 ; \ /usr/bin/openssl req -utf8 -new -key centos7.key -out centos7.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. -----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Centos7 Common Name (eg, your name or your server's hostname) []:
Email Address []:
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: <press enter>
An optional company name []:
Vygenerujte CSR (Certificate Signing Request) pro server pomocí nástroje OpenSSL:
openssl x509 -in centos7.csr -out centos7.crt -req -signkey centos7.key
Výstup je:
Signature ok subject=/C=BR/ST=SP/L=Campinas/O=Centos7/OU=Centos7/CN=centos7.local Getting Private key
Než upravíme soubor ssl.conf, vytvořte kopii souboru pomocí následujícího příkazu:
cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.old
Poté soubor upravte:
vim /etc/httpd/conf.d/ssl.conf
Najděte následující direktivy, odkomentujte každý z nich a upravte je takto:
SSLCertificateKeyFile /etc/pki/tls/certs/centos7.key
SSLCertificateFile /etc/pki/tls/certs/centos7.csr
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
ServerName centos7.local:443
Restartujte Apache pomocí následujícího příkazu:
systemctl restart httpd
Chcete-li vynutit spuštění OTRS v režimu https, upravte následující soubor:
vim /etc/httpd/conf/httpd.conf
Na konci souboru odkomentujte následující direktivu:
IncludeOptional conf.d/*.conf
Upravte soubor zzz_otrs.conf:
vim /etc/httpd/conf.d/zzz_otrs.conf
Za řádek 26 (před modul řádku mod_version.c) přidejte následující direktivy:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Restartujte Apache:
[[email protected] ~]# systemctl restart httpd
Chcete-li používat rozšířené funkce v OTRS, musíme nainstalovat některé moduly PERL. Spusťte následující příkaz a nainstalujte je:
yum -y install "perl(Text::CSV_XS)" "perl(Crypt::Eksblowfish::Bcrypt)" "perl(YAML::XS)" "perl(JSON::XS)" "perl(Encode::HanExtra)" "perl(Mail::IMAPClient)" "perl(ModPerl::Util)"
Systém OTRS má nástroj pro kontrolu modulů PERL, spusťte jej takto, abyste ověřili systémové požadavky:
cd /opt/otrs/bin
a spusťte:
./otrs.CheckModules.pl
Výstup pro naši konfiguraci musí být:
o Apache::DBI......................ok (v1.12) o Apache2::Reload..................ok (v0.13) o Archive::Tar.....................ok (v1.92) o Archive::Zip.....................ok (v1.30) o Crypt::Eksblowfish::Bcrypt.......ok (v0.009) o Crypt::SSLeay....................ok (v0.64) o Date::Format.....................ok (v2.24) o DBI..............................ok (v1.627) o DBD::mysql.......................ok (v4.023) 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.85) o Encode::HanExtra.................ok (v0.23) o IO::Socket::SSL..................ok (v1.94) o JSON::XS.........................ok (v3.01) o List::Util::XS...................ok (v1.27) o LWP::UserAgent...................ok (v6.13) o Mail::IMAPClient.................ok (v3.37) o IO::Socket::SSL................ok (v1.94) o ModPerl::Util....................ok (v2.000010) o Net::DNS.........................ok (v0.72) o Net::LDAP........................ok (v0.56) o Template.........................ok (v2.24) o Template::Stash::XS..............ok (undef) o Text::CSV_XS.....................ok (v1.00) o Time::HiRes......................ok (v1.9725) o Time::Piece......................ok (v1.20_01) o XML::LibXML......................ok (v2.0018) o XML::LibXSLT.....................ok (v1.80) o XML::Parser......................ok (v2.41) o YAML::XS.........................ok (v0.54)
Chcete-li spustit démona OTRS s uživatelem "otrs", spusťte následující příkaz:
su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrs
Chcete-li zakázat bránu firewall CentOS 7, spusťte následující příkaz:
systemctl stop firewalld
Chcete-li zakázat automatické spouštění brány CentOS 7 Firewall, spusťte:
systemctl disable firewalld.service
Spusťte démona OTRS pomocí:
su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrsCron.sh
Výstup příkazu musí být:
/opt/otrs/bin Cron.sh - start/stop OTRS cronjobs Copyright (C) 2001-2012 OTRS AG, http://otrs.org/ (using /opt/otrs) done
Pokud chcete zkontrolovat stav démona OTRS, spusťte následující příkaz:
su -c "/opt/otrs/bin/otrs.Daemon.pl status" -s /bin/bash otrsCron.sh
Konfigurace OTRS v crontab. Změňte root uživatele na otrs a začněte upravovat crontab:
su otrs
crontab -e
Naplňte crontab následujícím obsahem a uložte jej:
# -- # Copyright (C) 2001-2016 OTRS AG, http://otrs.com/ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (AGPL). If you # did not receive this file, see http://www.gnu.org/licenses/agpl.txt. # -- # Who gets the cron emails? MAILTO="[email protected]" # -- # Copyright (C) 2001-2016 OTRS AG, http://otrs.com/ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (AGPL). If you # did not receive this file, see http://www.gnu.org/licenses/agpl.txt. # -- # check OTRS daemon status */5 * * * * $HOME/bin/otrs.Daemon.pl start >> /dev/null
Konfigurace OTRS na CentOS 7
Otevřete webový prohlížeč a otevřete adresu URL https://centos7.local/otrs/installer.pl. Pamatujte, že centos7.local je název mého serveru, vložte název hostitele nebo IP adresu. První obrazovka ukazuje 4 kroky k dokončení instalace OTRS, stiskněte Další.
Licence:pro pokračování si přečtěte a přijměte licenci pro pokračování:
Výběr databáze:vyberte možnost MySQL a v Typu instalace označte volbu Vytvořit novou databázi pro OTRS a klikněte na další tlačítko:
Nakonfigurujte MySQL:vyplňte pole Uživatel, Heslo a Host (pamatujte si údaje konfigurace MariaDB, kterou jsme provedli) a stiskněte zkontrolovat nastavení databáze:
Instalační program OTRS vytvoří databázi v MariaDB, stiskněte další tlačítko:
Databáze OTRS byla úspěšně vytvořena:
Konfigurace nastavení systému:vyplňte pole svými vlastními informacemi a stiskněte další:
Konfigurace e-mailu OTRS:vyplňte pole podle vašeho e-mailového serveru. V mém nastavení používám pro odchozí e-maily SMPTTLS a port 587, pro příchozí e-maily používám pop3, budete potřebovat e-mailový účet. Zkontrolujte konfiguraci pošty nebo přeskočte tento krok:
Na závěr si poznamenejte uživatele a heslo pro přístup do OTRS, po přihlášení můžete heslo změnit:
Přihlašovací adresa URL OTRS je https://centos7.local/otrs/index.pl?. Pamatujte, že centos7.local je název mého serveru, vložte své jméno hostitele nebo IP adresu.:
Přihlaste se na OTRS:
OTRS je nainstalováno a připraveno ke konfiguraci s vašimi pravidly podpory nebo obchodním modelem.