Bitnami Redmine的備份分2種方式:
1.導出數據庫
2.整個目錄搬家
不管是哪種都想停掉服務,redmine相關的服務有以下5個:
redmineApache
redmineMySQL
redmineSubversion
redmineThin1
redmineThin2
可以打開windows服務控制面板,然后停掉上面的5個服務,或者去BitNami Redmine的安裝目錄,雙擊use_redmine.bat,然后在彈出的控制台種輸入:
1 |
servicerun.bat STOP |
1. 導出數據庫的方式
然后啟動redmineMySQL,這是因為我們要使用redminesql,其實如果上面步驟中,如果你是在windows服務控制面板種手動停服務,
你可以停掉其他4個服務,而保留redminesql服務。
雙擊use_redmine.bat,在彈出的命令行窗口種輸入:
1 |
mysqldump -u root -p bitnami_redmine > backup.sql |
這樣整個redmine系統的數據都會被備份到backup.sql數據庫文件中了,這個文件就在redmine的根目錄下面。
注意這里root的密碼和你admin的密碼是一樣的。
接下來就是在新的服務器上安裝新的redmine,然后導入剛才的backup.sql數據庫文件就可以了。
2. 整個目錄搬家
停掉所有服務后,拷貝整個BitNami Redmine Stack目錄到新的服務器。
注意這種方式下,redmine在新的服務器上的路徑一定要和舊服務器上的路徑一致,例如:舊的安裝在,c:\program files\BitNami Redmine Stack
那么你一定需要將BitNami Redmine Stack拷貝到新服務器的c:\program files目錄下面。
然后雙擊use_redmine.bat,在彈出的命令行窗口種輸入:
1 |
serviceinstall.bat INSTALL |
如果成功的話,你去看看上面列出的服務都為啟動狀態。
這樣就完成了redmine的備份了。
Linux備份:
1. 准備工作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/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
備份和恢復
備份和恢復 是企業應用中永遠存在的話題.
Redmine的用戶和問題等信息存儲於Mysql數據庫,表名為redmine而附件等資源存儲於Redmine安裝目錄的files目錄下.
因此需要遷移的話只需要備份Mysql數據庫的對應的表和files目錄即可。
1.備份mysql數據庫。
查看redmine-3.0.3-0\apps\redmine\htdocs\config\database.yml
記住production字段的username、password及database。
然后控制台root權限執行:mysqldump -u <username> -p <database> >/redmine_bak.sql
輸入:<password>
然后是備份附件。
$ cd redmine
$ tar cvzf /var/files_bak.tar.gz ./files/
2、Redmine恢復
附件庫恢復
直接將備份的/var/files_bak.tar.gz解壓縮到/redmine/files目錄下即可
Mysql恢復
在root用戶下運行:
$ mysql -u <username> -p <host> <database> < redmine_bak.sql
輸入:<password>
3、恢復完畢后啟動Redmine,
$ cd redmine
$ ruby script/server -e production
如果頁面有亂碼,可編輯redmine/mysql/config/database.yml,將production字段的encoding注釋掉即可。
