在Debian Squeeze上升级Redmine 1.0.1到2.5.1(从仓库到独立模式)¶
Debain Squeeze在其仓库中包含Redmine 1.0.1。如果您想安装最新的2.x分支,您需要从软件包切换到独立设置。以下是一步一步的指南。
我们将移除软件包,将新二进制文件放在相同文件夹中,并升级数据库。还有一些Squeeze特有的解决方案。
准备¶
1. 导出redmine_default数据库
mysqldump -u redmine -p redmine_default > /root/redmine/db.sql
2. 备份附件文件夹
cp -R /var/lib/redmine/default/files /root/redmine/files
3. 删除redmine
apt-get remove redmine
在卸载过程中选择保留旧数据库。
设置¶
1. 必需的软件包
apt-get install imagemagick libmagickcore-dev libmagickwand-dev libmysqlclient-dev
修复:缺少bundler的需求
2. 删除旧Redmine,下载新Redmine
rm -R /usr/share/redmine cd /usr/share wget https://redmine.ruby-lang.org.cn/releases/redmine-2.5.1.tar.gz tar -xvf redmine-2.5.1.tar.gz ln -s /usr/share/redmine-2.5.1 /usr/share/redmine cd /usr/share/redmine
3. 安装bundler
gem install bundler
4. 准备环境
export PATH=$PATH:/var/lib/gems/1.8/bin
修复:对于bundle命令的“命令未找到”
5. 配置
cp /usr/share/redmine/config/configuration.yml.example /usr/share/redmine/config/configuration.yml cp /etc/redmine/default/database.yml /usr/share/redmine/config/database.yml
编辑 /usr/share/redmine/config/database.yml 并将适配器从 mysql 更改为 mysql2。
编辑 /usr/share/redmine/config/configuration.yml 并设置 secret_token。电子邮件配置现在在这里,因此您可以手动将 /etc/redmine/default/email.yml 中的旧设置复制到这里。
您需要为这种交付方式向 smtp_settings 组添加 enable_starttls_auto: false
以在Squeeze上工作
6. 安装
bundle install --without development test
7. 编辑 /usr/share/redmine/Gemfile,将其中的rake版本更改为
gem "rake", "0.8.7"
修复:启动时的rake崩溃。0.8.7是最兼容的版本。
8. 重新配置rake
bundle update rake
9. 升级数据库并清除缓存
rake generate_secret_token rake db:migrate RAILS_ENV=production rake tmp:cache:clear rake tmp:sessions:clear
10. 恢复附件
cp -R /root/redmine/files/* /usr/share/redmine/files/
还有其他方法可以做到这一点。例如,您可以从 /usr/share/redmine/files 创建到 /var/lib/redmine/default/files 的符号链接,并继续使用之前的位置
11. 更改目录所有者
chown -R www-data /usr/share/redmine
修复:管理页面上的500错误。有人说 chmod -R 777 /usr/share/redmine/tmp
足够了,但这对我不起作用
12. 重新启动Web服务器并享受。
由 Maxim Volkov 更新,大约10年前 · 4次修订