[otrs-de] OTRS "Mandantenkopie"

Robert Heinzmann Robert.Heinzmann at gmx.net
Fre Jan 21 18:30:34 CET 2005


Hallo,

anbei nun die kurze "Anleitung" die ich versprochen hatte. Wie darin 
beschrieben habe ich meine "Mandantenkopie" durchgeführt. (An sich ist 
es keine Mandantenkopie eher eine Systemkopie, da ja die SystemID gleich 
bleibt, ich nenne es aber trotzdem so - klingt irgendwie so schön 
professionell :)

Nun wirds Zeit mal die Bugzilla Integration zu testen.

Für Fragen stehe ich gerne zur Verfügung.

p.s Wird es mit 2.0 eine Bugzilla Integration geben ?

Robert Heinzmann wrote:

>
>
> p.s. Ich schreibe die Schritte die ich durchgeführt habe noch einmal 
> zusammen und schick Sie an die Liste. Falls noch jemand das Problem 
> hat oder ein Testsystem mit mod_perl-1 auszusetzen.
>
> p.p.s Sorry für die Rechtschreibung :)
>

-------------- nächster Teil --------------
HOWTO - Setup a OTRS test and production system on the same machine.txt
======================================================================
Version: 0.1 - 21.01.2005

(2005 by Robert.Heinzmann at gmx.net)

System environment
------------------
Operating system: SLES8 (SuSE)
OTRS: 1.3.1-01
Web Server: Apache 1.3
Database: MySQL 3.23

Introduction
------------

I wanted to place a OTRS test system and a production system on one host. 
The test system should be a 1:1 copy of the production system (same System ID!). 
I wanted to use this system for testing and development. This is the documentation 
of the steps I performed to get this done . This document is not guaranteed to be complete. 

The new test system will have the following specification:

OTRS Home: /opt/otrstest
OTRS User: otrstest
OTRS Hostname: otrs2.xxx.yyy.de:8000

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| If you follow this guideline, you do it ON YOUR OWN RISK! |
| I DO NOT GUARANTEE THE CORRECTNESS OF THIS DOCUMENTATION. |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Note: Depending on the Distribution and database you are using, the steps may differ. 


Procedure
==========
1) Create MySQL OTRS test database
------------------------------
otrs:/ # mysql
mysql> create database otrstest;
Query OK, 1 row affected (0.04 sec)

mysql> grant all on otrstest.* to otrstest identified by 'otrstest';
Query OK, 0 rows affected (0.07 sec)

2) Dump production OTRS database
--------------------------------
otrs:/ # mysqldump otrs > /tmp/otrsdb.prod.$(date -I).sql
otrs:/ # ls -al /tmp/otrsdb.prod.2005-01-20.sql
-rw-r--r--    1 root     root     146437256 Jan 20 11:47 /tmp/otrsdb.prod.2005-01-20.sql

3) Create second OTRS username
----------------------------
Change: Username, UID, Home, Name

4) Copy the OTRS production system (executables)
--------------------------------
otrs:/opt # cp -a otrs otrstest
otrs:/opt # cd /opt/otrstest
otrs:/opt/otrstest # find /opt/otrstest -user otrs -exec chown otrstest \{\} \;
otrs:/opt/otrstest # cp /etc/init.d/otrs  /etc/init.d/otrstest
otrs:/opt/otrstest # cp /etc/sysconfig/otrs /etc/sysconfig/otrstest

Modify /etc/init.d/otrstest
	change sysconfig file
Modify /etc/sysconfig/otrstest
	cange: 
		OTRS_ROOT
		OTRS_HTTP_LOCATION
		OTRS_CRON_USER

5) Edit OTRS test system config
-------------------------------
otrs:/opt/otrstest # vi /opt/otrstest/Kernel/Config.pm
Change: 
 $Self->{DatabaseHost}
 $Self->{Database}
 $Self->{DatabasePw}
 $Self->{Home} 
 $Self->{LogModule::LogFile}
 $Self->{FQDN}="OTRS2.xxx.yyy.de:8000"
 
6) Add DNS or /etc/hosts entry  for new Apache Hostname Alias
-------------------------------------------------------------
 Windows: 
 edit C:\WINNT\system32\drivers\etc\hosts
 	XXX.XXX.XXX.XXX otrs2.xxx.yyy.de
 	
 Unix: 
 edit /etc/hosts
 	XXX.XXX.XXX.XXX otrs2.xxx.yyy.de
 
 It's best to use DNS, because all clients connecting to the test server are required to resolve this name.
 
 Note: This step is required to use cookies for authentication with OTRS instances running on the same host 
       on different ports, otherwise session management will not work correctly. 
 
7) Create a second apache instance
----------------------------------
otrs:/opt/otrstest # cp -a /etc/httpd /etc/httpd2

Edit /etc/httpd2/httpd.conf 
	vi command: ",$s./httpd/./httpd2/.g"
	Modify: 
		ServerName
		PidFile
		ScoreBoardFile
		Listen (Port other than 80, eg 8000)
		
		
Create Directory /var/log/httpd2 (wwwrun permissions)

Create Directory /var/lock/subsys/httpd2/ (wwwrun permissions)

Edit /etc/httpd2/suse_include.conf
	[...]
	Include /opt/otrstest/scripts/apache-httpd.include.conf

Modify /opt/otrstest/scripts/apache-httpd.include.conf:
	Script: sed -e 's/\([^[:alpha:]]\)\(otrs\)\([>\/]\)/\1otrstest\3/g' /opt/otrs/scripts/apache-httpd.include.conf >  /opt/otrstest/scripts/apache-httpd.include.conf
		
ln /usr/sbin/httpd /usr/sbin/httpd2

cp -a /etc/init.d/apache /etc/init.d/apache_2
	Modify /etc/init.d/apache_2
		[...]
		test -s /etc/sysconfig/apache_2 && \
	    . /etc/sysconfig/apache_2
      HTTPD_BIN=/usr/sbin/httpd2
      [...]
      Replace httpd with httpd2
      Watch for /var/log/ssl_scache.dir and /var/log/ssl_scache.pag 

cp -a /etc/sysconfig/apache /etc/sysconfig/apache_2
	Modify /etc/sysconfig/apache_2
		HTTPD_CONF_INCLUDE_FILES="/opt/otrstest/scripts/apache-httpd.include.conf"

rcapache restart

Note: This step is necessary, because of mod_perl-1. See OTRS Documentation ("OTRS Multihoming").

8) Import MySQL dump
---------------------
otrs:/opt/otrstest # mysql otrstest < /tmp/otrsdb.prod.2005-01-20.sql

9) Remove any configured POP3 accounts on the test system !!
---------------------------------------------------------

IMPORTANT!! Otherwise productive mails may disapear.

Note: At this time no crontab is installed yet for otrstest, thus no production mail may disapear.

10) Setup system services
------------------------
otrs:/opt/otrstest # insserv otrstest
otrs:/opt/otrstest # /etc/init.d/otrstest start
otrs:/opt/otrstest # insserv apache_2

11) TEST


Note: The steps in this guide were "recovered" from my brain after setting up the system :). 
      It maybe possible that some minor steps are missing. In general it should work :).