Redmine

From Alpine Linux
Revision as of 18:58, 12 February 2011 by Jbilyk (talk | contribs) (Added lighttpd config and needed rubygems)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Note: We need to install using the edge repositories.

Change to the edge repository:

mv /etc/apk/repositories /etc/apk/repositories.old
echo -e "http://dl-3.alpinelinux.org/alpine/edge/main/" >> /etc/apk/repositories 

Update and upgrade

apk -U upgrade

Install services

Basic Installation

For installing the additional packages first activate community packages and update the package index

Install the required packages:

# apk add lighttpd php82 fcgi php82-cgi

Configure Lighttpd

Edit lighttpd.conf (/etc/lighttpd/lighttpd.conf) and uncomment the line:

Contents of /etc/lighttpd/lighttpd.conf

... include "mod_fastcgi.conf" ...

Edit mod_fastcgi.conf (/etc/lighttpd/mod_fastcgi.conf), find and change /usr/bin/php-cgi to /usr/bin/php-cgi82.

Contents of /etc/lighttpd/mod_fastcgi.conf

... "bin-path" => "/usr/bin/php-cgi82" # php-cgi ...

Start lighttpd service and add it to default runlevel

# rc-service lighttpd start # rc-update add lighttpd default

Install extra packages:

apk add fcgi mysql mysql-dev rubygems

Install the following rubygems (gem install <gemname>). Note: newer versions of the gems may work, but these have been confirmed working in Alpine 2.1.2:

actionmailer (2.3.3)
actionpack (2.3.3)
activerecord (2.3.3)
activeresource (2.3.3)
activesupport (2.3.3)
edavis10-object_daddy (0.4.3)
fcgi (0.8.8)
mocha (0.9.10)
mysql (2.8.1)
rack (1.0.1)
rails (2.3.3)
rake (0.8.7)
shoulda (2.10.3)
sqlite3 (1.3.3)
sqlite3-ruby (1.3.3)

Configure MySql

/usr/bin/mysql_install_db --user=mysql
/etc/init.d/mysql start && rc-update add mysql default
/usr/bin/mysqladmin -u root password 'password'

Create the redmine database

mysql -u root -p
create database redmine character set utf8;
grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'Secur3P@ass';
flush privileges;
exit

Create redmine folder

mkdir -p /usr/share/webapps/redmine

Download, unpack and move Redmine

cd /tmp/
wget http://rubyforge.org/frs/download.php/73140/redmine-1.0.3.tar.gz
tar zxvf redmine-1.0.3.tar.gz
mv redmine-1.0.3/* /usr/share/webapps/redmine/

Change permissions

chown -R lighttpd:lighttpd /usr/share/webapps/redmine

Edit the database config file and put the mysql password

cp /usr/share/webapps/redmine/config/database.yml.example /usr/share/webapps/redmine/config/database.yml
nano /usr/share/webapps/redmine/config/database.yml 

Some more steps

cd /usr/share/webapps/redmine
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data 

Note: keep default language of en

Start the Redmine testing webserver

ruby /usr/share/webapps/redmine/script/server webrick -e production

Now you can browse to localhost:3000 an log using admin user and admin password.

Setup lighttpd by editing lighttpd.conf:

$HTTP["url"] =~ "^/redmine/" {
 alias.url = ("/redmine" => "/usr/share/webapps/redmine/public")
 server.document-root = "/usr/share/redmine/public/"
 server.error-handler-404 = "/redmine/dispatch.fcgi"
 index-file.names         = ("dispatch.fcgi")
 # Change *-procs to 2 if you need to use Upload Progress or other tasks that
 # *need* to execute a second request while the first is still pending.
 fastcgi.server           += (
       ".fcgi" => (
               "localhost" => (
                       "min-procs"       => 1,
                       "max-procs"       => 2,
                       "check-local"    => "disable",
                       "socket"          => "/var/run/redmine/fcgi.socket",
                       "bin-path"        => "/usr/bin/ruby /usr/share/webapps/redmine/public/dispatch.fcgi",
                       "bin-environment" => (
                               "RAILS_ENV"               => "test"
                       )
               )
       )
 )
}