1. 程式人生 > >centos7安裝redmine3.4

centos7安裝redmine3.4

前言:安裝要求

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)

[[email protected]
~]# systemctl stop firewalld [[email protected] ~]# iptables -L -n [[email protected] ~]#wget https://www.redmine.org/releases/redmine-3.4.7.tar.gz [[email protected] ~]# tar xf redmine-3.4.7.tar.gz -C /usr/local/ [[email protected] ~]# cd /usr/local/ [[email protected] local]# cd redmine-3.4.7/

第2步、安裝資料庫,併為redmine建立一個空資料庫和使用者

[[email protected] redmine-3.4.7]# yum install mariadb-libs mariadb mariadb-devel mariadb-server -y
[[email protected] redmine-3.4.7]# systemctl start mariadb
[[email protected] 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.exampleconfig/database.yml和編輯這個檔案,配置資料庫"production"環境

[[email protected] ~]# cd /usr/local/redmine-3.4.7/
[[email protected] redmine-3.4.7]# cd config
[[email protected] config]# cp configuration.yml.example  configuration.yml
[[email protected] config]# vim configuration.yml
[[email protected] config]# cp database.yml.example database.yml
[[email protected] config]# vim database.yml
...
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "123456"
...

第4步 -依賴安裝

[[email protected] config]#yum install ImageMagick-devel  ImageMagick  -y
[[email protected] config]# yum -y install ruby rubygems ruby-devel
[[email protected] config]# gem source -l 
[[email protected] config]# gem sources -a http://mirrors.aliyun.com/rubygems/
http://mirrors.aliyun.com/rubygems/ added to sources
[[email protected] config]# gem sources --remove  https://rubygems.org/
https://rubygems.org/ removed from sources
[[email protected] config]# gem source -u 
source cache successfully updated
[[email protected] config]# gem source -l  
*** CURRENT SOURCES ***

http://mirrors.aliyun.com/rubygems/
[[email protected]]# gem install bundler  #Redmine使用Bundler來管理gems依賴項,需要先安裝Bundler
[[email protected] config]# bundle install --without development test  production  #安裝Redmine所需的所有gem

第5步 -生成會話儲存祕密

[[email protected] 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步 - 建立資料庫模式物件

[[email protected] 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指令碼,指令碼內容如下

[[email protected] config]# cd initializers/
[[email protected] 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
[[email protected] config]# RAILS_ENV=production bundle exec rake db:migrate 

第7步 - 資料庫預設資料集

[[email protected] 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步 - 測試執行

[[email protected] 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.exampleconfig/configuration.yml和編輯新的檔案;

可以根據Rails環境(productiondevelopmenttest)定義這些設定。

重要 :不要忘記在任何更改後重新啟動應用程式。

我們以郵件服務為例

[[email protected] config]# cp configuration.yml.example configuration.yml
[[email protected] 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: "[email protected]"
      password: "123456"