CentOS7.6中安装Redmine(RVM安装+Ruby安装+Redmine安装+RVM常用指令)

官网地址:https://www.redmine.org/

1.Redmine简介

Redmine是一个灵活的项目管理Web应用程序。它使用Ruby on Rails框架,具有跨平台和跨数据库的特性。Redmine为一个开源的软件。

Redmine具有很多特性:多项目支持、灵活的基于角色的访问控制、灵活的问题追踪系统、图表与日历、新闻文档文件管理、邮件通知、项目wiki、项目讨论区、时间追踪、版本库集成(SVN、CVS、Git)、用户自注册支持、多语言支持、多数据库支持等。

Redmine文档:查看如上图箭头指示的Redmine guide。进入如下图页面。

点击Installing Redmine

Redmine可以在大多数的Unix、Linux、macOS、windowsx系统进行安装,只要Ruby可以使用即可。

2.查看Linux版本信息

查看Linux系统的版本信息:

cat /proc/version

查看Linux系统发行版信息:

cat /etc/redhat-release

3.Ruby安装方式的选择

Ruby版本与Redmine版本的对应关系

Redmine4.0.6之前的版本,支持的最低Ruby版本为2.2

Redmine4.0.6及其之后版本,不支持Ruby2.2

Ruby社区已经停止了对Ruby2.4及之前版本的支持,因此尽量使用Ruby2.5及之后的版本

Redmine不支持JRuby

Ruby简介:Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp 语言。由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。因为Perl发音与6月诞生石pearl(珍珠)相同,因此Ruby以7月诞生石ruby(红宝石)命名。

Ruby安装文档地址:http://www.ruby-lang.org/zh_cn/documentation/installation/

3.1使用包管理系统安装ruby(最终未使用该安装方式)

选择包管理系统下面的CentOS,进入如下图所示页面中的内容

在自己的Xshell中执行如下指令

sudo yum install ruby

使用yum直接安装,下载和即将安装的是2.0.0的旧版本,上面说了最好是安装2.5及之后的版本,因此放弃使用yum包管理器安装ruby的方式。

3.2使用源代码编译安装 Ruby(最终未使用该安装方式)

链接地址:http://www.ruby-lang.org/zh_cn/downloads/

选择上图中的Ruby2.7.1进行下载

通过Xftp上传到CentOS系统中,并执行如下指令更改ruby-2.7.1.tar.gz权限

chmod 777 ruby-2.7.1.tar.gz

解压缩,执行如下指令

tar -zxvf ruby-2.7.1.tar.gz
cd ruby-2.7.1

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。

查看./configure指令的帮助信息

./configure --help

指定安装目录为/usr/local/localsoftware/software/ruby ,执行如下指令

./configure --prefix=/usr/local/localsoftware/software/ruby

执行make,进行编译

make

执行make install,进行安装

make install

如上图所示,需要安装openssl,执行如下指令

yum install openssl

再次执行make install,进行安装,仍然存在上述问题。尝试将解压缩之后的内容删除,重新编译和重新安装,也还是存在上述问题。

3.3使用RVM进行Ruby安装(最终使用的安装方式)

4.在CentOS中安装RVM

http://rvm.io/

相关文档所在页面:http://rvm.io/rvm/security

安装gpg2 和导入keys,执行如下指令:

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

相关文档所在页面:http://rvm.io/

安装RVM,执行如下指令:

curl -sSL https://get.rvm.io | bash -s stable

安装RVM对应的默认Ruby and Rails

curl -sSL https://get.rvm.io | bash -s stable --rails

如上图,正在下载ruby-2.7.0。

下载完成后,正在对ruby-2.7.0进行编译

如上图,正在进行ruby-2.7.0的安装

如上图,ruby-2.7.0安装完成。

如上图,正在Fetch相关的.gem

RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。RubyGems大约创建于2003年11月,从Ruby 1.9版起成为Ruby标准库的一部分。

如上图所示,已安装了40个gem。

开始使用RVM,需要执行如下指令:

source /usr/local/rvm/scripts/rvm

查看已安装的ruby版本

ruby -v

5.数据库安装

参考文档地址:https://www.redmine.org/projects/redmine/wiki/RedmineInstall

Redmine支持的数据库如下图所示

在本CentOS系统中之前就已经安装了MySQL,查看已经安装的MySQL的版本,执行如下指令

mysql --version
或
mysql -V

如上图显示已安装的MySQL版本为5.6.43,若尚未安装可以参考文章《阿里云CentOS安装mysql-5.6.43

6.Readmine安装

官网文档:https://www.redmine.org/projects/redmine/wiki/RedmineInstall

点击上图中的download page,进入如下图页面

点击old releases,选择历史版本redmine-4.1.0.tar.gz,进行下载

将其通过xftp上传到CentOS的相关目录下

执行如下指令,修改其权限

chmod 777 ./redmine-4.1.0.tar.gz

解压缩

tar -zxvf redmine-4.1.0.tar.gz

根据实际安装的MySQL版本,对应的修改和执行sql语句

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY '自定义的密码';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

查看mysql的所有用户

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

编辑database.yml

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "上面的自定义密码" 

安装Bundler

gem install bundler

查看已安装的ruby列表

rvm list

卸载一个已安装的版本

rvm remove 2.7.0

现在,需要安装一个低版本的ruby2.6.5

rvm install 2.6.5

添加redmine用户组和redmine用户

给redmine用户设置密码

passwd redmine

执行bundle操作时,尽量不要使用root用户,切换到redmine用户。否则,在执行bundle操作时,会提示如下内容。

重新安装bundler

gem install bundler

 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID。这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限把自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。执行如下指令,指定redmine-4.1.0的拥有者为redmine

chown -R redmine:redmine ./redmine-4.1.0

切换到redmine用户

su redmine

切换到root修改sudoers

先添加sudoers文件的写权限

chmod u+w /etc/sudoers

修改sudoers

vi /etc/sudoers 

添加redmine    ALL=(ALL)       ALL,如下图所示

撤销sudoers文件写权限

chmod u-w /etc/sudoers

根据config/database.yml中数据库的配置,安装配置的adapter需要的gems,执行如下指令:

bundle install

切换到root,给redmine用户分配/usr/local/rvm目录的写权限,执行如下指令:

chown -R redmine:redmine ./rvm

切换到redmine,再次尝试执行如下指令:

bundle install

注意:修改database.yml添加或者移除adapter后,一定要执行指令bundle install指令

这个步骤生成一个随机密钥被Rails用来编码存储有会话数据的cookie,从而防止被篡改。

重新启动后,生成新的密钥会使所有现有会话失效。

或者,可以将这个密钥存储在config/secrets.yml

执行指令,生成加密session信息的密钥

bundle exec rake generate_secret_token

在redmine-4.1.0进入之后的根目录下,执行如下指令,生成数据库结构

RAILS_ENV=production bundle exec rake db:migrate

报错Error:Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE  INDEX `wiki_pages_wiki_id_title`  ON `wiki_pages` (`wiki_id`, `title`)

报错信息:索引字段的长度超出了限制的长度767。

 MySQL的ENGINE=InnoDB时,系统变量innodb_large_prefix开启则索引键前缀限制为3072字节。如果禁innodb_large_prefix,不管是什么表,索引键前缀限制为767字节。

因此,需要开启MySQL的innodb_large_prefix。

查询MySQL引擎的命令:

show engines;

开启MySQL的innodb_large_prefix

set global innodb_large_prefix = ON;

 show variables like 'innodb_large_prefix'

需要同时修改MySQL的innodb_file_format

set global innodb_file_format = Barracuda;

此时,删除redmine数据库,重新创建redmine数据库并授权给redmine用户

CREATE DATABASE redmine CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

在redmine-4.1.0进入之后的根目录下,重新执行如下指令,生成数据库结构,成功执行不再报Error。

RAILS_ENV=production bundle exec rake db:migrate

执行如下指令,插入默认配置数据到数据库中,在命令执行过程中,会要求选择语言,此处选择zh,如下图所示,默认配置数据已成功导入。

RAILS_ENV=production bundle exec rake redmine:load_default_data

在redmine-4.1.0进入之后的根目录下,执行如下指令,设置文件的拥有者和相关操作权限:

mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R redmine:redmine files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets

如果在这些目录下已包含有文件,要确保这些文件是不可执行的

sudo find files log tmp public/plugin_assets -type f -exec chmod -x {} +

执行如下指令,测试安装

bundle exec rails server webrick -e production

WEBrick启动后,在浏览器中访问http://localhost:3000/  ,应该可以看到Redmine的欢迎页面。

或者在Xshell中使用curl访问

curl 127.0.0.1:3000

点击浏览器中Redmine主页右上角的登录,输入账号admin/admin,进入主操作页面。

登录成功后,进入如下图页面,提示修改密码

点击应用按钮,修改密码后,进入如下图页面,可以根据实际情况设置账号的基本信息。

7.RVM常用指令

查看可以安装的ruby

rvm list known

安装指定版本的ruby,如:2.6.5

rvm install 2.6.5

若系统中已安装了多个版本的ruby,则可以指定默认使用的版本

rvm use 2.6.5 --default 

查看已安装的ruby列表

rvm list

卸载一个已安装的版本

rvm remove 2.7.0

切换到指定版本的ruby

rvm use 2.6.5

猜你喜欢

转载自blog.csdn.net/chenbinqq/article/details/107403081