在Microsoft Azure中,手動安裝Redmine for Ubuntu Linux

在Microsoft Azure中,半自動安裝Redmine for Ubuntu Linux這篇文章說,說明了如何用apt來安裝redmine。

然而如果你有使用新版Redmine與升級Redmine的需求,建議使用手動的方式來安裝redmine,即本文要說明的方式。

如果Redmine架設完成後想跟Git整合,可以參考 在Ubuntu上Redmine與Git + Grack整合

先進行apt source的更新。

sudo apt-get update

安裝apache2與passenger相關的apache元件。安裝subversion,之後要用來下載redmine官方上的程式。

sudo apt-get install apache2 libapache2-mod-passenger subversion

安裝mysql資料庫,過程中需設定mysql root的密碼。

sudo apt-get install mysql-server mysql-client

安裝redmine會使用到的元件。

sudo apt-get install ruby-dev imagemagick libmagickcore-dev libmagickwand-dev libmysqlclient-dev build-essential

於家目錄中,下載redmine官方的程式。

cd ~
mkdir redmineSVN
cd redmineSVN
sudo svn co http://svn.redmine.org/redmine/branches/2.5-stable redmine2.5

建立plugin資料夾與連結redmine到apache2。

sudo mkdir ~/redmineSVN/redmine2.5/public/plugin_assets
sudo ln -s ~/redmineSVN/redmine2.5/public /var/www/redmine

建立redmine的設定檔

cd ~/redmineSVN/redmine2.5/
sudo cp config/configuration.yml.example config/configuration.yml
sudo cp config/database.yml.example config/database.yml

登入mysql資料庫(需輸入root的密碼)

mysql -uroot -p

建立redmine要使用的user與database。
注意:請記得把密碼改成你想要的。

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
EXIT;

編輯redmine資料庫設定檔

sudo vi ~/redmineSVN/redmine2.5/config/database.yml

修改後結果如下:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: “my_password
encoding: utf8

安裝bundler與相關套件

sudo gem install bundler
sudo bundle install --without development test

redmine初始化設定

sudo bundle exec rake generate_secret_token
sudo RAILS_ENV=production bundle exec rake db:migrate
sudo RAILS_ENV=production bundle exec rake redmine:load_default_data

啟用rewrite與passenger模組

sudo a2enmod rewrite passenger

編輯/etc/apache2/mods-enabled/passenger.conf檔案

sudo vi /etc/apache2/mods-enabled/passenger.conf

把PassengerDefaultUser www-data加入到/etc/apache2/mods-enabled/passenger.conf中。
加入後,最終的結果如下

<IfModule mod_passenger.c>
  PassengerDefaultUser www-data
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/ruby
</IfModule>

把預設的site設定檔關掉,建立一個新的redmine site設定檔

sudo a2dissite 000-default
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/redmine.conf

編輯redmine site的設定檔

sudo vi /etc/apache2/sites-available/redmine.conf

找到
DocumentRoot /var/www/html
修改為
DocumentRoot /var/www

並增加

<Directory /var/www/redmine>
            RailsBaseURI /redmine
            PassengerResolveSymlinksInDocumentRoot on
</Directory>

啟用redmine site設定檔

sudo a2ensite redmine

修正redmine的目錄檔案權限

sudo chown -R www-data ~/redmineSVN/redmine2.5
sudo chgrp -R www-data ~/redmineSVN/redmine2.5

重新啟動apache2

sudo service apache2 restart

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *