redmine部署

記錄下redmine部署過程


1.       安裝mysql (這裏使用mariadb,centos7自帶)

yum groupinstall mariadb

2.       ruby編譯安裝

wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
 
tar xzfruby-2.3.1.tar.gz
cdruby-2.3.1
./configure--prefix=/usr/local/ruby
make && make install


cat >> vim /etc/pofile << EOF  #配置環境變量
export/usr/local/ruby/bin:$PATH
EOF
 
ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]


 3.     安裝gem

yum install -y rubygems

gem是一種文件組織的包,一般的ruby的很多插件都有由這種各種的包提供。

官方的ruby網站被某組織牆掉了,可以使用國內的ruby鏡像http://gems.ruby-china.org/

 

使用方法(參照ruby-china官網):

 

請儘可能用比較新的 RubyGems 版本,建議 2.6.x 以上。

 

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/gem sources -lhttps://gems.ruby-china.org  #更換源,確保只有 gems.ruby-china.org
 
 
gem update --system    # 這裏請***一下gem -v2.6.3
 
cd ruby-2.3.1/
gem install rails  # 這裏在在 ruby-2.3.1/ 源碼的目錄裏執行


 如果在其它目錄執行會有如下報錯:

72320800b955b2f2dd08a1d430924344.jpg-wh_

 

 你可以用Bundler的Gem源代碼鏡像命令

bundle config mirror.https://rubygems.org 
https://gems.ruby-china.org



4.       下載redmine3.3.0

wget http://www.redmine.org/releases/redmine-3.3.0.tar.gz
tar xzfredmine-3.3.0.tar.gz
mv redmine-3.3.0/web/redmine

 

5.       創建redmine數據庫

mysql -uroot -p 
mysql>create database redmine; 
mysql>grant all on redmine.* to redmine@'localhost' identified by '123456';

 

配置redminedatabase.yml

cd /web/redmine/config
cpdatabase.yml.example database.yml

 

vimdatabase.yml   //修改對應數據庫連接信息
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "123456"
  encoding: utf8


 6.       在線安裝redmine依賴的所有ruby

cd/web/redmine
geminstall bundler    //注意是在網站根目錄下執行


 [如果出現下面報錯]

Successfully installed bundler-1.3.5

1 gem installed

Installing ri documentation for bundler-1.3.5...

ERROR:  While executing gem ...(NoMethodError)

    undefined method `map' forGem::Specification:Class

可以通過下面的方法解決

gemupdate --system

 

 bundle install --without development test  這句需要查下,和以下命令對比有何區別? 親測以下語句如果缺少依賴包請照提示安裝依賴包, 最終是可以執行成功的)

bundleinstall --without development test rmagick   #完成redmine依賴包的安裝

88e21e47a8d0d22478967cd66b84cb36.png-wh_

(這裏安裝過程可能比較慢).........

92b65f2018db2d828df26df351767643.png-wh_

 

bundler是用來管理ruby的包依賴的工具

Rails生成cookies祕鑰 (直接執行以下命令)

rake generate_secret_token    #等同 bundle exec rakegenerate_secret_token


 

創建數據庫結構(直接執行以下命令)

RAILS_ENV=productionrake db:migrate

生成缺省數據

RAILS_ENV=productionREDMINE_LANG=zh rake redmine:load_default_data

 

[如果出現報錯無法讀取/tmp/mysql.sock 

可通過軟鏈接解決 ln -s /usr/local/mysql/mysql.sock/tmp/mysql.sock (不過這種方法不是很好,每次重啓過linux系統後就沒有了還需要重新設置)

建議直接修改數據庫配置文件 vim /web/redmine/config/database.yml

encoding:utf8下面添加一行

socket: /var/run/mysqld/mysqld.sock]

 

 

調整文件系統權限(這裏配置爲與nginx)

chown -R nginx:nginx /data/wwwroot/redmine

 

mkdir -ptmp tmp/pdf public/plugin_assets   #redmine目錄默認存在了的,若不存在則創建該路徑, tmp/pdf(用於生成 PDF 文件);public/plugin_assets (plugins資源)


 

7.       測試  with Redmine 3.x: Test the installation by running WEBrick web server

bundleexec rails server webrick -e production   #這是不使用nginx轉發時直接運行,會監聽3000端口

04bc96d94d638a694c247719c642789b.jpg-wh_

 

8.     安裝passenger

gem install passenger    #如需指定安裝版本 gem install passenger -v 5.1.5


 

9.       安裝nginx (依賴包 yum install pcre-devel openssl-devel)

 

方法1 使用passenger自帶的一個命令自動安裝nginx

passenger-install-nginx-module  //按照提示一步一步的操作,這個命令會自己下載最新版的nginx和編譯passengermodule.


 

一路回車,出現讓我們選擇安裝方式。這裏1是自動編譯安裝,我們選擇1,回車,然後輸入安裝位置/usr/local/nginx

回車,其會自動進行configure --> make --> make install 完成

df093d52f1312f58169b02293d8baf55.png-wh_

 

方法2)也可以手動編譯安裝,configure參數如下(redmine 版本 3.3.3,重新編譯一樣可以用這個參數)

./configure --prefix=/usr/local/nginx --user=nginx--group=nginx --with-http_ssl_module --with-http_gzip_static_module \
--with-http_stub_status_module --with-pcre  \
--add-module=/usr/local/ruby/lib/ruby/gems/2.3.0/gems/passenger-5.1.5/src/nginx_module

 

如果是redmine 版本 2.x 老版的編譯參數如下:

./configure --prefix=/usr/local/nginx --user=www --group=www--with-http_stub_status_module \
--with-http_spdy_module --with-http_ssl_module --with-ipv6--with-http_gzip_static_module \
--with-http_flv_module --with-ld-opt=-ljemalloc \
--add-module=/usr/local/ruby/lib/ruby/gems/2.1.0/gems/passenger-4.0.57/ext/nginx


注:  如果nginx在服務器原本就已經安裝好,則可參照nginx重新編譯添加模塊的方法操作


 

 

10.       配置RedmineNginx上運行

結束webrick服務

cd /web/redmine/public/
cpdispatch.fcgi.example dispatch.fcgi
cphtaccess.fcgi.example .htaccess.fcgi

 

配置Nginx

vi/usr/local/nginx/conf/nginx.conf    #在http {}直接添加
passenger_root/usr/local/ruby/lib/ruby/gems/2.3.0/gems/passenger-5.1.5;
passenger_ruby /usr/local/ruby/bin/ruby;


 

添加虛擬主機(/usr/local/nginx/conf/nginx.conf)如下:

server {
  server_name localhost;
  listen 80;
  index index.html;

 

location/ {
            root   /web/redmine/public;
            passenger_enabled on;
            index  index.html index.htm index.php;
        }
            }

 

啓動nginx

/usr/local/nginx/sbin/nginx

 

 

11.     頁面訪問正常,部署完畢

默認登陸用戶: admin   密碼: admin

4db4aab8bb862b8d06781fba71a2841e.jpg-wh_

 

 

 

出現的部分報錯:

1nginx編譯, make的時候出現如下報錯: 原因不明

 

07e8e5efaa55e72b3e55fde38969e980.jpg-wh_

 

最後從其它機器把已make編譯成功的帶有Passenger參數的 nginx文件複製到/usr/local/nginx/sbin/目錄,啓動測試正常

 

 

2 bundleinstall --without development test rmagick  (或gem installrmagick 也一樣報如下錯)

報錯

1329bde32079ede0a5125142b52de61b.jpg-wh_

 

然後查看相關日誌文件 gem_make.out 

可以看到錯誤提示 Can't installRMagick 2.16.0. You must have ImageMagick 6.4.9 or later

 

解決:

要安裝rmagick 需要先安裝ImageMagick

 

yum install ImageMagick-devel

 

參考<http://www.bbtang.info/linux/fuwu/365.html>

 

3)redmine編輯保存慢的問題

新建問題或更新問題時非常慢,網上搜索了一下,發現有人提到是因爲在新建問題和更新問題時會發送郵件,而且是同步操作的,就是說需要等到郵件發送成功後纔會返回。這樣一說還真是恍然大悟,於是找到了解決的方案,將發送郵件的方式改爲異步操作:

1. 進入redmine目錄下的config目錄;(或者直接不配置smtp

2. 編輯configuration.yml;

3. 找到 delivery_method: :smtp,將smtp改爲:async_smtp,保存退出;(async前面有:   否則會出現500錯誤)

4. 重啓nginx服務;

完成以上步驟後,重新打開redmine,新建問題和編輯問題提交後唰唰的就出來了

default:
   email_delivery:
        delivery_method: :async_smtp
        smtp_settings:
          enable_starttls_auto: false
          address: smtp.mxhichina.com
          port: 25
          domain: mxhichina.com
          authentication: :login
          user_name: [email protected]
          password: xxxxx

 


附:

其它參考 <https://my.oschina.net/dennisguo/blog/411353>

redmine官方安裝文檔 http://www.redmine.org/projects/redmine/wiki/RedmineInstall

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章