Multiple redmine authentication
Added by Jaroslav . over 12 years ago
Hi everyone,
Problem
There are multiple redmine instances in my environment separated using apache2-mpm-itk. Each instance has own user and home directory. Redmine instances are working very well. The problem is Redmine.pm auth module for Apache2. Only one (the last virtualhost) is working well. The rest show me error:
[Sat Apr 20 02:22:18 2013] [error] [client 127.0.0.1] Can't connect to data source '' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at /var/www/redmine_test2/redmine/extra/svn/Redmine.pm line 541\n
Directory design
- All data in /var/www/redmine_test* (change star for redmine instance id)
- /var/www/redmine_test*/redmine - redmine source files
- /var/www/redmine_test*/log - apache2 error and access log
- /var/www/redmine_test*/git - git repozitories
Apache2 virtualhost
- Virtualhost is for all redmine instances the same - only changing redmine_test(ID).
<VirtualHost _default_:443>
DocumentRoot /var/www/redmine_test2/redmine/public
ServerName redmine_test2
SSLEngine On
SSLCertificateFile /etc/ssl/ssl/redmine_test.pem
RewriteEngine on
# ITK
AssignUserId redmine_test2 redmine_test2
MaxClientsVHost 10
# Directories
<Directory /var/www/redmine_test2/redmine/public>
AllowOverride all
Order allow,deny
Allow from all
</Directory>
# Redmine
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.19/
PassengerRuby /usr/bin/ruby1.8
PassengerDefaultUser redmine_test2
PassengerUserSwitching on
PassengerUseGlobalQueue off
PassengerRestartDir /var/local/passenger
RailsEnv production
RailsBaseURI /redmine
# Git
PerlOptions +Parent
PerlOptions -GlobalRequest
PerlSwitches -I/var/www/redmine_test2/redmine/extra/svn
PerlLoadModule Redmine
SetEnv GIT_PROJECT_ROOT /var/www/redmine_test2/git/
SetEnv GIT_HTTP_EXPORT_ALL
<Directory "/var/www/redmine_test2/git/">
Options None
AllowOverride None
Order Allow,Deny
Allow from all
</Directory>
<Location "/git/">
AuthType Basic
AuthName "GM Git Repositories
Require valid-user
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN "DBI:mysql:database=redmine_test2;host=localhost"
RedmineDbUser "redmine_test2"
RedmineDbPass "..."
RedmineGitSmartHttp yes
</Location>
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
# Logs
LogLevel debug
ErrorLog /var/www/redmine_test2/log/error.log
CustomLog /var/www/redmine_test2/log/access.log combined
</VirtualHost>
Server informations
- System: Debian Squeeze
- Webserver: apache2-mpm-itk 2.2.16 (each redmine = 1 system user)
- Ruby: libapache2-mod-passenger 2.2.11debian-2
- Mod_perl: libapache2-mod-perl2 2.0.4-7+squeeze1
Redmine informations
Environment: Redmine version 2.3.0.stable Ruby version 1.8.7 (x86_64-linux) Rails version 3.2.13 Environment production Database adapter Mysql2 Redmine plugins: no plugin installed
Replies (2)
RE: Multiple redmine authentication
-
Added by Paresh Patel over 12 years ago
hi,Jaroslav
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
UseCanonicalName Off
Include /etc/apache2/conf/redmine.conf
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/cert.pem
Include /etc/apache2/conf/redmine.conf
RequestHeader set X_FORWARDED_PROTO 'https'
</VirtualHost>
above configure your file add then old configuration remove
i 100% sure your problem solve then any problem occur reply me
Your Regrade
Paresh.Patel
Email Id : pareshsabva@gmail.com
RE: Multiple redmine authentication
-
Added by Jaroslav . over 12 years ago
Hi Paresh,
thanks for reply. After a lot of spent time I have found the solution.
I copied Redmine.pm file to /usr/share/perl/5.14/Redmine.pm, so it is now shared between all redmine instances.
Current version is: mod_passenger + mod_perl2 + apache2-mpm-itk + debian wheezy. I have to admit, that I also migrated from squeeze to wheezy. Unfortunately, there is something wrong with combination mpm-itk and mod_perl. When I added: PerlOptions +Parent, apache segfaulted:
[64545.894938] /usr/sbin/apach[5556]: segfault at c ip 00007f56fdc5143d sp 00007fffd8d59cc0 error 4 in libperl.so.5.14.2[7f56fdbfd000+177000]
Working virtualhost for each redmine:
<VirtualHost _default_:443>
DocumentRoot /var/www/redmine.mydomain.tld/redmine/public
ServerName redmine.mydomain.tld
SSLEngine On
SSLCertificateFile /etc/ssl/ssl/default.pem
RewriteEngine on
# ITK
AssignUserId user1 user1
MaxClientsVHost 10
# Directories
<Directory /var/www/redmine.mydomain.tld/redmine/public>
AllowOverride all
Order allow,deny
Allow from all
</Directory>
# Redmine
PassengerDefaultUser user1
PassengerUploadBufferDir /var/www/redmine.mydomain.tld/temp/
PassengerUseGlobalQueue off
PassengerMinInstances 1
RailsEnv production
RackBaseURI /redmine
# Git
PerlLoadModule Redmine
SetEnv GIT_PROJECT_ROOT /var/www/redmine.mydomain.tld/git/
SetEnv GIT_HTTP_EXPORT_ALL
<Directory "/var/www/redmine.mydomain.tld/git/">
Options None
AllowOverride None
Order Allow,Deny
Allow from all
</Directory>
<Location "/git/">
AuthType Basic
AuthName "GM Git Repositories
Require valid-user
AuthBasicAuthoritative Off
AuthUserFile /dev/null
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN "DBI:mysql:database=user1;host=localhost"
RedmineDbUser "user1"
RedmineDbPass ""
RedmineGitSmartHttp yes
</Location>
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
# Logs
ErrorLog /var/www/redmine.mydomain.tld/log/error.log
CustomLog /var/www/redmine.mydomain.tld/log/access.log combined
</VirtualHost>