因为 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 admin@xxx.com
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