前言:安裝要求
Ruby解釋器
給定Redmine版本所需的Ruby版本是:
Redmine版本 | 支持的Ruby版本 | 使用Rails版本 |
---|---|---|
4.0 | ruby 2.2(2.2.2及更高版本),2.3,2.4,2.5 | Rails 5.2 |
3.4 | 紅寶石1.9.3 1,2.0.0,2.1,2.2,2.3,2.4 | Rails 4.2 |
3.3 | 紅寶石1.9.3 1,2.0.0,2.1,2.2,2.3 | Rails 4.2 |
支持的數據庫后端
MySQL 5.5 - 5.7 MySQL的5.6或更高版本和MariaDB的認識問題(#19344,#19395,#17460)。 Redmine 3.x還支持MySQL 5.0和5.1 PostgreSQL 9.2或更高版本 確保您的數據庫日期樣式設置為ISO(Postgresql默認設置)。您可以使用以下方式設置:ALTER DATABASE "redmine_db" SET datestyle="ISO,MDY"; Redmine 3.x還支持PostgreSQL 8.3 - 9.1。 Microsoft SQL Server 2012或更高版本 Redmine 4.0自2018年12月起不支持SQL Server,因為依賴庫activerecord-sqlserver-adapter尚不支持Rails 5.2。 SQLite 3(不適用於多用戶生產!)
可選組件
svn用於存儲庫瀏覽的SCM二進制文件(例如)(必須在PATH中可用)。有關SCM兼容性和要求,請參閱RedmineRepositories。
ImageMagick(使Gantt導出為PNG圖像和縮略圖生成)。
第1步、下載redmine應用軟件(下載地址:http://www.redmine.org/projects/redmine/wiki/Download)
[root@remind ~]# systemctl stop firewalld [root@remind ~]# iptables -L -n [root@remind ~]#wget https://www.redmine.org/releases/redmine-3.4.7.tar.gz
[root@remind ~]# tar xf redmine-3.4.7.tar.gz -C /usr/local/ [root@localhost ~]# cd /usr/local/ [root@localhost local]# cd redmine-3.4.7/
第2步、安裝數據庫,並為redmine創建一個空數據庫和用戶
[root@localhost redmine-3.4.7]# yum install mariadb-libs mariadb mariadb-devel mariadb-server -y [root@localhost redmine-3.4.7]# systemctl start mariadb [root@localhost redmine-3.4.7]# mysql MariaDB [(none)]> CREATE DATABASE redmine CHARACTER SET utf8mb4; Query OK, 1 row affected (0.01 sec) MariaDB [(none)]> CREATE USER 'redmine'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> \q
第3步 、數據庫連接配置
復制config/database.yml.example
到config/database.yml
和編輯這個文件,配置數據庫"production"環境
[root@localhost ~]# cd /usr/local/redmine-3.4.7/ [root@localhost redmine-3.4.7]# cd config [root@localhost config]# cp configuration.yml.example configuration.yml [root@localhost config]# vim configuration.yml [root@localhost config]# cp database.yml.example database.yml [root@localhost config]# vim database.yml ... production: adapter: mysql2 database: redmine host: localhost username: redmine password: "123456" ...
第4步 -依賴安裝
[root@localhost config]#yum install ImageMagick-devel ImageMagick -y [root@remind config]# yum -y install ruby rubygems ruby-devel [root@remind config]# gem source -l [root@remind config]# gem sources -a http://mirrors.aliyun.com/rubygems/
http://mirrors.aliyun.com/rubygems/ added to sources
[root@remind config]# gem sources --remove https://rubygems.org/
https://rubygems.org/ removed from sources
[root@remind config]# gem source -u source cache successfully updated [root@remind config]# gem source -l *** CURRENT SOURCES *** http://mirrors.aliyun.com/rubygems/
[root@remindconfig]# gem install bundler #Redmine使用Bundler來管理gems依賴項,需要先安裝Bundler [root@remind config]# bundle install --without development test production #安裝Redmine所需的所有gem
第5步 -生成會話存儲秘密
[root@localhost config]# bundle exec rake generate_secret_token #生成Rails使用的隨機密鑰,用於編碼存儲會話數據的cookie,從而防止其被篡改。
生成新的機密令牌會在重新啟動后使所有現有會話無效。將此秘密存儲在config/secrets.yml中:http:
//guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml
第6步 - 創建數據庫模式對象
[root@localhost config]# RAILS_ENV=production bundle exec rake db:migrate #創建數據庫結構:
這一步有一個bug(Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX `changesets_repos_rev.....),如下圖:
解決:在 redmine/config/initializers/下添加mysqlpls.rb腳本,腳本內容如下
[root@localhost config]# cd initializers/ [root@localhost initializers]# cat mysqlpls.rb require 'active_record/connection_adapters/abstract_mysql_adapter' module ActiveRecord module ConnectionAdapters class AbstractMysqlAdapter NATIVE_DATABASE_TYPES[:string] = { :name => "varchar", :limit => 191 } end end end
[root@localhost config]# RAILS_ENV=production bundle exec rake db:migrate
第7步 - 數據庫默認數據集
[root@localhost config]# RAILS_ENV=production bundle exec rake redmine:load_default_data #在數據庫中插入默認配置數據 (in /usr/local/redmine-3.4.7) Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] zh ==================================== Default configuration data loaded.
第8步 - 文件系統權限(我用的是root所以不需要設置,之所以用root用戶是因為后面需要和httpd服務相結合發布redmine)
運行應用程序的用戶帳戶必須具有以下子目錄的寫入權限: files (附件存儲) log(應用程序日志文件production.log) tmp和tmp/pdf(創建這些,如果不存在,用於生成PDF文檔等) public/plugin_assets (插件的資產)
第9步 - 測試運行
[root@localhost config]# bundle exec rails server webrick -e production -b 192.168.1.110 #如果不指定地址默認為localhost
=> Booting WEBrick => Rails 4.2.11 application starting in production on http://192.168.1.110:3000
=> Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2018-12-25 15:35:03] INFO WEBrick 1.3.1 [2018-12-25 15:35:03] INFO ruby 2.0.0 (2015-12-16) [x86_64-linux] [2018-12-25 15:35:03] INFO WEBrick::HTTPServer#start: pid=17484 port=3000
訪問redmine,登錄賬號密碼為admin:admin
第10步 -配置redmine
登錄后可以轉到"管理(Administration)"菜單,然后選擇"設置(Settings)"以修改大多數應用程序設置
Redmine設置文件為config/configuration.yml
如果需要覆蓋默認應用程序設置,只需復制config/configuration.yml.example
到config/configuration.yml
和編輯新的文件;
可以根據Rails環境(production
/ development
/ test
)定義這些設置。
重要 :不要忘記在任何更改后重新啟動應用程序。
我們以郵件服務為例:
[root@localhost config]# cp configuration.yml.example configuration.yml [root@localhost config]# vim configuration.yml #以騰訊企業郵為例 default: email_delivery: delivery_method: :smtp smtp_settings: address: smtp.exmail.qq.com port: 25 domain: exmail.qq.com authentication: :login user_name: "admin@xxxx.com" password: "123456"
參考文檔:
http://www.redmine.org/projects/redmine/wiki/RedmineInstall
http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade
https://docs.bitnami.com/installer/apps/redmine/administration/upgrade/
http://www.redmine.org/boards/2/topics/54308
https://blog.csdn.net/huoyunshen88/article/details/21241711