Redmine 是一套利用Ruby開發的issue tracking system
Step 1.準備工作
安裝Apache及MySQL
1 | apt-get apache2-mpm-worker mysql-server |
安裝必要套件
4 | apt-get install libmagickwand-dev libmysqlclient-dev libapache2-mod-fastcgi |
Step 2.安裝Ruby 1.9
Redmine在Ruby 1.8會遇到一些問題,因此需要將Ruby版本升成1.9
因為系統預設都是1.8,所以要透過RVM來切換版本
RVM(Ruby Version Manager)是一套可以同時安裝不同版本Ruby的工具
安裝RVM
安裝Ruby 1.9
Step 3.安裝Redmine 2.4
到官網下載原始檔並解壓縮
2 | tar -zxvf redmine-2.4.2. tar .gz |
(注意:接下來的動作皆在redmine專案根目錄)
建立資料庫(請自行進入MySQL command line)
2 | CREATE DATABASE redmine CHARACTER SET utf8; |
4 | CREATE USER 'redmine' @ 'localhost' IDENTIFIED BY 'redmine' ; |
6 | GRANT ALL PRIVILEGES ON redmine.* TO 'redmine' @ 'localhost' ; |
複製redmine資料庫設定檔
1 | cp config/database.yml.example config/database.yml |
修改config/database.yml(注意 ruby1.9 adapter要用mysql2)
安裝bundler,並透過bundler安裝相關套件
3 | bundle install --without development test |
在這邊如果安裝失敗,會有提示訊息,可以google看是否有哪些套件沒裝(例如沒裝libmysqlclient-dev,mysql2會安裝失敗)
初始化
2 | rake generate_secret_token |
5 | RAILS_ENV=production rake db:migrate |
8 | RAILS_ENV=production rake redmine:load_default_data |
建立上傳檔案及外掛套件資料夾權限
1 | mkdir -p tmp tmp/pdf public/plugin_assets |
2 | sudo chown -R www-data:www-data files log tmp public/plugin_assets |
3 | sudo chmod -R 755 files log tmp public/plugin_assets |
複製.htaccess 及 dispatch 建立網站進入點
1 | cp public/htaccess.fcgi.example public/.htaccess |
2 | cp public/dispatch.fcgi.example public/dispatch.fcgi |
設定寄信的信箱(透過gmail寄信)
1 | cp config/configuration.yml.example config/configuration.yml |
config/configuration.yml
4 | address: smtp.gmail.com |
8 | user_name: "xxxx@gmail.com" |
Step 4.安裝 Passenger
注意:這邊不要安裝系統預設的libapache2-mod-passenger,因為會安裝到相容於預設1.8的版本而且會順便安裝ruby1.8...
透過gem安裝
1 | gem install passenger --no-rdoc --no-ri |
3 | passenger- install -apache2-module |
手動新增設定檔
在 /etc/apache2/mods-available 新增兩個檔案:passenger.conf 與 passenger.load
passenger.conf
2 | <IfModule mod_passenger.c> |
3 | PassengerRoot /usr/ local /rvm/gems/ruby-1.9.3-p484/gems/passenger-4.0.29 |
4 | PassengerDefaultRuby /usr/ local /rvm/wrappers/ruby-1.9.3-p484/ruby |
passenger.load
1 | LoadModule passenger_module /usr/ local /rvm/gems/ruby-1.9.3-p484/gems/passenger-4.0.29/buildout/apache2/mod_passenger.so |
手動啟動module
1 | cd /etc/apache2/mods-enabled |
2 | ln -s /etc/apache2/mods-available/passenger.conf |
3 | ln -s /etc/apache2/mods-available/passenger.load |
Step 5.Apache設定
Virtual設定
2 | DocumentRoot /var/www/redmine/public |
3 | ServerName redmine.johnsonlu.org |
4 | CustomLog /var/log/apache2/redmine-access.log combined |
5 | ErrorLog /var/log/apache2/redmine_error |
7 | RailsBaseURI /var/www/redmine |
8 | <Directory "/var/www/redmine/public" > |
9 | Options Indexes ExecCGI FollowSymLinks |
重啟apache
小提醒:如果redmine一直吐500並顯示Application Error,可能是同時裝到1.8 1.9造成衝突,只要把1.8系列套件全砍了就好了