Redmine
Redmine是用Ruby開發的基於web的項目管理軟件,是用ROR框架開發的一套跨平臺項目管理系統,據說是源於Basecamp的ror版而來,支持多種數據庫,有不少自己獨特的功能,例如提供wiki、新聞臺等,還可以集成其他版本管理系統和BUG跟蹤系統,例如Perforce、SVN、CVS、TD等等。這種 Web 形式的項目管理系統通過“項目(Project)”的形式把成員、任務(問題)、文檔、討論以及各種形式的資源組織在一起,大家參與更新任務、文檔等內容來推動項目的進度,同時系統利用時間線索和各種動態的報表形式來自動給成員彙報項目進度
功能
- 多項目和子項目支持
- 里程碑版本跟蹤
- 可配置的用戶角色控制
- 可配置的問題追蹤系統
- 自動日曆和甘特圖繪製
- 支持 Blog 形式的新聞發佈、Wiki 形式的文檔撰寫和文件管理
- RSS 輸出和郵件通知
- 每個項目可以配置獨立的 Wiki 和論壇模塊
- 簡單的任務時間跟蹤機制
- 用戶、項目、問題支持自定義屬性
- 支持多 LDAP 用戶認證
- 支持用戶自注冊和用戶激活
- 多語言支持(已經內置了zh簡體中文)
- 多數據庫支持(MySQL、SQLite、PostgreSQL)
- 外觀模版化定製(可以使用 Basecamp 、Ruby安裝)
-
項目論壇
-
簡單實時跟蹤功能
-
SCM in集成 (SVN, CVS, Git, Mecuial, Bazaa and Dacs)
Redmine安裝配置
安裝依賴:ruby、rake、rails
說明:centos7.3 可以使用yum直接安裝ruby,也可以使用rvm安裝。在此使用rvm管理ruby,rvm 是一個命令行工具.
#安裝rvm
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
$ curl -L https://get.rvm.io | bash -s stable
$ source /etc/profile.d/rvm.sh #這一步必不可少,在執行完上一步之後也會提醒需要執行
$ rvm reload
$ rvm install 2.3.3
# 使用rvm命令:安裝ruby
$ rvm list 查看ruby
$ rvm use 2.3.3 使用ruby
$ rvm install xxxx 安裝一個版本的ruby
$ rvm remove xxxx 卸載一個版本的ruby
# 安裝rake和rails
## 如果嫌默認的ruby源慢,可以使用以下方法進行替換
$ gem source -r https://rubygems.org/ # 刪除默認ruby源
$ gem source -a http://mirrors.aliyun.com/rubygems/ # 配置阿里的源
## 安裝
$ gem install rake -v 12.0.0
$ gem install rails -v 4.2.6
安裝Redmine
$ wget http://www.redmine.org/releases/redmine-3.4.6.tar.gz
$ tar -xvf redmine-3.4.6.tar.gz
$ mv redmine-3.4.6 /usr/local/
$ cd /usr/local/
$ ln -s redmine-3.4.6 ./redmine
創建數據庫
mysql -uroot -proot
mysql> CREATE DATABASE redmine CHARACTER SET utf8;
mysql> CREATE USER 'redmine'@'172.16.0.4' IDENTIFIED BY 'redmine';
mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'172.16.0.4';
#測試連接redmine 庫
$ mysql -uredmine -h172.16.0.4 -predmine
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| redmine |
+--------------------+
2 rows in set (0.00 sec)
配置數據庫
#進入redmine 配置目錄
$ cd /usr/local/redmine/config
$ cp database.yml.example database.yml
$ vim database.yml
adapter: mysql2
database: redmine #數據庫
host: 172.16.0.4 #數據庫連接IP
username: redmine #數據庫用戶
password: "redmine" #數據庫密碼
encoding: utf8
安裝依賴: Redmine通過Bundler管理gems的依賴
# 安裝bundler
$ gem install bundler
# 安裝Redmine所依賴的gems相關包
$ bundle install --without development test
- Note: 可選依賴項 && 數據庫適配器
- RMagick :允許通過ImageMagick操作PDF和PNG導出的圖像。如果系統沒有安裝ImageMagick,在安裝Redmine依賴包時需要跳過該項
bundle install --without development test rmagick
session加密處理: 創建隨機key對session加密,防止被篡改
$ bundle exec rake generate_secret_token
初始化數據庫字段:
$ RAILS_ENV=production bundle exec rake db:migrate
數據初始化:
$ RAILS_ENV=production bundle exec rake redmine:load_default_data
## 該過程會以交互形式讓用戶選擇語言環境變量,也可以在執行該命令時直接指定環境變量,如下:
$ RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data
- 文件系統授權: 運行Redmine的用戶需要對以下目錄文件有寫權限。出於安全考慮,app使用普通用戶運行,所以在此需要先創建redmine用戶。授權目錄如下:
- files:存儲附件文件log:存放應用日誌
- tmp 和 tmp/pdf:如果目錄文件不存在需要手動創建,用於創建PDF文件
- public/plugin_assets:存放插件
$ mkdir -p /usr/local/redmine/tmp/pdf /usr/local/redmine/public/plugin_assets
$ useradd redmine
$ chown -R redmine:redmine /usr/local/redmine
測試
$ bundle exec rails server webrick -e production
啓動Redmine:
$ /usr/local/rvm/rubies/ruby-2.3.3/bin/ruby /usr/local/redmine/bin/rails server webrick -e production -d
檢查Redmine運行狀態:
Note: Due to a change in Rack,
rails server
now listens onlocalhost
instead of0.0.0.0
by default. Thisshould have minimal impact on the standard development workflow as both
http://127.0.0.1:3000 and http://localhost:3000 will continue to work as before
on your own machine.
However, with this change you will no longer be able to access the Rails
server from a different machine, for example if your development environment
is in a virtual machine and you would like to access it from the host machine.
In such cases, please start the server with
rails server -b 0.0.0.0
torestore the old behavior.
即, 新版本的Redmine啓動後默認監聽localhost,如果要通過外網訪問,需要在啓動時指定其監聽的ip。如果不指定,需要在本機配置代理(nginx/httpd)。
安裝iptables
$ yum install -y iptables-services
#添加規則
$ vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT
#啓動iptables
systemctl start iptables
# 檢測方法1:
$ curl http://192.168.228.130:3000 -I # 返回200狀態碼
# 檢測方法2:配置代理,通過瀏覽器訪問
## nginx相關配置如下:
vim /usr/local/nginx/conf/vhost/upstream.conf
upstream backserver {
server 127.0.0.1:
vim /usr/local/nginx/conf/vhost/redmine.conf
server {
listen 80;
server_name redmine.sasha-lab.net
location / {
#配置代理
proxy_pass http://backserver;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Redmine安裝完成
登錄
說明:user:admin passed:admin
登陸後會提示更改密碼
至於我改了什麼密碼就不告訴你們啦
Redmine安裝插件
隨着需求的不斷調整,對於功能的要求也就越來越多,所以作爲運維,隨時都面臨着對已有工具升級、打補丁、裝插件等工作。
Redmineg官方插件 http://www.redmine.org/plugins?page=1 ,更多的插件可以到github查找並下載。
安裝插件(插件redmine_angile):
下載插件到 cd /usr/local/redmine/plugins/
下,並解壓
安裝依賴的gems包(需要先切換至Redmine運行目錄):
$ cd /usr/local/redmine/ && bundle install --without development test --no-deployment --path vendor/cache
切換至redmine用戶 (必須有該操作,否則將因文件權限問題導致服務不可用);
更新數據庫
$ bundle exec rake redmine:plugins NAME=redmine_agile RAILS_ENV=production ;
重啓redmine
/usr/local/rvm/rubies/ruby-2.3.3/bin/ruby /usr/local/redmine/bin/rails server webrick -e production -d
刷新頁面即可看安裝的插件
Redmine 配置郵件通知
#複製配置文件模版
$ cp configuration.yml.example configuration.yml
#配置
default:
email_delivery:
delivery_method: :async_smtp
smtp_settings:
address: smtp.163.com
port: 25
domain: 163.com
authentication: :login
user_name: "[email protected]"
#password: "!QAZxsw2#EDC"
password: "Wuqd13579246810"
溫馨提示:若delivery_method: :smtp 在測試發送郵件時會報553狀態碼,如圖顯示