Running 2 OTRS instances on 1 Apache and 1 MySql on Windows

Hi everybody, I am trying to run 2 OTRS instances with only 1 apache and 1 MySql. I am running on Windows XP. I am going to use 1 OTRS for production and 1 OTRS for development, which I call OTRS Prod and OTRS Dev respectively. The path for OTRS production is : C:/PROGRA~1/OTRS/OTRS/ The path for OTRS development is : C:/PROGRA~1/OTRS/otrsdev/ Here what I have done: 1. Create new directory containing the OTRS for development (C:/PROGRA~1/OTRS/otrsdev/) 2. Add include statement in Apache's httpd.conf: # include the OTRS Prod configuration Include 'C:/PROGRA~1/OTRS/OTRS/scripts/apache2-httpd-new.include.conf' # include the OTRS dev configuration Include 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf' # --- 2. Change all statement in file 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf' from C:/PROGRA~1/OTRS/OTRS/ to C:/PROGRA~1/OTRS/otrsdev/ 3. Change the "use lib" statement in C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-perl-startup.pl use lib "C:/PROGRA~1/OTRS/otrsdev"; use lib "C:/PROGRA~1/OTRS/otrsdev/Kernel/cpan-lib"; 4. Create new config.pm. Change the database and home directody in config.pm . $Self->{'Database'} = 'otrsdev'; $Self->{Home} = 'C:/PROGRA~1/OTRS/otrsdev'; Now, when I run the OTRS development , http://localhost/otrsdev/index.pl , it used the otrs production database (otrs) instead of otrs development database (otrsdev) and use all of the library (Kernel) under C:/PROGRA~1/OTRS/OTRS/ instead of C:/PROGRA~1/OTRS/otrsdev. Hence, everytime I made a change in the OTRS develoment the OTRS production is also changing and vice versa. I have made some experiment, when I changed the order of the include statement in httpd.conf: # include the OTRS dev configuration Include 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf' # include the OTRS production configuration Include 'C:/PROGRA~1/OTRS/OTRS/scripts/apache2-httpd-new.include.conf' # --- The result is that the OTRS production and OTRS development will use the otrs development database (otrsdev) and use all of the library (Kernel) from C:/PROGRA~1/OTRS/otrsdev. I am really confused here. Can anyone help me?? Thanx a lot before.

Do you use Virtual Hosts? Do you have different hostnames? It's hard to help when we don't know the details of you apache configuration. - Renée Ikhsan Muhammad schrieb:
Hi everybody,
I am trying to run 2 OTRS instances with only 1 apache and 1 MySql. I am running on Windows XP. I am going to use 1 OTRS for production and 1 OTRS for development, which I call OTRS Prod and OTRS Dev respectively. The path for OTRS production is : C:/PROGRA~1/OTRS/OTRS/ The path for OTRS development is : C:/PROGRA~1/OTRS/otrsdev/
Here what I have done: 1. Create new directory containing the OTRS for development (C:/PROGRA~1/OTRS/otrsdev/)
2. Add include statement in Apache's httpd.conf: # include the OTRS Prod configuration Include 'C:/PROGRA~1/OTRS/OTRS/scripts/apache2-httpd-new.include.conf'
# include the OTRS dev configuration Include 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf'
# ---
2. Change all statement in file 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf' from C:/PROGRA~1/OTRS/OTRS/ to C:/PROGRA~1/OTRS/otrsdev/
3. Change the "use lib" statement in C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-perl-startup.pl use lib "C:/PROGRA~1/OTRS/otrsdev"; use lib "C:/PROGRA~1/OTRS/otrsdev/Kernel/cpan-lib";
4. Create new config.pm. Change the database and home directody in config.pm . $Self->{'Database'} = 'otrsdev';
$Self->{Home} = 'C:/PROGRA~1/OTRS/otrsdev';
Now, when I run the OTRS development , http://localhost/otrsdev/index.pl , it used the otrs production database (otrs) instead of otrs development database (otrsdev) and use all of the library (Kernel) under C:/PROGRA~1/OTRS/OTRS/ instead of C:/PROGRA~1/OTRS/otrsdev. Hence, everytime I made a change in the OTRS develoment the OTRS production is also changing and vice versa.
I have made some experiment, when I changed the order of the include statement in httpd.conf:
# include the OTRS dev configuration Include 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf'
# include the OTRS production configuration Include 'C:/PROGRA~1/OTRS/OTRS/scripts/apache2-httpd-new.include.conf'
# ---
The result is that the OTRS production and OTRS development will use the otrs development database (otrsdev) and use all of the library (Kernel) from C:/PROGRA~1/OTRS/otrsdev.
I am really confused here. Can anyone help me??
Thanx a lot before.
------------------------------------------------------------------------
--------------------------------------------------------------------- OTRS mailing list: dev - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/dev To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev
NEW! ENTERPRISE SUBSCRIPTION - Get more information NOW! http://www.otrs.com/en/support/enterprise-subscription/
-- Perl-Magazin: http://perl-magazin.de Perl-Nachrichten: http://perl-nachrichten.de

I'm kinda new to apache, I think I don't use virtual host and I have the
same hostnames.
Here is my apache conf:
#
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See URL:http://httpd.apache.org/docs/2.2 for detailed information.
# In particular, see
# URL:http://httpd.apache.org/docs/2.2/mod/directives.html
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path. If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
# with ServerRoot set to "C:/PROGRA~1/OTRS/Apache" will be interpreted by
the
# server as "C:/PROGRA~1/OTRS/Apache/logs/foo.log".
#
# NOTE: Where filenames are specified, you must use forward slashes
# instead of backslashes (e.g., "c:/apache" instead of "c:\apache").
# If a drive letter is omitted, the drive on which httpd.exe is located
# will be used by default. It is recommended that you always supply
# an explicit drive letter in absolute paths to avoid confusion.
#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path. If you point
# ServerRoot at a non-local disk, be sure to point the LockFile directive
# at a local disk. If you wish to share the same ServerRoot for multiple
# httpd daemons, you will need to change at least LockFile and PidFile.
#
ServerRoot "C:/PROGRA~1/OTRS/Apache"
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO
you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule logio_module modules/mod_logio.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule ssl_module modules/mod_ssl.so
#LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
Do you use Virtual Hosts? Do you have different hostnames? It's hard to help when we don't know the details of you apache configuration.
- Renée
Ikhsan Muhammad schrieb:
Hi everybody,
I am trying to run 2 OTRS instances with only 1 apache and 1 MySql. I am running on Windows XP. I am going to use 1 OTRS for production and 1 OTRS for development, which I call OTRS Prod and OTRS Dev respectively. The path for OTRS production is : C:/PROGRA~1/OTRS/OTRS/ The path for OTRS development is : C:/PROGRA~1/OTRS/otrsdev/
Here what I have done: 1. Create new directory containing the OTRS for development (C:/PROGRA~1/OTRS/otrsdev/)
2. Add include statement in Apache's httpd.conf: # include the OTRS Prod configuration Include 'C:/PROGRA~1/OTRS/OTRS/scripts/apache2-httpd-new.include.conf'
# include the OTRS dev configuration Include 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf'
# ---
2. Change all statement in file 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf' from C:/PROGRA~1/OTRS/OTRS/ to C:/PROGRA~1/OTRS/otrsdev/
3. Change the "use lib" statement in C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-perl-startup.pl use lib "C:/PROGRA~1/OTRS/otrsdev"; use lib "C:/PROGRA~1/OTRS/otrsdev/Kernel/cpan-lib";
4. Create new config.pm. Change the database and home directody in config.pm . $Self->{'Database'} = 'otrsdev';
$Self->{Home} = 'C:/PROGRA~1/OTRS/otrsdev';
Now, when I run the OTRS development , http://localhost/otrsdev/index.pl, it used the otrs production database (otrs) instead of otrs development database (otrsdev) and use all of the library (Kernel) under C:/PROGRA~1/OTRS/OTRS/ instead of C:/PROGRA~1/OTRS/otrsdev. Hence, everytime I made a change in the OTRS develoment the OTRS production is also changing and vice versa.
I have made some experiment, when I changed the order of the include statement in httpd.conf:
# include the OTRS dev configuration Include 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf'
# include the OTRS production configuration Include 'C:/PROGRA~1/OTRS/OTRS/scripts/apache2-httpd-new.include.conf'
# ---
The result is that the OTRS production and OTRS development will use the otrs development database (otrsdev) and use all of the library (Kernel) from C:/PROGRA~1/OTRS/otrsdev.
I am really confused here. Can anyone help me??
Thanx a lot before.
------------------------------------------------------------------------
--------------------------------------------------------------------- OTRS mailing list: dev - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/dev To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev
NEW! ENTERPRISE SUBSCRIPTION - Get more information NOW! http://www.otrs.com/en/support/enterprise-subscription/
--
Perl-Magazin: http://perl-magazin.de Perl-Nachrichten: http://perl-nachrichten.de --------------------------------------------------------------------- OTRS mailing list: dev - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/dev To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev
NEW! ENTERPRISE SUBSCRIPTION - Get more information NOW! http://www.otrs.com/en/support/enterprise-subscription/

Correction, the last line of the configuration should be: # --- # OTRS configuration # --- # load mod_perl LoadFile 'C:/PROGRA~1/OTRS/StrawberryPerl/perl/bin/perl510.dll' LoadModule perl_module modules/mod_perl.so # include the OTRS configuration Include 'C:/PROGRA~1/OTRS/OTRS/scripts/apache2-httpd-new.include.conf' # include the OTRS dev configuration Include 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf' # --- Thx b4..

# include the OTRS dev configurationInclude 'C:/PROGRA~1/OTRS/otrsdev/scripts/apache2-httpd-new.include.conf'
You forgot an "Include" here... -- Perl-Magazin: http://perl-magazin.de Perl-Nachrichten: http://perl-nachrichten.de

Hi Ikhsan, If you are going to use mod_perl2, I don't think it is possible. You can only have one codebase for a namespace. I can only recommend using two separate apaches. It is relatively easy getting two apache (or more) setup on one machine. You just need to setup a secondard IP address and configure both of the httpd.conf files to listen to only one IP. If anybody thinks I'm wrong about mod_perl2, please let me know. Regards, Scott Scott Storck Information Technology --------------------------------------------------------------------- Topdeq Service GmbH Werner-von-Siemens-Straße 31 D-64319 Pfungstadt Phone +49 6157 159-444 Fax +49 6157 159-333 scott.storck@topdeq.com Geschäftsführer: Didier Nulens Sitz der Gesellschaft : Pfungstadt, HRB Darmstadt 7294 www.topdeq.biz www.takkt.com

You are right Scott!!
After some research I found out that mod_perl2 cannot have same namespace
for different code.
So, finally I used two apache on one machine..
Thx a alot.
On Tue, Apr 7, 2009 at 1:34 PM, Scott Storck
Hi Ikhsan,
If you are going to use mod_perl2, I don't think it is possible. You can only have one codebase for a namespace. I can only recommend using two separate apaches. It is relatively easy getting two apache (or more) setup on one machine. You just need to setup a secondard IP address and configure both of the httpd.conf files to listen to only one IP.
If anybody thinks I'm wrong about mod_perl2, please let me know.
Regards, Scott
Scott Storck Information Technology --------------------------------------------------------------------- Topdeq Service GmbH Werner-von-Siemens-Straße 31 D-64319 Pfungstadt Phone +49 6157 159-444 Fax +49 6157 159-333 scott.storck@topdeq.com
Geschäftsführer: Didier Nulens Sitz der Gesellschaft : Pfungstadt, HRB Darmstadt 7294
www.topdeq.biz www.takkt.com
--------------------------------------------------------------------- OTRS mailing list: dev - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/dev To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev
NEW! ENTERPRISE SUBSCRIPTION - Get more information NOW! http://www.otrs.com/en/support/enterprise-subscription/

I missed the earlier part of this thread but you can use Parent/Clone to have a separate perl interpreter within a named virtual host. I just learned about this myself the other day so I don't have deployment experience with it. Here is a link to the mod_perl2 docs for it. http://perl.apache.org/docs/2.0/user/config/config.html#C_Parent_ Obviously trying to load two modules with the same namespace from different sources within a single interpreter does not work, mod_perl or not. -- Owen On 16-Apr-09, at 10:44 PM, Ikhsan Muhammad wrote:
You are right Scott!! After some research I found out that mod_perl2 cannot have same namespace for different code.
So, finally I used two apache on one machine..
Thx a alot.
On Tue, Apr 7, 2009 at 1:34 PM, Scott Storck
wrote: Hi Ikhsan, If you are going to use mod_perl2, I don't think it is possible. You can only have one codebase for a namespace. I can only recommend using two separate apaches. It is relatively easy getting two apache (or more) setup on one machine. You just need to setup a secondard IP address and configure both of the httpd.conf files to listen to only one IP.
If anybody thinks I'm wrong about mod_perl2, please let me know.
Regards, Scott
Scott Storck Information Technology --------------------------------------------------------------------- Topdeq Service GmbH Werner-von-Siemens-Straße 31 D-64319 Pfungstadt Phone +49 6157 159-444 Fax +49 6157 159-333 scott.storck@topdeq.com
Geschäftsführer: Didier Nulens Sitz der Gesellschaft : Pfungstadt, HRB Darmstadt 7294
www.topdeq.biz www.takkt.com

On Fri, Apr 17, Owen Stenseth wrote:
I missed the earlier part of this thread but you can use Parent/Clone to have a separate perl interpreter within a named virtual host. I just learned about this myself the other day so I don't have deployment experience with it. Here is a link to the mod_perl2 docs for it.
http://perl.apache.org/docs/2.0/user/config/config.html#C_Parent_
Obviously trying to load two modules with the same namespace from different sources within a single interpreter does not work, mod_perl or not.
Hey, thanks so much. This came just in time ;-) Michael -- noris network AG - Deutschherrnstraße 15-19 - D-90429 Nürnberg - Tel +49-911-9352-0 - Fax +49-911-9352-100 http://www.noris.de - The IT-Outsourcing Company Vorstand: Ingo Kraupa (Vorsitzender), Joachim Astel, Hansjochen Klenk - Vorsitzender des Aufsichtsrats: Stefan Schnabel - AG Nürnberg HRB 17689

Thanks for the info Owen! The mod_perl2 I'm still running doesn't seem to recognize those switches. :( I guess that is a good reason to upgrade. -Scott
Owen Stenseth
schrieb am Freitag, 17. April 2009 um 15:20 in Nachricht : I missed the earlier part of this thread but you can use Parent/Clone to have a separate perl interpreter within a named virtual host. I just learned about this myself the other day so I don't have deployment experience with it. Here is a link to the mod_perl2 docs for it.
http://perl.apache.org/docs/2.0/user/config/config.html#C_Parent_
Obviously trying to load two modules with the same namespace from
different sources within a single interpreter does not work, mod_perl or
not.
--
Owen
On 16-Apr-09, at 10:44 PM, Ikhsan Muhammad wrote:
You are right Scott!!
After some research I found out that mod_perl2 cannot have same
namespace for different code.
So, finally I used two apache on one machine..
Thx a alot.
On Tue, Apr 7, 2009 at 1:34 PM, Scott Storck

Ikhsan Muhammad schrieb:
Hi everybody,
I am trying to run 2 OTRS instances with only 1 apache and 1 MySql. I am running on Windows XP. I am going to use 1 OTRS for production and 1 OTRS for development, which I call OTRS Prod and OTRS Dev respectively. The path for OTRS production is : C:/PROGRA~1/OTRS/OTRS/ The path for OTRS development is : C:/PROGRA~1/OTRS/otrsdev/
Don't do this. Use two separate Apache Processes, e.g. bound to different ports or different IP addresses. Then you have a "clear situation", the instances won't interfere with each other. Use two different database roles and separate databases in your RDBMS. Just my $0.02, Pascal
participants (6)
-
Ikhsan Muhammad
-
Michael Radziej
-
Owen Stenseth
-
Pascal Gienger
-
Renee Bäcker
-
Scott Storck