RT + RTIR na CentOS 6.5

19.10.2014

RT – Request Tracker - systém pro řešení workflow požadavků všemožného typu na základě trouble ticketů. RTIR je doplněk, který pomáhá zpracovávat incidenty (IR je zkratka z Incident Response).

Takových systémů existuje více, ale tento je free a opensource (je napsán v perlu).

Někteří lidé mohou považovat jeho instalaci za náročnější a protože v souvislosti s nadcházející platností zákona o kyberbetické bezpečnosti bude hodně firem potřebovat pro zpracování svých incidentů podobný systém a zároveň je již tento systém prověřený pro tyto účely, rád bych nabídl postup, jak jej zprovoznit na operačním systému Linux, konkrétně distribuci CentOS ve verzi 6.5.

Tento návod nepopisuje instalaci emailového serveru, protože se může pro každou firmu lišit. Stejně tak je to popis pro instalaci do virtuálního prostředí (v tuto chvíli je v návodu počítáno s vmware playerem, který je zdarma), ale úprava nastavení sítě (z DHCP na statickou konfiguraci) není složitá věc. Navíc tento návod se bude časem vyvíjet.

Popisovaný postup je psán přesně podle kroků, které jsem při instalaci prováděl a výsledný virtuální image, který je zabalený spolu s tímto návodem lze najít pro vyzkoušení na URI: http://uloz.to/x39ytYYX/rt-rtir-virtual-doc-tgz.

Instalace RT verze 4.0.21 s RTIR verze 3.0.2 na CentOS 6.5.

Poznámka: příkazy jsou zde uváděny boldem a italicou a uvozeny puntíkem na začátku řádku, výpis ze souboru bezpatkovým fontem a uvozením mezi řetězce –snip. Případné změny jsou v takovém výpisu označeny boldem. V některých případech není vypisován konfigurační soubor celý, ale jsou použity tři tečky místo chybějících řádků a je uvedeno okolí editovaných řádků.

  1. Boot z instalačního média
  2. Přeskočení Media check (klik na Next, dále jen Next)
  3. Výběr jazyka: English (Next)
  4. Výběr rozložení klávesnice: English (Next)
  5. Výběr Basic Storage Devices (Next)
  6. Klik na Yes, discard any data při výzvě Storage Device Warning
  7. Nastavení hostname a domény: rt-server (Next)
  8. Nastavení časové zóny: Europa/Prague (Next)
  9. Nastavení hesla uživatele root: Heslick0 (Next)
  10. Výběr instalace na disk: Use All Space (Next)
  11. Next
  12. Kliknutí na Write changes to disk
  13. Po instalaci kliknout na Reboot.

Další úpravy OS po instalaci (provedení příkazů):

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Ǔprava parametrů síťového rozhraní. Pro vmware použito defaultní DHCP.

DEVICE=eth0
HWADDR=00:0C:29:B7:4E:6C 
TYPE=Ethernet 
UUID=fef55f77-309d-4334-bf05-4b12313119ad 
ONBOOT=yes 
NM_CONTROLLED=yes 
BOOTPROTO=dhcp 
service network restart

Restart nastavení sítě.

vi /etc/sysconfig/selinux

Vypnutí selinuxu.

...
# disabled - No SELinux policy is loaded. 
SELINUX=disable 
# SELINUXTYPE= can take one of these two values: 
# targeted - Targeted processes are protected, 
# mls - Multi Level Security protection. 
SELINUXTYPE=targeted
reboot
yum upgrade

Upgrade všech balíků CentOSu.

yum install openssh-clients perl gcc wget bind-utils telnet postfix mlocate mailcap

Instalace dalších balíků.

yum install ntpdate

Instalace balíku pro ruční synchronizaci času.

ntpdate tak.cesnet.cz

První ruční synchronizace času.

yum install ntp

Instalace balíku NTP démona.

vi /etc/ntp.conf

Specifikace IP adresy NTP serveru a zaremování původních NTP serverů. Pokud server nemá přímo dostupný z Internetu server tak.cesnet.cz, je potřeba zvolit jiný server.

...
# Use public servers from the pool.ntp.org project. 
# Please consider joining the pool (http://www.pool.ntp.org/join.html). 
#server 0.centos.pool.ntp.org iburst 
#server 1.centos.pool.ntp.org iburst 
#server 2.centos.pool.ntp.org iburst 
#server 3.centos.pool.ntp.org iburst 
server tak.cesnet.cz 
#broadcast 192.168.1.255 autokey # broadcast server 
...
service ntpd start

Spuštění ntpd démona.

yum install file ntp vim-enhanced man man-pages wget yum-utils

Instalace dalších potřebných balíků.

ipv4addr=$(ip -f inet addr show dev eth0 | sed -n 's/^ *inet *\([.0-9]*\).*/\1/p')

Vytvoření proměnné shellu, která se jmenuje ipv4addr a obsahuje IP adresu rozhraní eth0.

printf "$ipv4addr\t$(hostname -f)\t$(hostname -s)\n" >> /etc/hosts

Přidání další položky do lokálního souboru pro resolving.

chkconfig ntpd on

Povolení spouštění NTP démona po startu serveru.

vi /etc/sysconfig/iptables

Ǔprava firewallingu.

*filter 
:INPUT ACCEPT [0:0] 
:FORWARD ACCEPT [0:0] 
:OUTPUT ACCEPT [0:0] 
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT 
service iptables restart

Reload pravidel firewallu.

yum install http://ftp.osuosl.org/pub/fedora-epel/6/i386/epel-release-6-8.noarch.rpm

Instalace dalšího repozitáře balíků.

yum-config-manager --enable epel

Aktivace repozitáře (povolení instalace z něj).

yum install mysql-server

Instalace MySQL serveru.

yum install mysql-devel
service mysqld start

Spuštění MySQL serveru.

chkconfig mysqld on

Povolení spouštění MySQL serveru po startu serveru.

yum install httpd httpd-devel mod_ssl mod_fcgid make gcc openssl-devel gd-devel perl-CPAN perl-YAML perl-GD graphviz-perl

Instalace dalších balíků (zejména Apache serveru)

service httpd start

Spuštění Apache serveru.

chkconfig httpd on

Povolení spouštění Apache serveru po startu serveru.

useradd -r -s /sbin/nologin rt

Přidání uživatele rt.

usermod -aG rt apache

Přidání uživatele apache do skupiny rt.

wget http://download.bestpractical.com/pub/rt/release/rt-4.0.21.tar.gz

Stažení aplikace RT.

wget http://download.bestpractical.com/pub/rt/release/RT-IR-3.0.2.tar.gz

Stažení aplikace RT-IR.

tar -zxvf rt-4.0.21.tar.gz

Rozbalení aplikace RT do aktuálního adresáře (/root).

cd rt-4.0.21

Změna aktuálního adresáře na adresář s instalací aplikace.

./configure --with-web-user=apache --with-web-group=apache --enable-graphviz –enable-gd

Příprava Makefiles pro aplikaci RT.

cpan

Konfigurace CPANu (repozitář modulů Perlu). Příkaz se nejprve zeptá na souhlas (stačí Enter) a poté je třeba zadat následující:

conf prerequisites_policy follow
conf build_requires_install_policy yes
conf commit
q
make fixdeps

Tento příkaz trvá I několik hodin a generuje velké množství výstupu a občas se ptá na souhlas s instalací komponent. Je potřeba odpovědět “y”. Po doběhnutí je vhodné jej pustit znova. Již by neměl nic instalovat.

make testdeps

Tento příkaz by měl skončit hláškou: All dependencies have been found.

make install

Vlastní instalace aplikace.

make initialize-database

Tento příkaz se ptá na heslo. Heslo je v tuto chvíli prázdné a stačí tedy stisknout Enter.

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.orig

Záloha originálního konfiguračního souboru Apache.

vi /etc/httpd/conf/httpd.conf

Specifikace hostname a virtualhostu pro rt v konfiguračním souboru Apache. Direktivu ServerName je vhodné najít – je uprostřed souboru, definice VirtualHost je přidána na konec souboru.

...
# You will have to access it by its address anyway, and this will make 
# redirections work in a sensible way. 
# 
ServerName rt-server:80 
# 
# UseCanonicalName: Determines how Apache constructs self-referencing 
...
#</VirtualHost> 
<VirtualHost *:80> 
ServerName rt-server:80 
Redirect / https://rt-server 
</VirtualHost> 
cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.orig

Záloha originálního konfiguračního souboru pro mod_ssl (podpora HTTPS protokolu) pro Apache server.

vi /etc/httpd/conf.d/ssl.conf

Ǔprava parametrů pro VirtualHost pro SSL. Je na konci souboru.

...
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 
# Request Tracker 
ServerName rt-server:443 
AddDefaultCharset UTF-8 
DocumentRoot /opt/rt4/share/html 
Alias /NoAuth/images/ /opt/rt4/share/html/NoAuth/images/ 
ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/ 
<Location /> 
Order allow,deny 
Allow from all 
</Location> 
<Directory "/opt/rt4/sbin"> 
SSLOptions +StdEnvVars 
</Directory> 
</VirtualHost> 
service httpd configtest

Test korektnosti syntaxe konfigurace Apache. Výsledek by měl být: Syntax OK.

vi /opt/rt4/etc/RT_SiteConfig.pm

Přidání specifických parametrů pro hosta pro aplikaci RT.

...
# You must restart your webserver after making changes to this file. 
Set( $rtname, 'rt-server'); 
Set( $Organization, 'rt-server'); 
Set( $Timezone, 'Europe/Prague'); 
Set( $WebDomain, 'rt-server'); 
Set( $WebPort, 443); 
Set( $WebPath, ''); 
# You must install Plugins on your own, this is only an example 
...
service httpd restart

Restart Apache serveru.

mysql_secure_installation

Nastavení hesla pro roota mysql DB. Původní heslo jen odentrovat, nové je nastaveno na “Heslick0”.

vi /opt/rt4/etc/RT_SiteConfig.pm

Přidání hesla do DB pro rt.

...
Set( $WebPort, 443); 
Set( $WebPath, ''); 
Set( $DatabasePassword, 'Heslick0'); 
# You must install Plugins on your own, this is only an example 
...
mysql -u root -p

Založení uživatele rt_user do MySQL DB.

Tento příkaz se nejprve ptá na heslo roota DB (Heslick0) a potom vrátí prompt pro příkazy DB. Je třeba zadat pouze jeden příkaz:

SET PASSWORD FOR 'rt_user'@'localhost' = PASSWORD('Heslick0');

a potom pro ukonceni:

\q
vi /etc/my.cnf

Ǔprava parametrů pro MySQL DB.

[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
# Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 
max_allowed_packet=16M 
innodb_buffer_pool_size=256M 
[mysqld_safe] 
log-error=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid 
service mysqld restart

Restart MySQL serveru.

service httpd restart

Restart Apache serveru.

vi /etc/httpd/conf.d/fcgid.conf

Ǔprava parametrů pro modul Apache mod_fcgid na konec souboru.

...
# Request Tracker 
FcgidMaxRequestLen 1073741824 
service httpd restart

Restart Apache serveru. Je vhodné zkontrolovat z webového browseru, zda Apache I aplikace běží. Pro použití s vmplayerem je potřeba do lokální host tabulky doplnit jednu řádku, např. na konec:

...
192.168.225.130 rt-server 

Pokud je IP adresa serveru jiná, je potřeba ji nahradit správnou. Browser bude hlásit nedůvěryhodné připojení, protože certifikát serveru je self-signed. Stačí potvrdit výjimku.

tar -zxvf RT-IR-3.0.2.tar.gz

Rozbalení RT-IR do aktuálního adresáře (stále /root).

cd RT-IR-3.0.2

Změna aktuálního adresáře na adresář s instalací rozšíření.

perl Makefile.PL

Vytvoření Makefile.

make install

Vlastní instalace rozšíření.

make initdb

Inicializace RTIR DB.

vi /opt/rt4/etc/RT_SiteConfig.pm

Aktivace rozšíření RT-IR v aplikaci RT.

...
#Set(@Plugins,(qw(RT::Extension::SLA RT::Authen::ExternalAuth))); 
Set(@Plugins, 'RT::IR'); 
1; 
service httpd restart

Restart Apache serveru. Do aplikace dostupné z rowseru po zadání jména serveru rt-server je možné se přihlásit s počátečním heslem “password” pro uživatele root.

  • obsah/linux_obecne/centos_rt_rtir.txt
  • Last modified: 2018/10/18 22:14
  • by profors