Redmine 搭建 备份 和恢复

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介:
redmine是一款开源的流程管理软件,它集流程管理,邮件提醒笨笨关与于一体.
安装环境CentOS 5
安装最新稳定版本Redmine:

1,  安装yaml

安装Ruby前需要安装Libymal,这个是我第一次安装完Ruby后,使用gem –v 查看版本后提示:
/home/webtronics/ruby/bin/gem -v
/home/webtronics/ruby/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
后面发现不安装这个包,也不会影响Ruby的使用。

下载:wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
tar xf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure ;make ;make install

2,  安装Ruby

安装Redmine2.0版本,支持1.9.3版本及其它版本,我下载1.9.3版本
版本要求:http://www.redmine.org/projects/redmine/wiki/RedmineInstall
下载:
wget --no-check-certificate  https://rubyforge.org/frs/download.php/76065/ruby-1.9.3-p194.tar.gz

安装:
tar xf ruby-1.9.3-p194.tar.gz
cd ruby-1.9.3-p194

./configure
make
make install

注1: 在这里是直接安装到了系统默认路径,这样安装,ruby会认到第一步中安装的yaml
如果安装ruby的时候自定义路径./configure –prefix=/usr/local/ruby, 使用rake gem 命令时,还是会提示第一步中的警告,但是不会影响正常使用。

注2:如果ruby安装到自定义路径,下面的ruby,rake,gem 命令都要加上Ruby安装的绝对路径,如/usr/local/ruby/bin/ruby /usr/local/ruby/bin/rake /usr/local/ruby/bin/gem


3,  安装Redmine

做完上面两步的准备就可以按照官网的提供的方法安装Redmine。在安装前,我在网上看了许多Redmine的安装教程,发现与官网提供的有些不一样,而且网上的教程都是老版本的安装方法,按照老版本的安装方法安装新版本有会问题。所以老老实实的根据官网的方法来做:http://www.redmine.org/projects/redmine/wiki/RedmineInstall

下载:wget http://rubyforge.org/frs/download.php/76134/redmine-2.0.0.tar.gz

解压:

Tar xf redmine-2.0.0.tar.gz
Cd redmine-2.0.0

注:可以将Redmine移到到你想要放置的目录。

接下来就是按照官网的方法来安装,有些小地方需要注意。

注: 以下操作都在Redmine目录进行

3.1安装Bundler

Gem install bundler         

注:如果Ruby安装是自定义路径,path/ruby/bin/gem install bundler

Redmine 1.4 版本后使用Bundler来管理gems  依赖关系,在Redmine的目录里有一个Gemfile 需要的依赖包写在里面。 安装时根据实际需要与情况更改安装包。

由于我使用的是Mysql数据库,需要将Gemfile中的配置关于PostgreSQL的安装包注释掉,如果系统没有安装PostgreSQL而不注释掉,安装时会提示错误。

编辑Gemfile文件,将如下内容注释掉,不安装postgreSQL的相关依赖包。

#platforms :mri, :mingw do
#  group :postgresql do
#    gem "pg", ">= 0.11.0"
#  end
#
#  group :sqlite do
#    gem "sqlite3"
#  end
#end


3.2开始安装gem 依赖包

bundle install --without development test rmagick

注:这一步会安装Mysql的Adapter, 如果Mysql的安装路径不是系统默认的,这一步安装时会提示安装错误,需要增加安装参数安装
单独安装 Mysql2的依赖包 :
gem install mysql2 -v '0.3.11' -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
然后再运行上面的命令

3.3创建数据库:

create database redmine character set utf8;
grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'cardinfolink';


3.4准备工作Ruby gem依赖包及数据库都做好了,开始真正配置Redmine的安装:

配置Redmine数据连接
Copy config/database.yml.example config/database.yml

Vim config/database.yml
production:
  adapter: mysql2   //如果用的Ruby是1.9版本,一定要写mysql2
  database: redmine
  host: localhost
  username: redmine
  password: my_password


注:官方原文提示MySQL database using ruby1.9 (adapter must be set to mysql2)  请注意,我开始没注意,后面rake时,老是提示数据库adapter没有安装。

创建sessin存储脚本
rake generate_secret_token
会产生config/initializers/secret_token.rb

创建数据库结构:[root@redmine redmine-2.0.0]# RAILS_ENV=production rake db:migrate
rake aborted!
Please install the mysq2 adapter: `gem install activerecord-mysq2-adapter` (cannot load such file -- active_record/connection_adapters/mysq2_adapter)
解决办法:
gem uninstall mysql2
gem install mysql2 -v"0.3.11"


[root@redmine redmine-2.0.0]# RAILS_ENV=production rake db:migrate
rake aborted!
Please install the mysq2 adapter: `gem install activerecord-mysq2-adapter` (cannot load such file -- active_record/connection_adapters/mysq2_adapter)

此处吃了暗亏,请具体查看database.yml确认adapter为mysql2而不是mysl2

创建数据库结构:
RAILS_ENV=production rake db:migrate

插入默认的配置数据:
[root@redmine redmine]# RAILS_ENV=production rake redmine:load_default_data

Select language: ar, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] zh
====================================
Default configuration data loaded.
创建相关目录
[root@redmine redmine]# mkdir tmp public/plugin_assets
mkdir: 无法创建目录 “tmp”: 文件已存在
[root@redmine redmine]# chmod -R 755 files log tmp public/plugin_assets
[root@redmine redmine]#
测试3000环境
[root@redmine redmine]#ruby /opt/redmine/script/rails server webrick -e production

通过Aapche访问redmine

后台运行Redmine
nohup ruby script/rails server webrick -e production &

在Apache配置文件中添加一个虚拟主机

<VirtualHost *:80>
       ServerName redmine.company.com
       ProxyPass / http://localhost:3000/
       ProxyPassReverse / http://localhost:3000/
</VirtualHost>
 
 
备份和恢复
备份和恢复 是企业应用中永远存在的话题.
 
 
Redmine的用户和问题等信息存储于Mysql数据库,表名为redmine而附件等资源存储于Redmine安装目录的files目录下.
因此需要迁移的话只需要备份Mysql数据库的对应的表和files目录即可。
1.备份mysql数据库。
查看redmine/mysql/config/database.yml
记住production字段的username和password。
然后控制台root权限执行:mysqldump -u username -p redmine > /path/redmine_bak.sql
然后是备份附件。
$ cd redmine
$ tar cvzf /var/files_bak.tar.gz ./files/
2、Redmine恢复
附件库恢复
直接将备份的/var/files_bak.tar.gz解压缩到/redmine/files目录下即可
Mysql恢复
在root用户下运行:
$ mysql -u root -p redmine < /var/redmine_bak.sql
 
3、恢复完毕后启动Redmine,
$ cd redmine
$ ruby script/server -e production
如果页面有乱码,可编辑redmine/mysql/config/database.yml,将production字段的encoding注释掉即可。

 

     本文转自 珏石头 51CTO博客,原文链接:http://blog.51cto.com/gavinshaw/1006559,如需转载请自行联系原作者


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
关系型数据库 MySQL Linux
|
Kubernetes Ubuntu 应用服务中间件
在Ubuntu22.04 LTS上搭建Kubernetes集群
在Ubuntu22.04.4上安装Kubernetes v1.28.7,步骤超详细
6155 3
在Ubuntu22.04 LTS上搭建Kubernetes集群
|
关系型数据库 数据库 Ruby
Linux 下安装 Redmine
Redmine 是一款非常流行的项目管理工具,使用 Ruby on Rails 编写,采用 GPL 许可协议(GNU General Public License v2)发布,支持多种操作系统。本文记录在 Ubuntu 16.04 下安装部署 Redmine 3.4.6 的过程,以及在 ECS 环境下的测试验证步骤。
6523 0
|
消息中间件 存储 Kafka
开源FaaS平台(二):Apache OpenWhisk
Apache OpenWhisk是一个开源FaaS平台,是一个由IBM和Adobe驱动的开源项目,可以部署在云或数据中心内。相比其他Serverless项目,OpenWhisk是一个健壮的、可扩展的平台,支持数千并发触发器和调用。OpenWhisk项目的基本信息如下表
1272 0
|
SQL 机器学习/深度学习 数据采集
Apache Doris Broker数据导入使用示例及介绍
Broker load 是一个异步的导入方式,支持的数据源取决于 Broker 进程支持的数据源。用户需要通过 MySQL 协议 创建 Broker load 导入,并通过查看导入命令检查导入结果。
2015 0
Apache Doris Broker数据导入使用示例及介绍
|
人工智能
OneLLM,将所有模态和LLM Align的统一框架
OneLLM使用通用编码器和统一的投影模块与LLM对齐多模式输入,它还利用modality tokens 实现了在模态之间的切换。
|
自然语言处理 Java 网络架构
解锁跨平台微服务新纪元:Micronaut与Kotlin联袂打造的多语言兼容服务——代码、教程、实战一次打包奉送!
【9月更文挑战第6天】Micronaut是一款轻量级、高性能的Java框架,适用于微服务开发。它支持Java、Groovy和Kotlin等多种语言,提供灵活的多语言开发环境。本文通过创建一个简单的多语言兼容服务,展示如何使用Micronaut及其注解驱动特性实现REST接口,并引入国际化支持。无论是个人项目还是企业应用,Micronaut都能提供高效、一致的开发体验,成为跨平台开发的利器。通过简单的配置和代码编写,即可实现多语言支持,展现其强大的跨平台优势。
248 3
|
消息中间件 监控 测试技术
惊呆了!Python性能测试高手都用这些神器:JMeter+Locust,效率翻倍📈
【9月更文挑战第8天】在软件开发中,性能测试对确保应用稳定性和高效运行至关重要。对于Python开发者而言,选择合适的性能测试工具能显著提升测试效率并精准定位性能瓶颈。本文深入探讨了JMeter和Locust这两款工具的独特优势。JMeter作为跨平台的性能测试工具,支持多种协议,具备高度可定制性和扩展性;而Locust则专为Python应用设计,利用协程实现高并发,提供实时监控和分布式测试功能。两者结合使用,可在实际项目中实现1+1&gt;2的效果,帮助开发者构建全面高效的测试方案,保障应用稳定运行。
769 1
|
存储 关系型数据库 MySQL
【MySQL】myisam_max_sort_file_size=64G,是干什么的?底层原理是什么?
【MySQL】myisam_max_sort_file_size=64G,是干什么的?底层原理是什么?
1014 0
|
缓存 jenkins Java
3分钟教你linux服务器无损迁移备份Jenkins
3分钟教你linux服务器无损迁移备份Jenkins一台服务器到期,jenkins正好部署在这台服务器,这时候如果在新服务器重新安装然后配置jenkins的每个服务时间两天起步,于是考虑将原服务器jenkins无损迁移到新服务器上,时间只需3分钟,nice
1092 0