Installation tutorial¶
Requirements¶
- Redmine with MySQL.
Orangutan was tested on Redmine 1.0.x and 1.1.x. - Jabber/XMPP server (can be used with Google Talk).
- Perl
Any version should work. - Perl Net::XMPP library
Orangutan was tested with Net::XMPP 1.02.
For Debian-like distros:apt-get install libnet-xmpp-perl - Perl XML::Writer and XML::Parser libraries
For Debian-like distros:apt-get install libxml-writer-perl libxml-parser-perl - Perl DBI library with MySQL driver
For Debian-like distros:apt-get install libdbi-perl libdbd-mysql-perl - Ruby XMPP4R library
For Debian-like distros:apt-get install libxmpp4r-ruby
For all (or if libxmpp4r-ruby is not available):gem install xmpp4r
Notes¶
- Orangutan accesses Redmine’s MySQL database directly. So Orangutan should either be installed on the same machine as Redmine or MySQL should listen to the network.
- Orangutan supports two modes - same logins (e.g. LDAP) and different logins. These modes are controlled by
redmine.same_loginconfiguration option. If it is equal to1you should use LDAP or configure Jabber server to use theusertable of the Redmine installation (please share the tutorial if you succeeded to do this). If it is equal to0the special field “Jabber ID” will be used to “link” logins. - To access Google Talk account you need to specify
jabber.componentconfiguration option. It needs to be set to the domain part of your username (e.g. “gmail.com”).
Installation¶
- Create a Jabber account for Orangutan.
- Create new system user for Orangutan (or better use
nobody). - Copy
sample.confto/etcand rename it toorangutan.conf.
Ensure that it is readable bynobodyuser. - Modify
/etc/orangutan.conf:- Put your Jabber ID into
adminsection (ascreatorand asmanager).
Thecreatoris admin and themanagercan be JID of your manager. - Put Orangutan's Jabber account data into
jabbersection. - Configure
dbsection - use the same credentials as you do for your Redmine installation. - Change
redmine.base_urlto the base URL of your Redmine installation.
- Put your Jabber ID into
- Copy
orangutanfile to/usr/bindirectory. - Create directory
/usr/share/orangutanand two subdirectories -contextsandmonkeys.
Ensure that both are readable by usernobody. - Copy the content of
Contextsdirectory to/usr/share/orangutan/contexts.
All these files should be readable by usernobody.- Change
contexts.directoryin/etc/orangutan.confto/usr/share/orangutan/contexts.
- Change
- Copy the content of
Monkeysdirectory to/usr/share/orangutan/monkeys.
All these files should be readable by usernobody.- Change
monkeys.directoryin/etc/orangutan.confto/usr/share/orangutan/monkeys.
- Change
- Create directory
/var/lib/orangutanand three subdirectories -data,logsandusers.
All these directories must be writable by usernobody.- Change
users.datato/var/lib/orangutan/data. - Change
users.directoryto/var/lib/orangutan/users. - Change
logs.directoryto/var/lib/orangutan/logs.
Note: you can createlogsdirectory somewhere in/var/logbut remember that these logs will contain users' personal data.
- Change
- Create
Orangutandirectory in/usr/lib/perl5. - Copy the content of
Orangutandirectory to/usr/lib/perl5/Orangutan.
Usernobodyshould be able to access these files. - Copy
Changelogfile to/usr/share/doc/orangutan.
Ensure that it is readable by usernobody.- Put full path to
Changelogfile into yourorangutan.confinorangutan.changelog.
- Put full path to
- Install Redmine plugin (
Redminedirectory).
See: http://www.redmine.org/projects/redmine/wiki/plugins- Copy
Redminedirectory to#{RAILS_ROOT}/vendor/pluginsand rename it toorangutan. - Run:
# rake db:migrate:plugins RAILS_ENV=production
- Create a Jabber account for Redmine.
- Copy
redmonkey.ymlinto#{RAILS_ROOT}/configdirectory and change it (put new Jabber account credentials there and setorangutanto JID of Orangutan (which was specified in/etc/orangutan.conf)). - Restart Redmine (usually it means restarting Apache).
- Copy
- Copy
Tools/orangutanfile to/etc/init.ddirectory.
Note: You need to modify this file if you are using different locations for/usr/bin/orangutan,/etc/orangutan.confand/or using different user id, group id. - Create
orangutandirectory in/var/run.
Ensure that this directory is writable by usernobody. - Add Orangutan to be started on boot up (under “root”):
# update-rc.d orangutan defaults 95
- Start orangutan:
# /etc/init.d/orangutan start
Note: You can use different locations for files but these ones are recommended.
Using¶
To start using Orangutan just add him to your contact list (roster).
Troubleshooting¶
- How to get logs on
STDOUT?
Run:$ orangutan -D
- Running in debugging mode
To solve issues with accessing Jabber server it can be useful to setjabber.debugto1. - Orangutan reports:
authorization failed: error ...
Reason:
There is a bug in Debian’s Authen::SASL::Cyrus (see #427162).
Solution:
Remove (if possible)libauthen-sasl-cyrus-perland install (if not installed)libdigest-hmac-perl.