因爲 amazon ecs 一年免費到期,每個月$10+不太捨得。不得不重新更換服務器,導致需要遷移redmine。(自行搭建svn、git、項目管理軟件就不得不承擔服務器管理和遷移的痛苦。)
redmine官網的最新版本已經到3.0以上了,簡單看了一下wiki安裝過程,尤其複雜。我對ruby on rails不太熟悉,安裝夾帶遷移和升級難度很大。所以方法是:
1、新的服務器是ubuntu server 14 x64,使用 ubuntu apt-get 安裝redmine
$sudo apt-get install mysql-server
$ sudo apt-get install redmine-mysql
$ sudo apt-get install redmine
2、備份恢復數據庫。
在老的服務器上:
$ mysqldump -uroot -p redmine_default | gzip > redmine_default_`date +%y-%m-%d`.gz
將壓縮的 sql gz 文件 scp 到新的服務器上,用 gzip -d redmine_default_15-7-29.gz 解壓,然後在新的服務器上用mysql命令恢復(需要先新建空的utf8/utf8_gerneral_ci數據庫redmine_defalut)。
$ mysql -uroot -p redmine_default < redmine_default_15-7-29
3、爲避免新版本對老數據庫的兼容,將老系統上的程序文件 /usr/share/redmine 壓縮打包傳到新服務器上並替換到 /usr/share/redmine
4、新服務器上集成apache2:
$ sudo apt-get install libapache2-mod-passenger
sudo vi /etc/apache2/mods-enabled/passenger.conf
增加一行
PassengerDefaultUser www-data
建立路徑軟鏈接到 www 根目錄
$ sudo ln -s /usr/share/redmine/public /var/www/redmine
更改權限爲 apache2 啓動用戶
$ sudo chown -R www-data:www-data /usr/share/redmine
在/etc/apache2/sites-enabled下建立 redmine.xxx.com.conf 文件,內容如下:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName redmine.xxx.com
DocumentRoot /var/www/redmine
<Directory /var/www/redmine>
Options FollowSymLinks
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory>
ErrorLog /home/ubuntu/websites/redmine.xxx.com/logs/error.log
LogLevel warn
CustomLog /home/ubuntu/websites/redmine.xxx.com/logs/access.log combined
</VirtualHost>
前提是目錄 /home/ubuntu/websites/redmine.xxx.com/logs 是存在的重啓 apache2
$ sudo service apache2 restart
5、爲 redmine 配置數據庫
sudo vi /etc/redmine/default/database.yml
修改內容如下:
production:
adapter: mysql
database: redmine_default
host: localhost
port:
username: root
password: ********(你的密碼明文)
encoding: utf8
6、恢復 redmine 的附件上傳下載
sudo rm -rf /var/lib/redmine/default/files
sudo ln -s /home/ubuntu/redmine_files/files/ /var/lib/redmine/default/files
sudo chown -R www-data:www-data /home/ubuntu/redmine_files
或者直接將 files 下所有文件複製到 /var/lib/redmine/default/files 下。
7、訪問站點,報告錯誤:redmine cannot load such file -- bundler/setup (LoadError)。還需要安裝bundler
sudo gem install bundler