welcome: please sign in

The following 376 words could not be found in the dictionary of 7 words (including 7 LocalSpellingWords) and are highlighted below:
account   actual   actually   adapter   add   adduser   after   aid   all   also   an   and   And   answer   anyuser   anyway   Apache   appearing   application   Apply   are   as   assumes   at   At   avoid   background   based   bashrc   be   been   before   begin   bin   binaryhelix   binaryhelixredmine   bit   bug   but   by   calendar   called   can   cannot   case   cat   Category   cd   change   changed   charts   chmod   code   command   Commands   config   configuration   configure   Configuring   container   content   contents   Contents   control   Coop   Create   create   created   Creating   creating   creation   current   daemon   data   Database   database   Databases   db   dbtool   deadlines   Default   default   detach   dev   directory   do   Document   document   Dom   dom   domain   domtool   done   download   end   environment   every   executable   export   Exposing   features   file   files   find   first   fixperms   follow   following   For   for   Foreword   forked   formed   from   frs   fs   fsr   gantt   gem   gem1   gemhome   gempath   gemrc   gems   get   given   group   gz   has   have   home   host   http   id   if   in   In   includes   indexes   information   initial   inside   install   Installation   installed   installing   instructions   integrated   is   issue   issuing   it   It   its   Kerberos   later   latest   launch   Launching   let   Let   lib   listening   little   ll   load   loaded   localhost   losing   ls   lvillani   make   Make   management   Manual   match   means   Member   migrate   mire   mkdir   more   multiple   must   My   my   mysql   name   need   Needs   needs   new   no   nohup   note   Now   null   Of   of   on   one   open   options   or   org   otherwise   our   outside   pagsh   particular   Pass   passwd   password   paths   people   php   place   Please   please   port   ports   prefix   Preparing   process   production   program   project   projects   prompt   provides   proxy   rails   rake   rb   rdoc   re   read   ready   redmine   Redmine   release   remember   replace   representation   request   required   retrieved   Retrieving   reverse   Reverse   ri   Rick   rl   root   Root   ruby   rubyforge   rubygems   run   Running   sa   safely   say   schema   script   See   see   server   servers   set   settings   setup   several   sh   shell   simplifies   Since   sit   skip   So   so   solution   solve   some   source   space   specifying   Start   started   startup   status   stopping   substitute   suit   summarize   support   supports   sure   switch   system   Table   take   tar   tell   tgz   that   That   The   the   their   them   Then   thing   this   This   those   through   thus   ticket   time   to   To   tool   Tool   tracking   unattended   Unattended   underscore   unpacked   unset   unused   update   Updating   us   use   username   using   var   variables   ve   Verify   version   vhost   viewed   visual   walkthrough   wasting   way   We   we   web   webapps   webrick   wget   what   What   When   where   which   will   wish   with   without   work   Work   world   would   write   writing   www   xf   yml   You   you   your   yours  

Clear message

MemberManual / WebApplications / Redmine

What is redmine?

Redmine is an open source, web-based project management and bug-tracking tool. It includes calendar and gantt charts to aid visual representation of projects and their deadlines. It supports multiple projects. Redmine is a FOSS solution which provides integrated project management features, issue tracking, and support for multiple version control options.

For more information: http://www.redmine.org



In this walkthrough you will see several 'variables', you'll have to substitute them to suit your needs. You can safely "export" them in your shell environment if you wish.

In particular:

Retrieving Redmine

At the time of writing, the latest release of Redmine is 0.8.6. Redmine can be retrieved from: http://rubyforge.org/frs/?group_id=1850 In particular we'll be using: http://rubyforge.org/frs/download.php/66633/redmine-0.8.6.tar.gz

So let's get it started:

lvillani@mire:~$ mkdir -p webapps/binaryhelix.org
lvillani@mire:~$ cd webapps/binaryhelix.org
lvillani@mire:~/webapps/binaryhelix.org$ wget http://rubyforge.org/frs/download.php/66633/redmine-0.8.6.tar.gz
lvillani@mire:~/webapps/binaryhelix.org$ tar xf redmine-0.8.6.tar.gz
lvillani@mire:~/webapps/binaryhelix.org$ ls
default/  redmine-0.8.6  redmine-0.8.6.tar.gz

Updating gems

Now we'll need to update some of the "gems" installed on HCoop servers. Please note that we'll be installing those gems inside your home directory thus wasting a little bit of space.

Start by creating the ~/.gemrc file with the following contents:

cat > .gemrc << EOF
gem: --no-ri --no-rdoc
gemhome: $HOME/.gem
 - $HOME/.gem
 - /var/lib/gems/1.8

Now add the following to your ~/.bashrc:

export RUBYLIB="$HOME/.gem/lib"
export PATH="$HOME/.gem/bin:$PATH"

Make sure that the new settings are loaded in your current shell:

lvillani@mire:~$ . ~/.bashrc

Now update rubygems:

lvillani@mire:~$ wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
lvillani@mire:~$ tar xf rubygems-1.3.5.tgz
lvillani@mire:~$ cd rubygems-1.3.5
lvillani@mire:~/rubygems-1.3.5$ ruby setup.rb --prefix=$HOME/.gem

Let's update rake and install the required version of rails:

lvillani@mire:~$ gem1.8 install rake
lvillani@mire:~$ gem1.8 install rails -v=2.1.2

Verify that you are actually using the latest rake:

lvillani@mire:~$ rake -V
rake, version 0.8.7


To do some initial setup database please follow instructions at: MemberManual/Databases#MySQL (RUN mysql-fixperms or schema creation will NOT work)

When you have created the database you are ready to configure redmine. The first thing we'll need to do is to tell redmine where to find our database. To do so we create a file called config/database.yml inside $REDMINEROOT with the following contents where:

  adapter: mysql
  database: DBNAME
  host: mysql
  username: USERNAME

Now we can create the database schema by issuing the following command from $REDMINEROOT:

lvillani@mire:~/webapps/binaryhelix.org/redmine-0.8.6$ RAILS_ENV=production rake db:migrate

Now install some default data in the db (you can skip this but it simplifies configuration):

lvillani@mire:~/webapps/binaryhelix.org/redmine-0.8.6$ RAILS_ENV=production rake redmine:load_default_data

Exposing Redmine to the world

Preparing the PAG

Since the rails application will run as an unattended program, we need a way to avoid losing the Kerberos ticket given to us otherwise, after some time, redmine will answer with a 500 status code at every request (that is: it cannot read/write its files.)

To solve this you have to follow instructions at MemberManual/RunningUnattendedCommands.

Let's summarize what we need to do anyway, remember to replace my username and paths with yours.

lvillani@mire:~$ mkdir ~/.run
lvillani@mire:~$ fs sa ~/.run system:anyuser rl
lvillani@mire:~$ fs sa ~/.run lvillani.daemon write
lvillani@mire:~$ fsr sa ~/.gem lvillani.daemon read
lvillani@mire:~$ fsr sa ~/.gemrc lvillani.daemon read
lvillani@mire:~$ fsr sa ~/webapps/binaryhelix.org/redmine-0.8.6 lvillani.daemon all

Creating the script

We'll also need a startup script. Start by creating a directory in your home:

lvillani@mire:~$ mkdir ~/bin

Then create a script called, let's say binaryhelix-redmine.sh with the following contents:

 export RUBYLIB=$HOME/.gem/lib
 cd $HOME/webapps/binaryhelix.org/redmine-0.8.6
 ./script/server webrick -e production

Then make it executable:

lvillani@mire:~$ chmod +x ~/bin/binaryhelix-redmine.sh

Launching WEBRick

We must first launch WEBRick, which is a rails application container, to do so we use the run-in-pagsh command. We launch it through nohup, this way we can detach our shell without stopping webrick.

lvillani@mire:~$ nohup run-in-pagsh binaryhelixredmine ~/bin/binaryhelix-redmine.sh 2>&1 > /dev/null &
[1] 22151

See that [1] 22151? It means that our process has been forked to the background with PID 22151.

That is, WEBRick will sit on port 3000. Make sure to take an unused port, you can change it with the -p switch (from inside the script we've created before).

Configuring reverse proxy with DomTool

To make sure that redmine can be viewed from people outside HCoop without specifying the listening port of WEBRick we must configure Apache to be a proxy for redmine. This can be done by using DomTool. Create a configuration file for your domain: in this case ~/.domtool/binaryhelix.org with the following content:

Make sure to match the ports or it would NOT work

dom "binaryhelix.org" where
  DocumentRoot = home "webapps/binaryhelix.org/default";
  WWW = begin
    unset_options [indexes];
    proxyPass "/" "http://localhost:3000/";
    proxyPassReverse "/" "http://localhost:3000/";
  vhostDefault with
    proxyPass "/" "http://localhost:3000/";
    proxyPassReverse "/" "http://localhost:3000/";

Apply the configuration with:

lvillani@mire:~$ domtool ~/.domtool/binaryhelix.org

And you're done!

CategoryMemberManual CategoryNeedsWork

MemberManual/WebApplications/Redmine (last edited 2018-10-20 18:22:32 by ClintonEbadi)