CentOS:OTRS-Install
Vorwort
Das Ziel dieser Anleitung ist es auf einem CentOS OTRS in der neusten Version dh. 3.0.x zu installieren und die Grundkonfiguration durchzuführen. Die Basis der Installation ist ein CentOS Minimal Installation (Keine zusätzlichen Repositories oder Packages). Nach der Installation wurde folgende Anweisung ausgeführt:
Linux:Yum-Priority-FreshRPM
Datenschutz
*********************************************************************
* *
* THIS FILE MAY CONTAIN CONFIDENTIAL, PRIVILEGED OR OTHER LEGALLY *
* PROTECTED INFORMATION. YOU ARE PROHIBITED FROM COPYING, *
* DISTRIBUTING OR OTHERWISE USING IT WITHOUT PERMISSION FROM *
* ALSO SCHWEIZ AG SWITZERLAND. *
* *
*********************************************************************
"Die in diesen Artikeln enthaltenen Informationen sind vertraulich und dürfen ohne
schriftliche Zustimmung von der ALSO Schweiz AG gegenüber Dritt-Unternehmen nicht
bekannt gemacht werden"
Die Grundkomponenten
Grundkomponenten für eine OTRS Installation sind "Apache" sowie "MySQL"!
Die HTTP Installation
Um den "Apache" zu installieren führe folgendes durch:
# yum list httpd
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirror.fraunhofer.de
* epel: mirror.fraunhofer.de
* extras: mirror.fraunhofer.de
* rpmfusion-free-updates: download1.rpmfusion.org
* rpmfusion-free-updates-testing: download1.rpmfusion.org
* rpmfusion-nonfree-updates: download1.rpmfusion.org
* rpmfusion-nonfree-updates-testing: download1.rpmfusion.org
* updates: mirror.fraunhofer.de
187 packages excluded due to repository priority protections
Available Packages
httpd.i386 2.2.3-53.el5.centos.3 updates
# yum install httpd
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirror.fraunhofer.de
* epel: mirror.fraunhofer.de
* extras: mirror.fraunhofer.de
* rpmfusion-free-updates: download1.rpmfusion.org
* rpmfusion-free-updates-testing: download1.rpmfusion.org
* rpmfusion-nonfree-updates: download1.rpmfusion.org
* rpmfusion-nonfree-updates-testing: download1.rpmfusion.org
* updates: mirror.fraunhofer.de
187 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.i386 0:2.2.3-53.el5.centos.3 set to be updated
addons/filelists | 195 B 00:00
base/filelists | 2.9 MB 00:05
epel/filelists_db | 4.6 MB 00:08
extras/filelists_db | 199 kB 00:00
rpmfusion-free-updates/filelists_db | 1.0 kB 00:00
rpmfusion-free-updates-testing/filelists_db | 36 kB 00:00
rpmfusion-nonfree-updates/filelists_db | 575 B 00:00
rpmfusion-nonfree-updates-testing/filelists_db | 8.3 kB 00:00
updates/filelists_db | 1.9 MB 00:03
--> Processing Dependency: /etc/mime.types for package: httpd
--> Processing Dependency: libapr-1.so.0 for package: httpd
--> Processing Dependency: libaprutil-1.so.0 for package: httpd
--> Running transaction check
---> Package apr.i386 0:1.2.7-11.el5_6.5 set to be updated
---> Package apr-util.i386 0:1.2.7-11.el5_5.2 set to be updated
--> Processing Dependency: libpq.so.4 for package: apr-util
---> Package mailcap.noarch 0:2.1.23-1.fc6 set to be updated
--> Running transaction check
---> Package postgresql-libs.i386 0:8.1.23-1.el5_7.3 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================================
Package Arch Version Repository Size
=================================================================================================
Installing:
httpd i386 2.2.3-53.el5.centos.3 updates 1.2 M
Installing for dependencies:
apr i386 1.2.7-11.el5_6.5 base 124 k
apr-util i386 1.2.7-11.el5_5.2 base 80 k
mailcap noarch 2.1.23-1.fc6 base 14 k
postgresql-libs i386 8.1.23-1.el5_7.3 updates 197 k
Transaction Summary
=================================================================================================
Install 5 Package(s)
Upgrade 0 Package(s)
Total download size: 1.6 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): mailcap-2.1.23-1.fc6.noarch.rpm | 14 kB 00:00
(2/5): apr-util-1.2.7-11.el5_5.2.i386.rpm | 80 kB 00:00
(3/5): apr-1.2.7-11.el5_6.5.i386.rpm | 124 kB 00:00
(4/5): postgresql-libs-8.1.23-1.el5_7.3.i386.rpm | 197 kB 00:00
(5/5): httpd-2.2.3-53.el5.centos.3.i386.rpm | 1.2 MB 00:02
-------------------------------------------------------------------------------------------------
Total 284 kB/s | 1.6 MB 00:05
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : apr 1/5
Installing : mailcap 2/5
Installing : postgresql-libs 3/5
Installing : apr-util 4/5
Installing : httpd 5/5
Installed:
httpd.i386 0:2.2.3-53.el5.centos.3
Dependency Installed:
apr.i386 0:1.2.7-11.el5_6.5 apr-util.i386 0:1.2.7-11.el5_5.2
mailcap.noarch 0:2.1.23-1.fc6 postgresql-libs.i386 0:8.1.23-1.el5_7.3
Complete!
Kontrolliere ob der Service für den "Apache" aktiviert ist und wenn nicht aktiviere diesen:
# chkconfig --list httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig httpd on
# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Starte nun den "Apache" Server und kontrolliere die Logs:
# service httpd start
Starting httpd: [ OK ]
# cat /var/log/httpd/error_log
[Thu Jan 19 11:43:04 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Jan 19 11:43:04 2012] [notice] Digest: generating secret for digest authentication ...
[Thu Jan 19 11:43:04 2012] [notice] Digest: done
[Thu Jan 19 11:43:04 2012] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
Bei der Installation des "Apache" wurden folgende User und Gruppen angelegt:
# cat /etc/passwd | grep apache
apache:x:48:48:Apache:/var/www:/sbin/nologin
# cat /etc/group | grep apache
apache:x:48:
Die MySQL Installation
Als nächstes installieren wir den "MySQL" Server mit seinen Komponenten:
# yum install mysql-server mysql php-mysql
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirror.fraunhofer.de
* epel: mirror.fraunhofer.de
* extras: mirror.fraunhofer.de
* rpmfusion-free-updates: download1.rpmfusion.org
* rpmfusion-free-updates-testing: download1.rpmfusion.org
* rpmfusion-nonfree-updates: download1.rpmfusion.org
* rpmfusion-nonfree-updates-testing: download1.rpmfusion.org
* updates: mirror.fraunhofer.de
187 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql.i386 0:5.0.77-4.el5_6.6 set to be updated
--> Processing Dependency: perl(DBI) for package: mysql
---> Package mysql-server.i386 0:5.0.77-4.el5_6.6 set to be updated
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server
---> Package php-mysql.i386 0:5.1.6-27.el5_7.4 set to be updated
--> Processing Dependency: php-common = 5.1.6-27.el5_7.4 for package: php-mysql
--> Processing Dependency: php-pdo for package: php-mysql
--> Running transaction check
---> Package perl-DBD-MySQL.i386 0:3.0007-2.el5 set to be updated
---> Package perl-DBI.i386 0:1.52-2.el5 set to be updated
---> Package php-common.i386 0:5.1.6-27.el5_7.4 set to be updated
---> Package php-pdo.i386 0:5.1.6-27.el5_7.4 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================================
Package Arch Version Repository Size
=================================================================================================
Installing:
mysql i386 5.0.77-4.el5_6.6 base 4.8 M
mysql-server i386 5.0.77-4.el5_6.6 base 9.8 M
php-mysql i386 5.1.6-27.el5_7.4 updates 86 k
Installing for dependencies:
perl-DBD-MySQL i386 3.0007-2.el5 base 148 k
perl-DBI i386 1.52-2.el5 base 600 k
php-common i386 5.1.6-27.el5_7.4 updates 153 k
php-pdo i386 5.1.6-27.el5_7.4 updates 65 k
Transaction Summary
=================================================================================================
Install 7 Package(s)
Upgrade 0 Package(s)
Total download size: 16 M
Is this ok [y/N]: y
Downloading Packages:
(1/7): php-pdo-5.1.6-27.el5_7.4.i386.rpm | 65 kB 00:00
(2/7): php-mysql-5.1.6-27.el5_7.4.i386.rpm | 86 kB 00:00
(3/7): perl-DBD-MySQL-3.0007-2.el5.i386.rpm | 148 kB 00:00
(4/7): php-common-5.1.6-27.el5_7.4.i386.rpm | 153 kB 00:00
(5/7): perl-DBI-1.52-2.el5.i386.rpm | 600 kB 00:01
(6/7): mysql-5.0.77-4.el5_6.6.i386.rpm | 4.8 MB 00:09
(7/7): mysql-server-5.0.77-4.el5_6.6.i386.rpm | 9.8 MB 00:18
-------------------------------------------------------------------------------------------------
Total 467 kB/s | 16 MB 00:34
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : perl-DBI 1/7
Installing : mysql 2/7
Installing : php-common 3/7
Installing : php-pdo 4/7
Installing : perl-DBD-MySQL 5/7
Installing : php-mysql 6/7
Installing : mysql-server 7/7
Installed:
mysql.i386 0:5.0.77-4.el5_6.6 mysql-server.i386 0:5.0.77-4.el5_6.6
php-mysql.i386 0:5.1.6-27.el5_7.4
Dependency Installed:
perl-DBD-MySQL.i386 0:3.0007-2.el5 perl-DBI.i386 0:1.52-2.el5
php-common.i386 0:5.1.6-27.el5_7.4 php-pdo.i386 0:5.1.6-27.el5_7.4
Complete!
Kontrolliere den Service von "MySQL" und aktiviere diesen für "runlevel 2/3/5":
# chkconfig --list mysqld
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig --levels 235 mysqld on
# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:off 5:on 6:off
Bei der Installation des "MySQL" wurden folgender User und Gruppe angelegt:
# cat /etc/passwd | grep mysql
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
# cat /etc/group | grep mysqld
mysql:x:27:
Nun starten wir den "MySQL" Server das Erstemal. Dabei erscheinen einige Hinweise betreffend Konfiguration:
# service mysqld start
--------------- output ---------------
Initializing MySQL database: Installing MySQL system tables...
120119 11:52:27 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
120119 11:52:27 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
Filling help tables...
120119 11:52:27 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
120119 11:52:27 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h ticket password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ]
--------------- output ---------------
Wie durch den Hinweis empfohlen lassen wir das "secure" Script für den "MySQL" Server laufen:
# /usr/bin/mysql_secure_installation
--------------- output ---------------
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, 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):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL 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] 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] YY
... Success!
By default, MySQL 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] 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] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
--------------- output ---------------
Damit beim "MySQL" Server die Warning betreffend "max_join_size" nicht mehr erscheint und "MySQL" für eine mittlere Installation optimiert wird manipulieren wir das Konfig File des "MySQL" Servers:
# cp -p /etc/my.cnf /etc/my.cnf.orig
# vi /etc/my.cnf
--------------- /etc/my.cnf ---------------
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 10M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
max_join_size = 4294967295k
myisam_max_sort_file_size = 2147483647k
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
# Disable Federated by default
skip-federated
# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 1
# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
# the syntax is:
#
# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
# where you replace <host>, <user>, <password> by quoted strings and
# <port> by the master's port number (3306 by default).
#
# Example:
#
# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
# MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
# start replication for the first time (even unsuccessfully, for example
# if you mistyped the password in master-password and the slave fails to
# connect), the slave will create a master.info file, and any later
# change in this file to the variables' values below will be ignored and
# overridden by the content of the master.info file, unless you shutdown
# the slave server, delete master.info and restart the slaver server.
# For that reason, you may want to leave the lines below untouched
# (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id = 2
#
# The replication master for this slave - required
#master -host = <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user = <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password = <password>
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port = <port>
#
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin
# Point the following paths to different dedicated disks
#tmpdir = /tmp/
#log-update = /path-to-dedicated-directory/hostname
# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/lib/mysql/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
--------------- /etc/my.cnf ---------------
Lade das Konfig File indem "MySQL" gestoppt und gestartet wird:
# service mysqld stop
Stopping MySQL: [ OK ]
# service mysqld start
Starting MySQL: [ OK ]
Kontrolliere das Log File:
# cat /var/log/mysqld.log
Mehr muss für OTRS betreffend "MySQL" momentan nicht durchgeführt werden. Somit sind die Grundkomponenten "Apache" und "MySQL" installiert.
Die OTRS Installation
Installiere nun das RPM für "OTRS". Achte dabei die neuste Version zu installieren. Wenn "wget" nicht installieret ist, installiere dieses anhand "yum":
# yum install wget
Danach führe folgendes aus:
# cd /root
# wget http://ftp.otrs.org/pub/otrs/RPMS/fedora/4/otrs-3.0.11-03.noarch.rpm
--2012-01-19 12:19:22-- http://ftp.otrs.org/pub/otrs/RPMS/fedora/4/otrs-3.0.11-03.noarch.rpm
Resolving ftp.otrs.org... 178.63.12.4
Connecting to ftp.otrs.org|178.63.12.4|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 19900646 (19M) [application/x-redhat-package-manager]
Saving to: `otrs-3.0.11-03.noarch.rpm'
100%[=======================================================>] 19,900,646 593K/s in 33s
2012-01-19 12:19:55 (593 KB/s) - `otrs-3.0.11-03.noarch.rpm' saved [19900646/19900646]
ACHTUNG Achte darauf das "selinux" deaktiviert ist (Fall eine Modifikation nötig ist
betreffend "selinux" muss ein Neustart des Server ausgeführt werden):
# vi /etc/selinux/config
--------------- /etc/selinux/config ---------------
# 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 - Only targeted network daemons are protected.
# strict - Full SELinux protection.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
--------------- /etc/selinux/config ---------------
Bevor das RPM installiert wird kontrolliere die Abhängigkeiten:
# rpm -qpR /root/otrs-3.0.11-03.noarch.rpm
perl
perl(DBI)
perl(DBD::mysql)
perl(URI)
mod_perl
httpd
mysql
mysql-server
procmail
perl(Date::Format)
perl(LWP::UserAgent)
perl(Net::DNS)
perl(IO::Socket::SSL)
perl(XML::Parser)
/bin/sh
/bin/sh
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsBzip2) <= 3.0.5-1
Hier werden zwar die Abhängigkeiten aufgezeigt jedoch nicht "welche" noch fehlen sprich zu installieren sind. Führe eine Installation aus um die fehlenden Package zu eruieren:
# rpm -ivh otrs-3.0.11-03.noarch.rpm
error: Failed dependencies:
perl(URI) is needed by otrs-3.0.11-03.noarch
mod_perl is needed by otrs-3.0.11-03.noarch
perl(Date::Format) is needed by otrs-3.0.11-03.noarch
perl(LWP::UserAgent) is needed by otrs-3.0.11-03.noarch
perl(Net::DNS) is needed by otrs-3.0.11-03.noarch
perl(IO::Socket::SSL) is needed by otrs-3.0.11-03.noarch
perl(XML::Parser) is needed by otrs-3.0.11-03.noarch
Installiere die fehlenden Abhängigkeiten anhand Yum:
# yum install perl-URI
# yum install mod_perl
# yum install perl-libwww-perl
# yum install perl-Net-DNS
# yum install perl-IO-Socket-SSL
# yum install perl-XML-Parser
oder
# yum install perl-URI mod_perl perl-libwww-perl perl-Net-DNS perl-IO-Socket-SSL perl-XML-Parser perl-TimeDate
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirror.fraunhofer.de
* epel: mirror.fraunhofer.de
* extras: mirror.fraunhofer.de
* rpmfusion-free-updates: download1.rpmfusion.org
* rpmfusion-free-updates-testing: download1.rpmfusion.org
* rpmfusion-nonfree-updates: download1.rpmfusion.org
* rpmfusion-nonfree-updates-testing: download1.rpmfusion.org
* updates: mirror.fraunhofer.de
187 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mod_perl.i386 0:2.0.4-6.el5 set to be updated
---> Package perl-TimeDate.noarch 1:1.16-5.el5 set to be updated
--> Processing Dependency: perl(BSD::Resource) for package: mod_perl
---> Package perl-IO-Socket-SSL.noarch 0:1.01-1.fc6 set to be updated
--> Processing Dependency: perl(Net::SSLeay) >= 1.21 for package: perl-IO-Socket-SSL
---> Package perl-Net-DNS.i386 0:0.59-3.el5 set to be updated
--> Processing Dependency: perl(Digest::HMAC_MD5) for package: perl-Net-DNS
--> Processing Dependency: perl(Net::IP) for package: perl-Net-DNS
---> Package perl-URI.noarch 0:1.35-3 set to be updated
---> Package perl-XML-Parser.i386 0:2.34-6.1.2.2.1 set to be updated
---> Package perl-libwww-perl.noarch 0:5.805-1.1.1 set to be updated
--> Processing Dependency: perl-HTML-Parser >= 3.33 for package: perl-libwww-perl
--> Processing Dependency: perl(HTML::Entities) for package: perl-libwww-perl
--> Processing Dependency: perl(Compress::Zlib) for package: perl-libwww-perl
--> Running transaction check
---> Package perl-BSD-Resource.i386 0:1.28-1.fc6.1 set to be updated
---> Package perl-Compress-Zlib.i386 0:1.42-1.fc6 set to be updated
---> Package perl-Digest-HMAC.noarch 0:1.01-15 set to be updated
--> Processing Dependency: perl(Digest::SHA1) for package: perl-Digest-HMAC
---> Package perl-HTML-Parser.i386 0:3.55-1.fc6 set to be updated
--> Processing Dependency: perl-HTML-Tagset >= 3.03 for package: perl-HTML-Parser
--> Processing Dependency: perl(HTML::Tagset) for package: perl-HTML-Parser
---> Package perl-Net-IP.noarch 0:1.25-2.fc6 set to be updated
---> Package perl-Net-SSLeay.i386 0:1.30-4.fc6 set to be updated
--> Running transaction check
---> Package perl-Digest-SHA1.i386 0:2.11-1.2.1 set to be updated
---> Package perl-HTML-Tagset.noarch 0:3.10-2.1.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================================
Package Arch Version Repository Size
=================================================================================================
Installing:
mod_perl i386 2.0.4-6.el5 base 4.0 M
perl-IO-Socket-SSL noarch 1.01-1.fc6 base 49 k
perl-Net-DNS i386 0.59-3.el5 base 215 k
perl-URI noarch 1.35-3 base 116 k
perl-XML-Parser i386 2.34-6.1.2.2.1 base 210 k
perl-libwww-perl noarch 5.805-1.1.1 base 376 k
Installing for dependencies:
perl-BSD-Resource i386 1.28-1.fc6.1 base 29 k
perl-Compress-Zlib i386 1.42-1.fc6 base 52 k
perl-Digest-HMAC noarch 1.01-15 base 12 k
perl-Digest-SHA1 i386 2.11-1.2.1 base 48 k
perl-HTML-Parser i386 3.55-1.fc6 base 92 k
perl-HTML-Tagset noarch 3.10-2.1.1 base 15 k
perl-Net-IP noarch 1.25-2.fc6 base 31 k
perl-Net-SSLeay i386 1.30-4.fc6 base
perl-TimeDate noarch 1:1.16-5.el5 base 32 k
Transaction Summary
=================================================================================================
Install 15 Package(s)
Upgrade 0 Package(s)
Total download size: 5.4 M
Is this ok [y/N]: y
Downloading Packages:
(1/15): perl-Digest-HMAC-1.01-15.noarch.rpm | 12 kB 00:00
(2/15): perl-HTML-Tagset-3.10-2.1.1.noarch.rpm | 15 kB 00:00
(3/15): perl-BSD-Resource-1.28-1.fc6.1.i386.rpm | 29 kB 00:00
(4/15): perl-Net-IP-1.25-2.fc6.noarch.rpm | 31 kB 00:00
(5/15): perl-Digest-SHA1-2.11-1.2.1.i386.rpm | 48 kB 00:00
(6/15): perl-IO-Socket-SSL-1.01-1.fc6.noarch.rpm | 49 kB 00:00
(7/15): perl-Compress-Zlib-1.42-1.fc6.i386.rpm | 52 kB 00:00
(8/15): perl-HTML-Parser-3.55-1.fc6.i386.rpm | 92 kB 00:00
(9/15): perl-URI-1.35-3.noarch.rpm | 116 kB 00:00
(10/15): perl-Net-SSLeay-1.30-4.fc6.i386.rpm | 195 kB 00:00
(11/15): perl-XML-Parser-2.34-6.1.2.2.1.i386.rpm | 210 kB 00:00
(12/15): perl-Net-DNS-0.59-3.el5.i386.rpm | 215 kB 00:00
(13/15): perl-libwww-perl-5.805-1.1.1.noarch.rpm | 376 kB 00:00
(14/15): mod_perl-2.0.4-6.el5.i386.rpm | 4.0 MB 00:07
(15/15): perl-TimeDate-1.16-5.el5.noarch.rpm | 32 kB 00:00
-------------------------------------------------------------------------------------------------
Total 310 kB/s | 5.4 MB 00:17
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : perl-Net-SSLeay 1/15
Installing : perl-BSD-Resource 2/15
Installing : perl-Digest-SHA1 3/15
Installing : perl-Compress-Zlib 4/15
Installing : perl-URI 5/15
Installing : perl-Digest-HMAC 6/15
Installing : perl-HTML-Tagset 7/15
Installing : perl-Net-IP 8/15
Installing : perl-IO-Socket-SSL 9/15
Installing : perl-HTML-Parser 10/15
Installing : perl-Net-DNS 11/15
Installing : mod_perl 12/15
Installing : perl-libwww-perl 13/15
Installing : perl-XML-Parser 14/15
Installing : perl-TimeDate 15/15
Installed:
mod_perl.i386 0:2.0.4-6.el5 perl-IO-Socket-SSL.noarch 0:1.01-1.fc6
perl-Net-DNS.i386 0:0.59-3.el5 perl-URI.noarch 0:1.35-3
perl-XML-Parser.i386 0:2.34-6.1.2.2.1 perl-libwww-perl.noarch 0:5.805-1.1.1
Dependency Installed:
perl-BSD-Resource.i386 0:1.28-1.fc6.1 perl-Compress-Zlib.i386 0:1.42-1.fc6
perl-Digest-HMAC.noarch 0:1.01-15 perl-Digest-SHA1.i386 0:2.11-1.2.1
perl-HTML-Parser.i386 0:3.55-1.fc6 perl-HTML-Tagset.noarch 0:3.10-2.1.1
perl-Net-IP.noarch 0:1.25-2.fc6 perl-Net-SSLeay.i386 0:1.30-4.fc6
Complete!
Jetzt installiere OTRS anhand des RPM Befehls:
# yum --nogpgcheck install otrs-3.0.11-03.noarch.rpm
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirror.fraunhofer.de
* epel: mirror.fraunhofer.de
* extras: mirror.fraunhofer.de
* rpmfusion-free-updates: download1.rpmfusion.org
* rpmfusion-free-updates-testing: download1.rpmfusion.org
* rpmfusion-nonfree-updates: download1.rpmfusion.org
* rpmfusion-nonfree-updates-testing: download1.rpmfusion.org
* updates: mirror.fraunhofer.de
addons | 951 B 00:00
base | 1.1 kB 00:00
epel | 3.7 kB 00:00
extras | 2.1 kB 00:00
rpmfusion-free-updates | 2.8 kB 00:00
rpmfusion-free-updates-testing | 2.8 kB 00:00
rpmfusion-nonfree-updates | 2.8 kB 00:00
rpmfusion-nonfree-updates-testing | 2.8 kB 00:00
updates | 1.9 kB 00:00
187 packages excluded due to repository priority protections
Setting up Install Process
Examining otrs-3.0.11-03.noarch.rpm: otrs-3.0.11-03.noarch
Marking otrs-3.0.11-03.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package otrs.noarch 0:3.0.11-03 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================================
Package Arch Version Repository Size
=================================================================================================
Installing:
otrs noarch 3.0.11-03 /otrs-3.0.11-03.noarch 73 M
Transaction Summary
=================================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total size: 73 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Check OTRS user ... otrs added.
Installing : otrs 1/1
Next steps:
[httpd services]
Restart httpd 'service httpd restart'
[mysqld service]
Start mysqld 'service mysqld start'
[install the OTRS database]
Use a webbrowser and open this link:
http://ticket.execure.intra/otrs/installer.pl
[OTRS services]
Start OTRS: 'service otrs start' (service otrs {start|stop|status|restart).
((enjoy))
Your OTRS Team
Installed:
otrs.noarch 0:3.0.11-03
Complete!
"Apache" und "MySQL" wurden neu gestartet nach der OTRS Installation. Sichere das Konfig File des "Apache":
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.back
Editiere nun das Konfig File des "Apache" auf folgenden Positionen (Minimum requirements):
# vi /etc/httpd/conf/httpd.conf
--------------- /etc/httpd/conf/httpd.conf ---------------
ServerAdmin netadmin@execure.ch
ServerName ticket.execure.intra:80
Listen 10.150.0.13:80
--------------- /etc/httpd/conf/httpd.conf ---------------
Starte "Apache" neu damit die Modifikationen aktiviert werden:
# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
Kontrolliere das Log:
# cat /var/log/httpd/error_log
Die OTRS Grundkonfiguration
Nun werden wir OTRS anhand eines WebInstallers konfigurieren:
http://ticket.execure.intra/otrs/installer.pl
Datei:OTRS-Install-01.jpg
Akzeptiere die Lizenzvereinbarung:
Datei:OTRS-Install-02.jpg
Setze das "root" Passwort, dass bei der "MySQL" Initierung (Secure script) gesetzt wurde:
Datei:OTRS-Install-03.jpg
Setze nun einen OTRS Datenbank Benutzer mit dessen Passwort:
Datei:OTRS-Install-04.jpg Datei:OTRS-Install-05.jpg
Gebe nun für OTRS allgemeine Angaben an:
Datei:OTRS-Install-06.jpg
Ueberspringe diese Konfig da wir für die Uebermittlung "postfix" benutzen werden:
Datei:OTRS-Install-07.jpg Datei:OTRS-Install-08.jpg
Die Webinstaller Konfig wurde durchgeführt. Nun kann auf folgenden Link verbunden werden mit folgenden Zugangsinfos:
Startseite: http://ticket.execure.intra/otrs/index.pl Benutzer: root@localhost Passwort: root
Die Mail Konfiguration
Damit die Mail korrekt uebermittelt werden dh. in das OTRS installieren Postfix:
# yum install postfix
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirror.fraunhofer.de
* epel: mirror.fraunhofer.de
* extras: mirror.fraunhofer.de
* rpmfusion-free-updates: download1.rpmfusion.org
* rpmfusion-free-updates-testing: download1.rpmfusion.org
* rpmfusion-nonfree-updates: download1.rpmfusion.org
* rpmfusion-nonfree-updates-testing: download1.rpmfusion.org
* updates: mirror.fraunhofer.de
187 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package postfix.i386 2:2.3.3-2.3.el5_6 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================================
Package Arch Version Repository Size
=================================================================================================
Installing:
postfix i386 2:2.3.3-2.3.el5_6 base 3.5 M
Transaction Summary
=================================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 3.5 M
Is this ok [y/N]: y
Downloading Packages:
postfix-2.3.3-2.3.el5_6.i386.rpm | 3.5 MB 00:06
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : postfix 1/1
Installed:
postfix.i386 2:2.3.3-2.3.el5_6
Complete!
Kontrolliere ob der Service korrekt läuft:
# chkconfig --list postfix
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Modifiziere die globalen Konfig Files von Postfix:
# grep -v \# main.cf
--------------- /etc/master.cf ---------------
queue_minfree = 41943040
message_size_limit = 20971520
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = ticket.execure.intra
mydomain = execure.intra
inet_interfaces = $myhostname, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
relay_domains = $mydestination
relayhost = srv711.execure.intra
alias_maps = hash:/etc/aliases, hash:/etc/postfix/otrs-aliases
alias_database = hash:/etc/aliases, hash:/etc/postfix/otrs-aliases
smtpd_banner = $myhostname ESMTP
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
transport_maps = hash:/etc/postfix/transport
transport_database = hash:/etc/postfix/transport
--------------- /etc/master.cf ---------------
# grep -v \# master.cf
--------------- /etc/master.cf ---------------
smtp inet n - n - - smtpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
-o fallback_relay=
showq unix n - n - - showq
error unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
cyrus unix - n n - - pipe
user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
--------------- /etc/master.cf ---------------
# vi /etc/postfix/otrs-aliases
--------------- /etc/postfix/otrs-aliases ---------------
support: "|/opt/otrs/bin/otrs.PostMaster.pl"
--------------- /etc/postfix/otrs-aliases ---------------
# /usr/sbin/postmap -v /etc/postfix/otrs-aliases
# vi /etc/postfix/transport
--------------- /etc/postfix/transport ---------------
execure.ch :[FQDN Exchange]
--------------- /etc/postfix/transport ---------------
# /usr/sbin/postmap -v /etc/postfix/transport
Kontrolliere das Log:
# /var/log/maillog
OTRS ist in der Lage, E-Mails über ein Kommandozeilen-Programm (bin/otrs.PostMaster.pl) zu empfangen. Es nimmt die Mails über STDIN entgegen und fügt sie direkt in das OTRS-System ein. Das bedeutet, dass E-Mails im OTRS angezeigt werden, wenn der MDA (mail delivery agent) die E-Mails an bin/otrs.PostMaster.pl" weiterleitet.
Um dies zu testen kann folgendes ausgeführt werden:
# cd bin
# cat ../doc/sample_mails/test-email-1.box | ./otrs.PostMaster.pl
#
Nun logge ein auf dem OTRS und gehe nach:
Tickets > Ansicht nach Queus
Danach klicke auf "Raw" und dort sieht man -sofern alle Perl Module installiert sind das Test Mail:
Von: System Tester I
An: darthvader@otrs.org
This is the first test.
Adios ...
Little "Skywalker"
--
System Tester I - <skywalker@otrs.org>
--
Old programmers never die. They just branch to a new address.
Die Uebermittlung der Mails steht ebenfalls im Zusammenhang mit der folgenden Datei:
/opt/otrs/.procmailrc
In dieser Datei muessen folgende Eintraege vorhanden sein:
--------------- /opt/otrs/.procmailrc ---------------
SYS_HOME=$HOME
PATH=/bin:/usr/bin:/usr/local/bin
# --
# Pipe all email into the PostMaster process.
# --
:0 :
| $SYS_HOME/bin/otrs.PostMaster.pl
--------------- /opt/otrs/.procmailrc ---------------
Die Cron Installation
OTRS Installation benötigt für bestimmte Funktionen bestimmte immer wiederkehrende Funktionen wie "Queque" Optimierung! Diese Funktionen findet man im Verzeichnis:
/opt/otrs/var/cron
In diesem Verzeichnis existieren die zuständigen Scripts für die zuständigen Funktionen:
-rw-rw-r-- 1 otrs apache 426 Oct 11 14:11 aaa_base
-rw-rw-r-- 1 otrs apache 546 Oct 11 14:11 cache
-rw-rw-r-- 1 otrs apache 562 Oct 11 14:11 fetchmail
-rw-rw-r-- 1 otrs apache 696 Oct 11 14:11 generic_agent
-rw-rw-r-- 1 otrs apache 515 Oct 11 14:11 generic_agent-database
-rw-rw-r-- 1 otrs apache 490 Oct 11 14:11 pending_jobs
-rw-rw-r-- 1 otrs apache 630 Oct 11 14:11 postmaster
-rw-rw-r-- 1 otrs apache 506 Oct 11 14:11 postmaster_mailbox
-rw-rw-r-- 1 otrs apache 487 Oct 11 14:11 rebuild_ticket_index
-rw-rw-r-- 1 otrs apache 509 Oct 11 14:11 session
-rw-rw-r-- 1 otrs apache 493 Oct 11 14:11 unlock
Die einzelnen Scripts haben die folgenden Funktionen:
Script Function
aaa_base Sets the basics for the crontab of the OTRS user.
fetchmail Used only if new mails will be fetched with fetchmail into the ticket system.
generic_agent Executes the jobs of the GenericAgent that are not stored in the database but in own config files.
generic_agent-database Executes the jobs of the GenericAgent that are stored in the database.
pending_jobs Checks in the system for pending tickets.
postmaster Checks the message queue of the ticket system and delivers messages that are still in the queues.
postmaster_pop3 Fetches the mails from the POP3 accounts that were specified in the admin area, in the section for "PostMaster POP3 Account".
rebuild_ticket_index Rebuilds the ticket index, which improves the speed of the QueueView.
session Removes old and no longer needed session ID's.
unlock Unlocks tickets in the system.
Diese Scripts werden wiederum gesteuern resp. ausgeführt über das folgende Script:
/opt/otrs/bin/Cron.sh
Möchte man das Script auf Kommandozeile ausführen so muss das Kommando folgendermassen lauten:
# sh -x /opt/otrs/bin/Cron.sh otrs
++ whoami
+ CURRENTUSER=root
+ CRON_USER=otrs
+ test -n otrs
+ test root '!=' root
+ test -z otrs
++ dirname Cron.sh
+ cd ./../
++ pwd
+ OTRS_HOME=/opt/otrs
+ cd -
/opt/otrs/bin
+ test -e /opt/otrs/var/cron
+ OTRS_ROOT=/opt/otrs
+ CRON_DIR=/opt/otrs/var/cron
+ CRON_TMP_FILE=/opt/otrs/var/tmp/otrs-cron-tmp.5230
+ echo 'Cron.sh - start/stop OTRS cronjobs - <$Revision: 1.19 $> '
Cron.sh - start/stop OTRS cronjobs - <$Revision: 1.19 $>
+ echo 'Copyright (C) 2001-2009 OTRS AG, http://otrs.org/'
Copyright (C) 2001-2009 OTRS AG, http://otrs.org/
+ case "$1" in
+ test -n otrs
+ CRON_USER=' -u otrs'
+ mkdir -p /opt/otrs/var/cron
+ cd /opt/otrs/var/cron
+ ls -d aaa_base cache fetchmail generic_agent generic_agent-database pending_jobs postmaster postmaster_mailbox rebuild_ticket_index session unlock
+ grep -v .dist
+ grep -v .rpm
+ xargs cat
+ grep -v CVS
+ crontab -u otrs /opt/otrs/var/tmp/otrs-cron-tmp.5230
+ rm -rf /opt/otrs/var/tmp/otrs-cron-tmp.5230
+ echo '(using /opt/otrs) done'
(using /opt/otrs) done
+ exit 0
Führt man dieses Kommando aus so wird ein File erzeugt im "/var/spool/cron" das die nötigen Anweisungen enthält. Dies bedeutet wird das Verzeichnis modifiziert in "/opt/otrs/var/cron" so muss dieses Script "Cron.sh" wiederum ausgeführt werden oder das File in "/var/spool/cron/otrs" muss modifiziert werden. Wenn bestimmte Scripts nicht ausgeführt werden soll so modifiziere das File "/var/spool/cron/otrs" oder benenne das nicht benötigte Script um in *.dist zB :
# mv /opt/otrs/var/cron/fetchmail /opt/otrs/var/fetchmail.dist
# mv /opt/otrs/var/cron/unlock /opt/otrs/var/cron/unlock.dist
Nachträgliche führe wiederum den Cron.sh Befehl aus:
# /opt/otrs/bin/Cron.sh start otrs
Nun kontrolliere das Cron Script das angelegt wurde:
# more /var/spool/cron/otrs
Sofern alles ok starte den Cron Job neu:
# service crond restart