redmine2.5升级到3.4
第一、安装需要升级的版本
二、备份源数据
[root@localhost ~]# mysqldump -uredmine -p123456 --all-databases > redmine.dump #备份数据库
[root@localhost ~]# cd /var/www/redmine/
[root@localhost redmine]# tar -jcf files.tar.gz files #备份附件
三、开始升级(关闭remind及数据库)
1.拷贝备份的文件
[root@localhost ~]# ll
总用量 362920
-rw-------. 1 root root 1274 8月 8 01:09 anaconda-ks.cfg
-rw-r--r--. 1 root root 362808562 12月 25 13:47 files.tar.gz #附件
-rw-r--r--. 1 root root 2452735 12月 9 14:44 redmine-3.4.7.tar.gz
-rw-r--r--. 1 root root 6357130 12月 25 13:15 redmine.dump #数据库备份文件
2.添加附件
[root@localhost ~]# cd /usr/local/redmine-3.4.7/
[root@localhost redmine-3.4.7]# rm -rf files
[root@localhost redmine-3.4.7]# mv /root/files.tar.gz .
[root@localhost redmine-3.4.7]# tar xf files.tar.gz
3.删除以前的数据库,并重新创建
[root@localhost redmine-3.4.7]# mysql
show databases;
drop database redmine;
source /root/redmine.dump;
show databases;
grant all privileges on redmine_db .* to 'redmine'@'localhost' identified by '123456';
flush privileges;
\q
4.编辑Redmine配置文件修改用户名密码
[root@localhost redmine-3.4.7]# vim config/database.yml
production:
adapter: mysql2
database: redmine_db
host: localhost
username: redmine
password: "123456"
encoding: utf8
5.将数据库迁移到最新版本
[root@localhost redmine-3.4.7]# ruby bin/rake db:migrate RAILS_ENV=production
如果之前的版本有插件,那么同样需要将插件拷贝到当前redmine安装目录下插件目录,并检查兼容性,执行以下命令
ruby bin/rake redmine:plugins RAILS_ENV="production"
5.清理缓存和会话
[root@localhost redmine-3.4.7]# ruby bin/rake tmp:cache:clear
[root@localhost redmine-3.4.7]# ruby bin/rake tmp:sessions:clear
6.启动服务,并登陆
[root@localhost config]# bundle exec rails server webrick -e production -b 192.168.1.110
没有问题,升级完成。但是有个问题,当前服务器启动是使用webrick启动的,比较慢,且服务启动方式处理screen或nohup没有太好的方式。我们可以使用redmine和httpd服务器相结合,提交redmine的访问速度和稳定性
第四、使用httpd发布redmine
1.安装httpd及rails模块
[root@localhost redmine-3.4.7]# yum install httpd httpd-devel libcurl-devel
[root@localhost redmine-3.4.7]# gem i passenger
[root@localhost redmine-3.4.7]# passenger-install-apache2-module #一路回车,确保最后都是yes,如果出现错误,系统会提示如何解决,知道编译完成
2.配置httpd
编译完会有如下提示,告诉我们需要载入相关的模块,提示信息很清晰明确
添加此模块
[root@localhost redmine-3.4.7]# cd /etc/httpd/conf.modules.d/
[root@localhost conf.modules.d]# vim redmine.conf
LoadModule passenger_module /usr/local/share/gems/gems/passenger-6.0.0/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/share/gems/gems/passenger-6.0.0
PassengerDefaultRuby /usr/bin/ruby
</IfModule>
编辑httpd主配置文件
[root@localhost conf.modules.d]# vim /etc/httpd/conf/httpd.conf #修改为未注释行的内容
注释144行,添加145行内容
注释295行,添加296行内容
添加httpd虚拟主机配置文件
[root@localhost conf.modules.d]# cd ../conf.d/
[root@localhost conf.d]# vim redmine-vhost.conf
<VirtualHost *:80>
ServerName redmine.xxxxxx.com
ServerAdmin redmine.xxxxxx.com
DocumentRoot /var/www/redmine/public/ #假设/var/www/redmine为remind的根目录
ErrorLog logs/redmine_error_log
<Directory "/var/www/redmine/public/">
Options Indexes ExecCGI FollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
</Directory>
</VirtualHost>
移动当前redmine到vhost的根目录下
[root@localhost conf.d]# mv /usr/local/redmine-3.4.7/ /var/www/redmine
添加redmine调度文件
[root@localhost conf.d]# cd /var/www/redmine
[root@localhost redmine]# cp public/dispatch.fcgi.example public/dispatch.fcgi
启动服务
[root@localhost redmine-3.4.7]# systemctl start httpd
[root@localhost redmine-3.4.7]# systemctl status httpd
[root@localhost redmine-3.4.7]# netstat -tnlp
访问服务
访问成功,而且自动记录了我上一次登录的用户名
参考文档:
http://www.redmine.org/projects/redmine/wiki/RedmineInstall
http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade
https://docs.bitnami.com/installer/apps/redmine/administration/upgrade/
http://www.redmine.org/boards/2/topics/54308
https://blog.csdn.net/huoyunshen88/article/details/21241711
"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少