前言
近期按公司要求,对云服务器上部署的redmine进行升级。作为初出茅庐的菜鸟,全栈开发的经验几乎为零,升级过程磕磕绊绊,碰到诸多问题,但也有所收获,遂作记录。期间参考了多位前辈的文章,文中如有侵权行为,可随时联系在下批评删改。
系统、软件版本
本次升级的redmine部署在阿里云上的云服务器上,系统环境为ubuntu16.04,升级的软件为bitnami-redmine3.4.4-2 stable至bitnami-redmine4.1.1-4 stable版本。其实目前redmine最佳的部署方案是直接采用官方的软件源进行部署,可直接使用svn或者git将工程克隆到自己的设备中。官方部署的redmine可实时同步redmine的各种修改和优化,且兼容性较强,更易于后期的迁移升级。
Redmine官网Redminehttps://www.redmine.org/最初在下得到的是官网的redmine5.1.3的部署方案,但经升级发现,公司前面部署的redmine是基于bitnami制作的第三方redmine包。bitnami的redmine的项目结构与官方的项目结构有所不同,两者之间的移植目前我暂时无法实现,当前查找各平台也没发现可供参考的案例。那么就以bitnami的redmine作为升级的目标。遗憾的是,到目前看来,bitnami已经停止了对Linux本地安装程序的支持,在bitnami的官方网址上也看不到对应Linux端的软件包。
bitnami redmine官网下载https://bitnami.com/stack/redmine
在下四处搜寻,从一位博主发布的文章中获取到bitnami-redmine-4.1.1-4-linux-x64-installer.run的软件包,相关链接如下,有意者可点击博主文章获取:
移植步骤
一、备份相关文件和数据库
对于redmine的版本升级,做好备份十分重要,这关乎你后面数据迁移的完整性。
1、备份配置文件
cp -rf /opt/redmine3.4.4-2/apps/redmine/htdocs/config ~/
2、备份附件文件
cp -rf /opt/redmine3.4.4-2/apps/redmine/htdocs/files ~/
3、备份插件(如果没有插件,可以忽略)
cp -rf /opt/redmine3.4.4-2/apps/redmine/htdocs/plugins ~/
4、备份数据库
关闭正在运行的redmine服务:
sudo /opt/redmine3.4.4-2/ctlscript.sh stop
只打开mysql服务:
sudo /opt/redmine3.4.4-2/ctlscript.sh start mysql
查找mysql数据库的密码:
cat /opt/redmine3.4.4-2/apps/redmine/htdocs/config/database.yml
备份数据库:
/opt/redmine3.4.4-2/mysql/bin/mysqldump -ubitnami -ppassword bitnami_redmine > ~/3.4.4-2backup.sql
其中-u和-p代表username和password,需将上述命令中bitnami、password以及bitnami_redmine换成自己数据库配置文件中的对应username、password和database。
二、安装bitnami redmine-4.1.1-4
bitnami-redmine-4.1.1-4-linux-x64-installer.run为一站式软件安装包,安装比较简单,按照提示一步一步来就行。这里选择的安装路径是/opt/redmine-4.1.1-4/。
sudo /opt/redmine-3.4.4-2/ctlscript.sh stop
chmod +x bitnami-redmine-4.1.1-4-linux-x64-installer.run
./bitnami-redmine-4.1.1-4-linux-x64-installer.run
新版本redmine作为迁移的目标,configuration.yml 会被旧版的替换掉,部分在安装时配置的内容会被修改。值得注意的是,apache端口号通常设为80。如果前面的步骤中没有关掉旧版的redmine服务,那么很有可能使80端口被占用,系统会自动变更为81或其它。但经过我实践,81端口号无法正常连接redmine服务,原因尚未知晓,待后续研究。那么就都设为80吧,端口号被占用的话,将旧版的redmine服务关闭即可。
三、数据迁移
1、进入新版redmine的根目录,关闭redmine服务,只开启mysql服务
cd /opt/redmine3.4.4-2/
./ctlscript.sh stop
./ctlscript.sh start mysql
2、查看新版数据库的配置文件
cat /opt/redmine-4.1.1-4/apps/redmine/htdocs/config/database.yml
3、删除新版的数据库,并创建一个空的库
/opt/redmine-4.1.1-4/mysql/bin/mysql -u bitnami -p
这一步提示录入密码,那么就填入刚才查看的新版redmine的数据库密码,接着
mysql> drop database bitnami_redmine;
mysql> create database bitnami_redmine;
mysql> quit
4、还原mysql数据库
/opt/redmine-4.1.1-4/mysql/bin/mysql -u bitnami -p bitnami_redmine < ~/3.4.4-2backup.sql
输入新版redmine数据库的密码,等待数据库迁移完成。
5、将数据库迁移为新版本,一定要按顺序执行
配置环境变量:
. /opt/redmine-4.1.1-4/scripts/setenv.sh
切换到redmine目录:
cd /opt/redmine-4.1.1-4/apps/redmine/htdocs
安装bundle:(这里的--local代表使用本地文件进行安装,一定不要省略)
bundle install --local --without development test postgresql sqlite --binstubs
主数据迁移:
ruby bin/rake db:migrate RAILS_ENV=production
插件迁移:(如果没有插件,可略过此步骤)
ruby bin/rake redmine:plugins RAILS_ENV="production"
清理缓存:
ruby bin/rake tmp:cache:clear
ruby bin/rake tmp:sessions:clear
6、替换配置文件、附件文件以及插件
cp ~/config/configuration.yml /opt/redmine-4.1.1-4/apps/redmine/htdocs/config/configuration.yml
cp -r ~/files/ /opt/redmine-4.1.1-4/apps/redmine/htdocs/files/
cp -r ~/plugins /opt/redmine-4.1.1-4/apps/redmine/htdocs/plugins/
其中,files目录需要修改对应的权限,如下
cd /opt/redmine-4.1.1-4/apps/redmine/htdocs/
sudo chown -R root:daemon files/
chmod 775 files/
四、启动redmine服务
sudo /opt/redmine-4.1.1-4/ctlscript.sh restart
到这里,基本完成了redmine的升级。参考了很多前辈们的宝贵经验,通过反复验证,总结了一次成功的历程,希望能对需要的人有所帮助。文中数据库迁移部分绝大多数参照博主dongflying的经验,阅读本文的朋友也可以前往这位前辈的博客阅读原文,原文附在参考文档链接第一个。如若侵权,请随时联系在下。后续有机会也会持续更新redmine使用的相关内容,希望能够帮助到有需要的朋友。
dongflying 的博客https://blog.csdn.net/dongflying
参考文档链接
redmine迁移与升级_关闭redmine-CSDN博客文章浏览阅读3.9k次。linux集成安装包Bitnami redmine,从2.3.3升级为2.6.0。_关闭redminehttps://blog.csdn.net/dongflying/article/details/53893964Redmine 1.1.1升级到2.2.3 - 老焦的blog-奋斗12年IT虫子所思所想所感 - ITeye博客 部门一直在用的Redmine版本是1.1.1,比较旧,很多新插件都无法使用。终于要狠下决心将它升级,到2.2.3。 用了大概两天时间研究两个版本直接的DB结构变化,升级起来还好,没有原来想象中那么困难。一来是运气不错,两个版本的数据结构变化并不特别剧烈;二是要多谢Bitnami,它提供的打包让安装过程容易了很多。 简单的升级思路和过程: 1、 在旧版数据库中用mysqldump导出数据,忽略 ...https://www.iteye.com/blog/wmcxy-2023532linux搭建redmine:bitnami-redmine-4.1.1-4-linux-x64-installer.run_bitnami-redmine-linux-x64-installer.run-CSDN博客文章浏览阅读2.4k次,点赞5次,收藏11次。linux环境:centos7,关闭防火墙和selinux监控永久关闭防火墙查看防火墙状态: firewall-cmd --state关闭防火墙: systemctl stop firewalld.service关闭开机启动:systemctl disable firewalld.service 永久关闭selinux查看selinux状态: getenforce临时关闭命令:setenforce 0 vim /etc/selinux/config #SELINUX=e_bitnami-redmine-linux-x64-installer.runhttps://blog.csdn.net/yang1393214887/article/details/108488754
bitnami版redmine迁移升级 - - ITeye博客 bitnami版redmine迁移升级 1、版本说明 迁移版本:3.1.1-1 升级版本:3.4.6-5 2、备份迁移版本 2.1 、查询数据库密码 root@localhost:# cat /opt/redmine-3.1.1-1/apps/redmine/htdocs/config/database.yml --- # Default setup is given f ...https://www.iteye.com/blog/tomhat-2440143Linux下使用Bitnami安装Redmine - 星哥说事对于一个Linux新手,如果严格按照官方文档来安装Redmine,那是非常麻烦的。有没有一种简便的方法。有滴,那就是BitNami。BitNami提供redmine的一键安装程序,简单、易用、方便。 有一次工作有机会让我来接触redmine,刚开始我尝试手动安装,结果安装了N天。都没装上。后来...https://www.xgss.net/5794.html