CentOS 7 安装 redmine(包含MySQL安装)

在 CentOS 7 里面安装 redmine4.2.2
安装过程走了一点弯路,写下教程让大家可以尽量避坑

参考链接

官方安装教程 https://www.redmine.org/projects/redmine/wiki/Install_Redmine_421_on_Centos_7

官方文档其实已经很完善,但还存在一些问题
首先就是版本的问题,redmine 和使用到的ruby, gems, 数据库 之间存在版本兼容问题,稍微搞错可能导致要重装
其次是资源来源问题,国外的资源链接拉取慢,访问不了,要切换成国内的资源链接

1.安装必要的资源包

yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel sqlite-devel wget mysql-devel httpd mod_ssl

2.安装Ruby 2.7.3
这句资源链接拉取不了

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

要改成

gpg2 --keyserver hkp://pgp.mit.edu --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

这句资源链接拉取不了

curl -L get.rvm.io | bash -s stable

要改成

\curl -sSL https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash

然后执行

source /etc/profile.d/rvm.sh
rvm reload
rvm requirements run

这句就是坑,我按这个执行,默认装了2.7.4 ,到安装后期才发现是这里装错版本,导致不兼容的问题

rvm install 2.7

这里我们要特指 2.7.3

rvm install 2.7.3

验证Ruby安装成功

rvm list
ruby --version

3.安装Redmine 4.2.2
这里把安装路径设定为 /var/www/

wget https://redmine.org/releases/redmine-4.2.2.tar.gz
tar xvfz redmine-4.2.2.tar.gz
mv redmine-4.2.2 /var/www/
export REDMINE=/var/www/redmine-4.2.2
cd $REDMINE
cp config/database.yml.example config/database.yml

做一下配置文件配置,可以看到这里面是关于数据库登录名密码的一些相关配置
如果没有数据库,我们可以在此安装MySQL数据库
如果是其他数据库,可以参考官方文档 https://www.redmine.org/projects/redmine/wiki/RedmineInstall#fn1

vi config/database.yml

(按Esc输入:q 退出编辑模式,输入:wq 保存后退出)

4.安装MySQL 5.7.35
回到根目录,下载MySQL

cd ~
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm

必须回到 /etc/yum.repos.d/ 路径下执行安装命令

cd /etc/yum.repos.d/
yum install mysql-server

(安装过程出现询问是否确认安装,输入y回车,这里安装要花一点时间)

启动 MySQL

systemctl start mysqld

获取安装时的临时密码

grep 'temporary password' /var/log/mysqld.log

登录mysql,输入刚刚获取的临时密码,出现mysql> 即登录成功

mysql -u root -p

修改登录密码,注意sql 语句后面要跟分号; 注意初始的密码强度校验(密码设置时必须包含大小写字母、特殊符号、数字,并且长度大于8位)
这里将密码设置为P@ssw0rd

ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd';

创建redmine数据库,第二句里P@ssw0rd替换成自己的数据库密码

CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
show databases;
(mysql> exit 离开mysql)

设置开机自启动MySQL

systemctl enable mysqld

回去redmine配置文件配置数据库连接

vi config/database.yml

(输入a进入编辑模式,按Esc输入:q 退出编辑模式,输入:wq 保存后退出)

5.安装Gems 和创建Database Schema

cd $REDMINE
gem install bundler

在执行以下命令时,先出现黄色字体,耐心再等一下

bundle install --without development test


bundle exec rake generate_secret_token

执行以下两句往数据库建表并插入初始数据

RAILS_ENV=production REDMINE_LANG=en bundle exec rake db:migrate
RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data

6.安装Passenger 6.0.8

这里不指定版本也是会装成最新的了(我实际装了6.0.10版,不过也能兼容)

gem install passenger -v 6.0.8

yum install -y epel-release yum-utils
yum-config-manager --enable epel
yum clean all && sudo yum update -y
yum install -y pygpgme curl
curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
yum install -y mod_passenger

用这一句验证安装是否成功

/usr/bin/passenger-config validate-install

用这一句验证安装

/usr/bin/passenger-config --ruby-command

创建新的配置文件,配置redmine 网站连接
先看看本机ip

ip addr show

vi /etc/httpd/conf.d/redmine.conf

复制以下内容,修改里面的ServerName项,如无域名可以ip替代
(输入a进入编辑模式,按Esc输入:q 退出编辑模式,输入:wq 保存后退出)

PassengerRuby /usr/local/rvm/gems/ruby-2.7.3/wrappers/ruby

<VirtualHost *:80>
ServerName yourserver.domain.org
DocumentRoot "/var/www/redmine-4.2.2/public"

ErrorLog logs/redmine_error_log
LogLevel warn

<Directory "/var/www/redmine-4.2.2/public">
    Options Indexes ExecCGI FollowSymLinks
    Require all granted
    AllowOverride all
</Directory>

7.配置权限

cd $REDMINE
cd ..
chown -R apache:apache redmine-4.2.2
chcon -R -t httpd_log_t redmine-4.2.2/log/
chcon -R -t httpd_tmpfs_t redmine-4.2.2/tmp/
chcon -R -t httpd_sys_script_rw_t redmine-4.2.2/files/
chcon -R -t httpd_sys_script_rw_t redmine-4.2.2/public/plugin_assets/
restorecon -Rv redmine-4.2.2/

8.配置环境变量
在以下文件后添加两行

vi /etc/sysconfig/httpd>

PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY=0
PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY=0

保存退出
(输入a进入编辑模式,按Esc输入:q 退出编辑模式,输入:wq 保存后退出)

9.最后重启httpd

systemctl restart httpd

发现报错
根据提示输入

systemctl status httpd.service
看到报错提示与/etc/httpd/conf.d/redmine.conf相关

vi /etc/httpd/conf.d/redmine.conf
发现第一行不知道为什么少了Pa , 详细请看第六步最后

补齐信息后重新运行即可
systemctl restart httpd

(运行不起来多数是/etc/httpd/conf.d/redmine.conf 或者 config/database.yml 里的配置问题)
如上图,第一行是
PassengerRuby /usr/local/rvm/gems/ruby-2.7.2/wrappers/ruby
实际没有该路径,要更改为
PassengerRuby /usr/local/rvm/gems/ruby-2.7.3/wrappers/ruby
否则网站打开会报错

成功后,访问http://ip即可访问redmine

登录名admin
密码admin

如果网站打不开,可能是防火墙没有打开相关端口
查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports

开放80端口,配置立即生效

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

登陆后会要求重置密码
设置系统参数,管理员信息

posted @ 2021-09-22 14:21  JaneDeng  阅读(2340)  评论(5)    收藏  举报