在滴滴雲主機DC2中採用 CentOS 6.9 部署 Redmine 3.3
什麼是 Redmine
先介紹下今天的主角 Redmine:
Redmine 是一套基於 Ruby,提供靈活專案管理的 Web 應用程式。它支援多專案管理,支援基於角色的訪問控制,甘特圖、日曆、新聞、文件以及檔案。並支援專案級別的 wiki、論壇、SCM 等內容。
從 Redmine 官網可瞭解到,現在擁有的版本如下:
Redmine version | Supported Ruby versions | Rails version used |
---|---|---|
4.0 (upcoming) | ruby 2.2 (2.2.2 and later), 2.3, 2.41, 2.5 | Rails 5.2 |
3.4 | ruby 1.9.34, 2.0.03, 2.1, 2.22, 2.3, 2.41 | Rails 4.2 |
3.3 | ruby 1.9.34, 2.0.03, 2.1, 2.22, 2.3 | Rails 4.2 |
目前,官方穩定版本是 3.x,本次安裝基於當前穩定版本 3.3 進行。
下載地址:http://www.redmine.org/projects/redmine/wiki/Download
準備需要的雲主機
由於 Redmine 對 MacOS,Linux,Windows 等各種系統支援較好,可以在任何系統中進行安裝。由於 CentOS6.9 在生產環境中應用較為廣泛,本文件將 Redmine 3.3 安裝在價效比較高的
點選進入滴滴雲官網 www.didiyun.com;
註冊賬戶並進行實名認證(由於國內各家雲廠商均需要實名認證後的伺服器才可對外提供服務,所以想要在生產環境中使用 Redmine,請務必完成認證);
點選新建主機,並選擇 CentOS6.9 作業系統;
建立完成後,點選雲主機卡片中的“連線主機”,連線到主機的作業系統中,或可通過 PuTTY 等其他方式進行登入。
至此,我們所需要的基本作業系統已經安裝完成,下一步開始進行 Redmine 的安裝。
部署 Redmine
安裝環境準備
由於 Redmine 基於 Ruby 執行,首先我們需要準備程式的安裝環境以及所需要的 Web 服務與資料庫服務。Redmine 支援多種 Web 服務與資料庫服務,本文中以 Apache 與 MySQL 為例進行安裝,以下命令均需要在雲主機中執行,使用 root 使用者,操作流程如下:
- 安裝 rpm 額外擴充套件源
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
- 安裝所需要的 rpm 包
yum -y install nano zip unzip libyaml-devel zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel gcc ruby-devel gcc-c++ make postgresql-devel ImageMagick-devel sqlite-devel perl-LDAP mod_perl perl-Digest-SHA mysql-devel mod_fcgid rubygems
- 更新所有軟體包
yum update -y
- 安裝 Apache 與 MySQL
yum -y install httpd mysql mysql-server
- 設定 Apache 與 MySQL 在開機自動啟動
chkconfig httpd on
chkconfig mysqld on
service httpd start
service mysqld start
- 安裝 rvm
curl -L https://get.rvm.io | bash
source /etc/profile.d/rvm.sh
- 安裝 ruby
rvm install 1.9.3
yum -y install rubygems
rvm list
- 安裝 gem
yum -y install rubygems
- 修改 ruby 軟體源
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
- 下載 Redmine 應用程式
cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.3-stable redmine-3.3
/var/www/redmine-3.3 即為我們的應用程式目錄
準備資料庫
- 啟動 MySQL 資料庫
service mysqld start
- 登陸並建立 Redmine 使用者及 Redmine 資料庫
myslq
mysql> create database redmine character set utf8;
mysql> create user 'redmine'@'localhost' identified by 'redmine';
mysql> grant all on redmine.* to 'redmine'@'localhost';
flush privileges;
註釋:這裡 Redmine 使用者的密碼即為 redmine,可根據需求使用其他密碼。
配置 Redmine
- 修改 Redmine 資料庫配置檔案
cd /var/www/redmine-3.3/config
cp database.yml.example database.yml
nano database.yml
修改 database.yml 中 production 標籤下的配置,內容如下
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "redmine"
encoding: utf8
- 依賴關係安裝
cd /var/www/redmine-3.3
gem install bundler
bundle install
- 安裝 passenger
gem install passenger
passenger-install-apache2-module
執行 passenger 編譯時,各個步驟直接採用預設即可
- 將如下內容新增到 /etc/httpd/conf.d/passenger.conf 中
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p551/gems/passenger-5.1.2/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p551/gems/passenger-5.1.2
PassengerDefaultRuby /usr/local/rvm/gems/ruby-1.9.3-p551/wrappers/ruby
</IfModule>
- 由於本文采用 Apache 的虛擬主機方式訪問服務,需要進行如下配置修改 :
修改 /etc/httpd/conf/httpd.conf ;
nano httpd.conf
找到 #NameVirtualHost *:80 這一行,並去掉 # .
- 新增 Redmine 配置
<VirtualHost *:80>
ServerAdmin admin
DocumentRoot /var/www/redmine-3.3/public/
ServerName redmine.demo.com
ErrorLog logs/redmine_error_lg
<Directory "/var/www/redmine-3.3/public/">
Options Indexes ExecCGI FollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
</Directory>
</VirtualHost>
- 生成 session 儲存祕鑰
cd /var/www/redmine-3.3/
rake generate_secret_token
- 修改 Redmine 通知郵箱
cp /var/www/redmine-3.3/config/configuration.yml.example /var/www/redmine-3.3/config/configuration.yml
- 建立資料庫 schema
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
- 修改檔案系統許可權
chown apache.apache -R /var/www/redmine-3.3
- 修改配置採用 fcgi
cd /var/www/redmine-3.3/public
mkdir plugin_assets
cp dispatch.fcgi.example dispatch.fcgi
cp htaccess.fcgt.example .htaccess
- 重新啟動 Apache 以便更新配置生效
service httpd restart
至此,Redmine 已安裝完成。可在本地配置 hosts,快來訪問redmine.demo.com 來體驗一下你的專案管理平臺吧。
如果投入生產環境後,需要配置 Apache 中的域名,將自己的域名解析到滴滴雲主機 DC2 的公網 IP 上即可。