OK I spent 6 hours figuring out this.
Now it looks like my Remine 1.0.1 is working fine.
There were a couple Hiccup due to old documentations.
For those of who want to install Redmine, especially on Media Temple (dv) 3.5 server…
1. Installing YUM
I thought I could just follow…
http://kb.mediatemple.net/questions/1564/Installing+YUM+on+a+%28dv%29+Dedicated-Virtual+3.5+Server
However, when I tried to run YUM, I get the following message.
Error Message
There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: /usr/lib/python2.4/site-packages/rpm/_rpmmodule.so: undefined symbol: rpmdbCheckTerminate Please install a package which provides this module, or verify that the module is installed correctly
This is because of incompatibility of rpm-python. You have two options. Whether to downgrade rpm-python, or upgrade the depending packages to rpm-phthon.
I chose easier one… but it took me a while to find the old rpm-python… probably there may be security stuff you may be aware of…
But I found the old package from the US Department of Energy site :p
wget http://linux1.fnal.gov/linux/slf52/i386/SL/rpm-python-4.4.2-48.el5.i386.rpm rpm -Uvh rpm-python-4.4.2-48.el5.i386.rpm --replacefiles --replacepkgs --oldpackage
So my YUM works fine now.
I could continue to uninstall SiteBuilder.
2. Ruby + Ruby Gem + Passenger Installation
Found this on the Internet
http://carrotplant.com/en/blog/installing-redmine-on-a-media-temple-dv-server
So, I also decided to go with Ruby + RubyGem + Passenger Gem
I also followed the following guide…
http://kb.mediatemple.net/questions/279/Ruby+on+Rails+using+Mongrel+Clusters
But I did with Ruby.1.8.7
yum remove ruby wget ftp://ftp.ruby-lang.org:21/pub/ruby/1.8/ruby-1.8.7.tar.gz tar xzvf ruby-1.8.7.tar.gz && cd ruby-1.8.7 ./configure && make && make install source /etc/profile;ruby -v
And go ahead with RubyGem 1.3.7
echo 'export PATH=/usr/local/bin:$PATH' > /etc/profile.d/ruby.sh; source /etc/profile wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz tar -xzvf rubygems-1.3.7.tgz cd rubygems-1.3.7 export GEM_HOME=/usr/local/rubygems/gems; mkdir -p $GEM_HOME ruby setup.rb all --prefix=/usr/local/rubygems
Create profile
vi /etc/profile.d/rubygems.sh
And insert the following config
export GEM_HOME=/usr/local/rubygems/gems export GEM_PATH=/usr/local/rubygems/gems export RUBYLIB=/usr/local/rubygems/lib export PATH=/usr/local/rubygems/gems/bin:/usr/local/rubygems/bin:$PATH
Refresh source
source /etc/profile
And then I installed passenger to make my life easier.
gem install passenger assenger-install-apache2-module
Towards the end of the installation it tells you to add config and vhost.conf.
I will save vhost for later… but
vi /etc/httpd/conf.d/passenger.conf
and enter the following config
LoadModule passenger_module /usr/local/rubygems/gems/gems/passenger-2.2.15/ext/apache2/mod_passenger.so PassengerRoot /usr/local/rubygems/gems/gems/passenger-2.2.15 PassengerRuby /usr/local/bin/ruby PassengerUserSwitching off PassengerDefaultUser apache
The number may change depends on the passenger version.
I installed my Redmine on my subdomain.. so
vi /var/www/vhosts/XXXXX.com/subdomains/XXXXX/conf/vhost.conf
* You have to change your “XXXXX”to yours.
I installed Remine on
/var/www/vhosts/XXXXX.com/subdomains/XXXXX/redmine/
* You have to change your “XXXXX”to yours.
So my vhosts.conf looked like
DocumentRoot /var/www/vhosts/XXXXX.com/subdomains/XXXXX/redmine/public PassengerAppRoot /var/www/vhosts/XXXXX.com/subdomains/XXXXX/redmine <Directory "/var/www/vhosts/deerstudio.com/subdomains/projects/redmine"> Allow from all Options -MultiViews </Directory> RailsBaseURI /
- You have to change your “XXXXX”to yours.
- The difference is I had to add PassengerAppRoot and point DocumentRoot to public folder.
3. Ruby + Ruby Gem + Passenger Modification
Readmine 1.0.1 has heavy dependency to ruby libraries… I couldn’t go to Users page for some reason… later I found out that “i8n” library was “too new” for redmine 1.0.1
http://www.redmine.org/boards/2/topics/16568
So I had to run the following commands to fix the versions of various libraries
gem uninstall i18n -v=0.4.1 gem uninstall actionpack -v=3.0.0 gem uninstall rails -v=3.0.0 gem uninstall activesource -v=3.0.0 gem uninstall rack -v=1.2.1 gem install rack -v=1.0.1 gem install mysql gem install i18n -v=0.3.7
When you uninstall above package, it asks you if you are sure to uninstall because of dependency… no worry… you are re-installing the old version towards the end of the commands.
Here is my gem list
abstract (1.0.0) actionmailer (2.3.5) actionpack (2.3.5) activemodel (3.0.0) activerecord (2.3.5) activeresource (2.3.5) activesupport (2.3.5) arel (1.0.1) builder (2.1.2) bundler (1.0.0) erubis (2.6.6) fastthread (1.0.7) i18n (0.3.7) mail (2.2.6.1) mime-types (1.16) mysql (2.8.1) passenger (2.2.15) polyglot (0.3.1) rack (1.0.1) rack-mount (0.6.13) rack-test (0.5.5) rails (2.3.5) railties (3.0.0) rake (0.8.7) thor (0.14.2) treetop (1.4.8) tzinfo (0.3.23)
*You don’t need “Activemodel” and some of the libraries for sure… but hey.. all I care is if Redmine works or now.. :p
Now restart httpd to take the effects of all changes
First, make sure all the config syntax is ok.
/etc/init.d/httpd configtest
and then
/etc/init.d/httpd restart
That’s it
.
4. Installing Redmine
Finally installing Redmine by reading this (must be MediaTemple customer to read)
https://forums.mediatemple.net/viewtopic.php?id=4991
You need Redmine
http://rubyforge.org/frs/?group_id=1850&release_id=44434
I will write based on 1.0.1
And the ALL of following commands were executed from Redmine installed directory.
Create your mysql database and email address
cd /var/www/vhost/XXXXX.com/subdomain/XXXXX/ wget http://rubyforge.org/frs/download.php/72201/redmine-1.0.1.tar.gz tar xvfz redmine-1.0.1.tar.gz rm redmine-1.0.1.tar.gz mv redmine-1.1.1 redmine chmod -R apache:apache redmine cd redmine
I created “redmine” directory directly underneath of “XXXXX subdomain” directory.
Now setting up MySQL
cp config/database.yml.example config/database.yml vi config/database.yml
Assign all production, development and test to the previously created MySQL db, user and password. And delete [posgre] and [sqlite] section
My database.yml looks liks…
production: adapter: mysql database: NAME-OF-DATABSE host: localhost username: MYSQL-USERNAME password: MYSQL-PASSWORD encoding: utf8 development: adapter: mysql database: NAME-OF-DATABSE host: localhost username: MYSQL-USERNAME password: MYSQL-PASSWORD encoding: utf8 # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: adapter: mysql database: NAME-OF-DATABSE host: localhost username: NAME-OF-DATABSE password: MYSQL-PASSWORD encoding: utf8
Of course, you change NAME-OF-DATABSE, NAME-OF-DATABSE & MYSQL-PASSWORD to your own MySQL
And then, setting up SMTP server
cp config/email.yml.example config/email.yml
This is my setting
production: delivery_method: :smtp smtp_settings: address: localhost port: 25 authentication: :plain domain: XXXXX.com user_name: "EMAIL ADDRESS" password: "PASSWORD" development: delivery_method: :smtp smtp_settings: address: localhost port: 25 authentication: :plain domain: XXXXX.com user_name: "EMAIL ADDRESS" password: "PASSWORD"
And of course, you have to change “XXXXX.com”, “EMAIL ADDRESS” and “PASSWORD” to working email address account.
And then… add ImageMagic parameter just in case…
vi config/environment.rb
By adding the following two lines on top
# Bypass imagemagick version check RMAGICK_BYPASS_VERSION_TEST = true
Create session file
RAILS_ENV=production rake generate_session_store
Import database
RAILS_ENV=production rake db:migrate
And load the default data
RAILS_ENV=production rake redmine:load_default_data
Enter “en” if you want English to be default.
That’s it…
You should be able to have redmine working now.