Redmine 搭建 备份 和恢复

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL Serverless,0.5-2RCU 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,如需转载请自行联系原作者


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Docker 容器
gitlab备份还原
gitlab备份还原
18 0
|
4月前
|
数据库 Docker 容器
jPom定时备份数据库
jPom定时备份数据库
39 0
|
SQL 关系型数据库 数据库
|
数据库 关系型数据库 PostgreSQL
Confluence 6 如何备份和恢复
如何备份 有关备份你数据库使用的命令与你使用的具体数据库有关,例如针对 PostgreSQL 数据库,备份命令为 pg_dump dbname > outfile。
1602 0