redmine从一台服务器迁移到另一台服务器解决方案

京漂大叔 2020-01-10 AM 59℃ 0条

托管的服务器到期,由于费用太高,不再续费,迁移到阿里云服务器。
现在redmine版本是0.9.3 ubuntu系统,新服务器centos7系统,而且redmine已经更新到版本4了。
最简单的方法是新服务器安装和老服务器一样版本的redmine,剩下只需要把数据库和files目录的文件迁移到新服务器即可。
但是centos7已经不支持0.9.3的安装了,所以redmine使用了3.4.7版本 Ruby是2.4.6版本 Rails是4.2.11版本 bundler 2.1.4版本
通过一通的配置,安装,新版本redmine可以启动,如何将老版本的数据迁移到新版本呢?
1、先将老版本的redmine数据库备份,然后再新服务器创建redmine数据库,并导入老版本数据库数据;
2、进入到redmine的安装目录的config下 rake db:migrate RAILS_ENV=”production” 执行这个命令,生成新数据库的数据结构,执行并不影响第一步导入的老数据表结构,他会自动对老表结构进行新增和删除优化,并且增加新表,完全兼容平行升级到新表结构
3、重启redmine服务
4、将老版本的redmine的files文件备份导入新服务器 放到新版本redmine对应的files目录即可。
这样就完全平滑的完成了redmine的升级和迁移工作。
新版本的redmine如何安装简单的说下
redmine依赖 ruby rails
ruby rails 通过使用rvm来完成
所有依赖包的安装 通过 gem 来完成
一、下载新版本的redmine
[root@remind ~]#wget https://www.redmine.org/releases/redmine-3.4.7.tar.gz
[root@remind ~]# tar xf redmine-3.4.7.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# cd redmine-3.4.7/
二、安装数据库,并为redmine创建一个空数据库和用户
[root@localhost redmine-3.4.7]# yum install mariadb-libs mariadb mariadb-devel mariadb-server -y
[root@localhost redmine-3.4.7]# systemctl start mariadb
[root@localhost redmine-3.4.7]# mysql
MariaDB [(none)]> CREATE DATABASE redmine CHARACTER SET utf8mb4;
Query OK, 1 row affected (0.01 sec)

MariaDB [(none)]> CREATE USER 'redmine'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> q
三、配置redmine数据库连接
[root@localhost ~]# cd /usr/local/redmine-3.4.7/
[root@localhost redmine-3.4.7]# cd config
[root@localhost config]# cp configuration.yml.example configuration.yml
[root@localhost config]# vim configuration.yml
[root@localhost config]# cp database.yml.example database.yml
[root@localhost config]# vim database.yml
...
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "123456"
...
四、依赖安装
[root@localhost config]#yum install ImageMagick-devel ImageMagick -y
[root@remind config]# yum -y install ruby rubygems ruby-devel
[root@remind config]# gem source -l
[root@remind config]# gem sources -a http://mirrors.aliyun.com/rubygems/
http://mirrors.aliyun.com/rubygems/ added to sources
[root@remind config]# gem sources --remove https://rubygems.org/
https://rubygems.org/ removed from sources
[root@remind config]# gem source -u
source cache successfully updated
[root@remind config]# gem source -l
CURRENT SOURCES

http://mirrors.aliyun.com/rubygems/
[root@remind config]# gem install bundler #Redmine使用Bundler来管理gems依赖项,需要先安装Bundler
[root@remind config]# bundle install #安装Redmine所需的所有gem
这一步如果提示bundler requires Ruby version >= 2.3.0
可以参考这篇文件解决 http://securityer.lofter.com/post/1d0f3ee7_1c65d3c17
然后继续执行即可
五、生成redmine数据结构
rake generate_secret_token //#生成Rails使用的随机密钥,用于编码存储会话数据的cookie,从而防止其被篡改。
RAILS_ENV=production rake db:migrate #生成表结构
RAILS_ENV=production rake redmine:load_default_data #初始化数据选择zh
六、测试运行
[root@localhost config]# bundle exec rails server webrick -e production -b 192.168.1.110 #如果不指定地址默认为localhost

备注:bundle exec rails server webrick -e production -b 192.168.1.110 -p 3000 & 让命令再后台运行
redmine服务启动命令:ruby /www/source/redmine-3.4.7/bin/rails server -b192.168.1.110 -p3000 webrick -e production -d
注:
/www/source/redmine-3.4.7是redmine的安装目录

-b0.0.0.0指定可以通过ip访问,不然只能通过localhost或者127.0.0.1访问
-p8080 指定端口号,不指定默认是3000

-d 是把输出打印到后台
登录地址:192.168.1.110:3000 

标签: none

非特殊说明,文章均为原创。