什么是Redmine
Redmine是用Ruby On Rails開發(fā)的一款基于WEB的項目管理軟件。
它集成了項目管理所需的各項功能:日歷、甘特圖、問題跟蹤和版本控制,可以同時處理多個項目。
相比禪道等軟件,Redmine的安裝還是比較繁瑣的,一方面是因為它沒有一個自動化的安裝腳本,另一方面主要是個人對于Ruby初次接觸,需要花一些時間在Ruby的學習上。
本文僅討論Redmine的部署方式,關(guān)于Redmine使用今后會單獨寫一篇博文來講解。
相關(guān)資源
主機環(huán)境
RedHat/CentOS 6.X
代理服務器配置
如果主機處于內(nèi)網(wǎng)環(huán)境中,無法直連Internet時,需要首先配置可用的網(wǎng)絡(luò)環(huán)境,最簡單的方式是使用代理服務器。
關(guān)于代理服務器的搭建不再贅述了,可以使用srelay
+polipo
這樣的組合,詳細步驟請參考之前的一篇文章《內(nèi)網(wǎng)主機Python3環(huán)境搭建》。
代理服務器配置好之后,我們導入兩條環(huán)境變量即可。
export http_proxy="http://xxx.xxx.xxx.xxx:31081"
export https_proxy="http://xxx.xxx.xxx.xxx:31081"
這時wget、curl、yum等已經(jīng)可以正常使用了。
安裝依賴
首先使用yum安裝一些基本依賴,以下只是一些參考,可以在具體編譯時缺什么補什么。
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
這里為了省事,使用最簡單的yum的方式,直接在本機安裝一套MySQL。yumd源中的MySQL版本比較老舊,是5.1.73。如果時間充裕的話,建議使用源碼或二進制方式進行安裝。
yum -y install mysql mysql-server
將MySQL設(shè)置為開機自啟,并手工啟動服務:
chkconfig mysqld on
service mysqld start
初次運行,進行密碼等安全性
/usr/bin/mysql_secure_installation
Disallow root login remotely
這一項可以選NO
Enter current password for root (enter for none):
Set root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
新建MySQL數(shù)據(jù)庫及用戶
直接在本機登錄mysql,新建一個數(shù)據(jù)庫及用戶
mysql -uroot -p
> create database redmine_db character set utf8;
> create user 'redmine_admin'@'localhost' identified by 'your_new_password';
> grant all privileges on redmine_db.* to 'redmine_admin'@'localhost';
關(guān)閉SELinux
vi /etc/selinux/config
SELINUX=disabled
/usr/sbin/setenforce 0 立刻關(guān)閉
配置iptables
配置iptables防火墻,將3000端口打開
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
重啟iptables:
/etc/init.d/iptables restart
安裝Ruby
使用RVM進行Ruby的安裝。RVM是一個命令行工具,可以提供一個便捷的多版本Ruby環(huán)境的管理和切換。
curl -L https://get.rvm.io | bash
source /etc/profile.d/rvm.sh
列出已知的Ruby版本:
rvm list known
這里我們選擇安裝2.3.0:
rvm install 2.3.0
等待編譯安裝完成之后,可以查看一下版本號,確認安裝成功:
ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
安裝Rubygems
RubyGems簡稱gems,是一個用于對Ruby組件進行打包的Ruby打包系統(tǒng)。
yum -y install rubygems
下載Redmine
我們新建一個redmine用戶來進行接下來的操作。首先是從官網(wǎng)下載redmine的安裝包并解壓:
wget http://www.redmine.org/releases/redmine-3.3.2.tar.gz
tar -zxvf redmine-3.3.2.tar.gz
mv redmine-3.3.2 redmine
配置數(shù)據(jù)庫連接
從示例中復制一份database.yml出來:
cd /path/to/redmine/config
cp database.yml.example database.yml
編輯database.yml,填寫剛才新建的數(shù)據(jù)庫的各項參數(shù):
vi database.yml
production:
adapter: mysql2
database: redmine_db
host: localhost
username: redmine_admin
password: "redmine_password"
encoding: utf8
使用Bundle設(shè)置Rails
使用Bundle安裝依賴的庫
gem install bundler
bundle install
rake generate_secret_token
初始化數(shù)據(jù)庫表及數(shù)據(jù)
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
設(shè)置文件系統(tǒng)權(quán)限
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R redmine:redmine files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
運行
bundle exec rails server -b 0.0.0.0 webrick -e production -d