1. 程式人生 > >在滴滴雲主機DC2中採用 CentOS 6.9 部署 Redmine 3.3

在滴滴雲主機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 安裝在價效比較高的

滴滴雲主機 DC2上。

點選進入滴滴雲官網 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 上即可。