Redmine 搭建 備份 和恢復

redmine是一款開源的流程管理軟件,它集流程管理,郵件提醒笨笨關與於一體.
安裝環境CentOS 5
安裝最新穩定版本Redmine:

1,  安裝yaml

安裝Ruby前需要安裝Libymal,這個是我第一次安裝完Ruby後,使用gem –v 查看版本後提示:
/home/webtronics/ruby/bin/gem -v
/home/webtronics/ruby/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
後面發現不安裝這個包,也不會影響Ruby的使用。

下載:wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
tar xf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure ;make ;make install

2,  安裝Ruby

安裝Redmine2.0版本,支持1.9.3版本及其它版本,我下載1.9.3版本
版本要求:http://www.redmine.org/projects/redmine/wiki/RedmineInstall
下載:
wget --no-check-certificate  https://rubyforge.org/frs/download.php/76065/ruby-1.9.3-p194.tar.gz

安裝:
tar xf ruby-1.9.3-p194.tar.gz
cd ruby-1.9.3-p194

./configure
make
make install

注1: 在這裏是直接安裝到了系統默認路徑,這樣安裝,ruby會認到第一步中安裝的yaml
如果安裝ruby的時候自定義路徑./configure –prefix=/usr/local/ruby, 使用rake gem 命令時,還是會提示第一步中的警告,但是不會影響正常使用。

注2:如果ruby安裝到自定義路徑,下面的ruby,rake,gem 命令都要加上Ruby安裝的絕對路徑,如/usr/local/ruby/bin/ruby /usr/local/ruby/bin/rake /usr/local/ruby/bin/gem


3,  安裝Redmine

做完上面兩步的準備就可以按照官網的提供的方法安裝Redmine。在安裝前,我在網上看了許多Redmine的安裝教程,發現與官網提供的有些不一樣,而且網上的教程都是老版本的安裝方法,按照老版本的安裝方法安裝新版本有會問題。所以老老實實的根據官網的方法來做:http://www.redmine.org/projects/redmine/wiki/RedmineInstall

下載:wget http://rubyforge.org/frs/download.php/76134/redmine-2.0.0.tar.gz

解壓:

Tar xf redmine-2.0.0.tar.gz
Cd redmine-2.0.0

注:可以將Redmine移到到你想要放置的目錄。

接下來就是按照官網的方法來安裝,有些小地方需要注意。

注: 以下操作都在Redmine目錄進行

3.1安裝Bundler

Gem install bundler         

注:如果Ruby安裝是自定義路徑,path/ruby/bin/gem install bundler

Redmine 1.4 版本後使用Bundler來管理gems  依賴關係,在Redmine的目錄裏有一個Gemfile 需要的依賴包寫在裏面。 安裝時根據實際需要與情況更改安裝包。

由於我使用的是Mysql數據庫,需要將Gemfile中的配置關於PostgreSQL的安裝包註釋掉,如果系統沒有安裝PostgreSQL而不註釋掉,安裝時會提示錯誤。

編輯Gemfile文件,將如下內容註釋掉,不安裝postgreSQL的相關依賴包。

#platforms :mri, :mingw do
#  group :postgresql do
#    gem "pg", ">= 0.11.0"
#  end
#
#  group :sqlite do
#    gem "sqlite3"
#  end
#end


3.2開始安裝gem 依賴包

bundle install --without development test rmagick

注:這一步會安裝Mysql的Adapter, 如果Mysql的安裝路徑不是系統默認的,這一步安裝時會提示安裝錯誤,需要增加安裝參數安裝
單獨安裝 Mysql2的依賴包 :
gem install mysql2 -v '0.3.11' -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
然後再運行上面的命令

3.3創建數據庫:

create database redmine character set utf8;
grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'cardinfolink';


3.4準備工作Ruby gem依賴包及數據庫都做好了,開始真正配置Redmine的安裝:

配置Redmine數據連接
Copy config/database.yml.example config/database.yml

Vim config/database.yml
production:
  adapter: mysql2   //如果用的Ruby是1.9版本,一定要寫mysql2
  database: redmine
  host: localhost
  username: redmine
  password: my_password


注:官方原文提示MySQL database using ruby1.9 (adapter must be set to mysql2)  請注意,我開始沒注意,後面rake時,老是提示數據庫adapter沒有安裝。

創建sessin存儲腳本
rake generate_secret_token
會產生config/initializers/secret_token.rb

創建數據庫結構:[root@redmine redmine-2.0.0]# RAILS_ENV=production rake db:migrate
rake aborted!
Please install the mysq2 adapter: `gem install activerecord-mysq2-adapter` (cannot load such file -- active_record/connection_adapters/mysq2_adapter)
解決辦法:
gem uninstall mysql2
gem install mysql2 -v"0.3.11"


[root@redmine redmine-2.0.0]# RAILS_ENV=production rake db:migrate
rake aborted!
Please install the mysq2 adapter: `gem install activerecord-mysq2-adapter` (cannot load such file -- active_record/connection_adapters/mysq2_adapter)

此處吃了暗虧,請具體查看database.yml確認adapter爲mysql2而不是mysl2

創建數據庫結構:
RAILS_ENV=production rake db:migrate

插入默認的配置數據:
[root@redmine redmine]# RAILS_ENV=production rake redmine:load_default_data

Select language: ar, bg, bs, ca, cs, da, de, el, en, en-GB, es, 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.
創建相關目錄
[root@redmine redmine]# mkdir tmp public/plugin_assets
mkdir: 無法創建目錄 “tmp”: 文件已存在
[root@redmine redmine]# chmod -R 755 files log tmp public/plugin_assets
[root@redmine redmine]#
測試3000環境
[root@redmine redmine]#ruby /opt/redmine/script/rails server webrick -e production

通過Aapche訪問redmine

後臺運行Redmine
nohup ruby script/rails server webrick -e production &

在Apache配置文件中添加一個虛擬主機

<VirtualHost *:80>
       ServerName redmine.company.com
       ProxyPass / http://localhost:3000/
       ProxyPa***everse / http://localhost:3000/
</VirtualHost>
 
 
備份和恢復
備份和恢復 是企業應用中永遠存在的話題.
 
 
Redmine的用戶和問題等信息存儲於Mysql數據庫,表名爲redmine而附件等資源存儲於Redmine安裝目錄的files目錄下.
因此需要遷移的話只需要備份Mysql數據庫的對應的表和files目錄即可。
1.備份mysql數據庫。
查看redmine/mysql/config/database.yml
記住production字段的username和password。
然後控制檯root權限執行:mysqldump -u username -p redmine > /path/redmine_bak.sql
然後是備份附件。
$ cd redmine
$ tar cvzf /var/files_bak.tar.gz ./files/
2、Redmine恢復
附件庫恢復
直接將備份的/var/files_bak.tar.gz解壓縮到/redmine/files目錄下即可
Mysql恢復
在root用戶下運行:
$ mysql -u root -p redmine < /var/redmine_bak.sql
 
3、恢復完畢後啓動Redmine,
$ cd redmine
$ ruby script/server -e production
如果頁面有亂碼,可編輯redmine/mysql/config/database.yml,將production字段的encoding註釋掉即可。

 

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