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_login
configuration option. If it is equal to1
you should use LDAP or configure Jabber server to use theuser
table of the Redmine installation (please share the tutorial if you succeeded to do this). If it is equal to0
the special field “Jabber ID” will be used to “link” logins. - To access Google Talk account you need to specify
jabber.component
configuration 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.conf
to/etc
and rename it toorangutan.conf
.
Ensure that it is readable bynobody
user. - Modify
/etc/orangutan.conf
:- Put your Jabber ID into
admin
section (ascreator
and asmanager
).
Thecreator
is admin and themanager
can be JID of your manager. - Put Orangutan's Jabber account data into
jabber
section. - Configure
db
section - use the same credentials as you do for your Redmine installation. - Change
redmine.base_url
to the base URL of your Redmine installation.
- Put your Jabber ID into
- Copy
orangutan
file to/usr/bin
directory. - Create directory
/usr/share/orangutan
and two subdirectories -contexts
andmonkeys
.
Ensure that both are readable by usernobody
. - Copy the content of
Contexts
directory to/usr/share/orangutan/contexts
.
All these files should be readable by usernobody
.- Change
contexts.directory
in/etc/orangutan.conf
to/usr/share/orangutan/contexts
.
- Change
- Copy the content of
Monkeys
directory to/usr/share/orangutan/monkeys
.
All these files should be readable by usernobody
.- Change
monkeys.directory
in/etc/orangutan.conf
to/usr/share/orangutan/monkeys
.
- Change
- Create directory
/var/lib/orangutan
and three subdirectories -data
,logs
andusers
.
All these directories must be writable by usernobody
.- Change
users.data
to/var/lib/orangutan/data
. - Change
users.directory
to/var/lib/orangutan/users
. - Change
logs.directory
to/var/lib/orangutan/logs
.
Note: you can createlogs
directory somewhere in/var/log
but remember that these logs will contain users' personal data.
- Change
- Create
Orangutan
directory in/usr/lib/perl5
. - Copy the content of
Orangutan
directory to/usr/lib/perl5/Orangutan
.
Usernobody
should be able to access these files. - Copy
Changelog
file to/usr/share/doc/orangutan
.
Ensure that it is readable by usernobody
.- Put full path to
Changelog
file into yourorangutan.conf
inorangutan.changelog
.
- Put full path to
- Install Redmine plugin (
Redmine
directory).
See: http://www.redmine.org/projects/redmine/wiki/plugins- Copy
Redmine
directory to#{RAILS_ROOT}/vendor/plugins
and rename it toorangutan
. - Run:
# rake db:migrate:plugins RAILS_ENV=production
- Create a Jabber account for Redmine.
- Copy
redmonkey.yml
into#{RAILS_ROOT}/config
directory and change it (put new Jabber account credentials there and setorangutan
to JID of Orangutan (which was specified in/etc/orangutan.conf
)). - Restart Redmine (usually it means restarting Apache).
- Copy
- Copy
Tools/orangutan
file to/etc/init.d
directory.
Note: You need to modify this file if you are using different locations for/usr/bin/orangutan
,/etc/orangutan.conf
and/or using different user id, group id. - Create
orangutan
directory 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.debug
to1
. - 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-perl
and install (if not installed)libdigest-hmac-perl
.