Mysql环境

mysql安装

  1. 系统为CentOS 7(64位),所以到 Mysql官网下载 mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
  2. 卸载系统中自带的 mariadb

    1. # 查看系统中是否安装了mariadb
    2. rpm -qa | grep mariadb
    3. # 卸载已安装的mariadb
    4. rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
  3. /usr/local/ 下创建mysql文件夹

    1. cd /usr/local
    2. mkdir mysql
  4. 将安装包上传到 /usr/local/mysql 目录,解压

    1. tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
  5. 依次安装bundle中的组件:

    1. # 安装bundle中的server依赖组件
    2. rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm
    3. rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
    4. rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
    5. rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm
    6. rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm
    7. # 如果缺少libaio,则还需安装libaio依赖
    8. yum install libaio
    9. # 安装bundle中的server
    10. rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm
    11. # redmine还需要的bundle中的包
    12. rpm -ivh mysql-community-libs-compat-8.0.28-1.el7.x86_64.rpm
    13. rpm -ivh mysql-community-devel-8.0.28-1.el7.x86_64
  6. 验证

    1. rpm -qa | grep mysql

对mysql进行初始化操作:

  1. 执行初始化

    1. mysqld --initialize;
    2. chown mysql:mysql /var/lib/mysql -R
    3. # 启动服务,并设置开机自启
    4. systemctl start mysqld.service
    5. systemctl enable mysqld
  2. 查看安装的mysql的root初始化密码

    1. cat /var/log/mysqld.log | grep password
  3. 进入mysql

    1. # 使用root身份进入mysql,初始密码为/var/log/mysqld.log中随机生成的密码
    2. mysql -uroot -p
  4. 使用sql修改root密码为root

    1. -- 使用 mysql_native_password 组件修改密码
    2. alter user 'root'@'localhost' identified with mysql_native_password by 'root'; -- 最后的root即为密码
    3. -- 使用exit或者\q退出,然后使用新设置的密码重新连接
  5. 设置允许远程访问

    1. create user 'root'@'%' identified with mysql_native_password by 'root';
    2. grant all privileges on *.* to 'root'@'%' with grant option;
    3. flush privileges;
  6. 设置密码不过期

    1. alter user 'root'@'localhost' identified by 'root' password expire never;

关闭防火墙:

  1. systemctl stop firewalld
  2. systemctl disable firewalld

为redmine创建数据库

  1. 创建redmine数据库

    1. create database redmine character set utf8mb4; -- 生产库
    2. create database redmine_test character set utf8mb4; -- 测试库,根据需要,也可以不创建
    3. create database redmine_dev character set utf8mb4; -- 开发库,根据需要,也可以不创建
  2. 创建redmine用户

    1. -- @'%' 表示所有主机都可以连接
    2. create user 'redmine'@'%' identified by 'redmine';
  3. redmine授权

    1. grant all privileges on redmine.* to 'redmine'@'%'; # 授予对redmin数据库的权限
    2. grant all privileges on redmine_test.* to 'redmine'@'%'; # 授予对redmine_test数据库的权限
    3. grant all privileges on redmine_dev.* to 'redmine'@'%'; # 授予对redmine_dev数据库的权限
    4. flush privileges; # 刷新权限

ruby环境

安装ruby

  1. 下载ruby安装包,需要大于2.3.0

    1. wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.gz
  2. 解压

    1. tar -zxvf ruby-2.6.3.tar.gz
  3. 安装依赖

    1. yum install -y cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make
    2. yum -y install centos-release-scl
    3. yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    4. # 启用gcc9
    5. scl enable devtoolset-9 bash
    6. yum install openssl-devel -y
  4. 编译并安装

    1. mkdir /usr/local/ruby
    2. ./configure --prefix=/usr/local/ruby
    3. make && make install
  5. /usr/local/ruby/bin加入PATH环境变量

  6. 修改ruby的配置:

    1. # 查看ruby的源
    2. gem sources -l
    3. # 移除默认的源
    4. gem sources --remove https://rubygems.org/
    5. # 添加阿里源
    6. gem sources -a https://mirrors.aliyun.com/rubygems/
  7. 下载rubygems

    1. wget https://rubygems.org/rubygems/rubygems-3.0.4.zip
  8. 解压

    1. unzip rubygems-3.0.4.zip
  9. 进入rubygems-3.0.4文件夹

    1. ruby ./setup.rb

安装bundle

使用gem安装rake、bundle

  1. gem install bundle
  2. gem install rake

如果要卸载ruby,换其他版本,只需要删除解压的ruby包,以及/usr/local/ruby文件夹即可。

redmine环境

安装redmine

  1. 下载redmine安装包redmine-4.2.4.tar.gz
  2. 将安装包上传到服务器并解压到/usr/local

    1. tar -zxvf redmine-4.2.4.tar.gz -C /usr/local
  3. 进入解压出来的 redmin-4.2.4文件夹

修改配置

配置数据库:

  1. 将example配置文件复制一份

    1. cp configuration.yml.example configuration.yml
    2. cp database.yml.example database.yml
  2. 修改database.yml中的数据库配置信息:databaseusernamepassword等,例如:

    1. test:
    2. adapter: mysql2
    3. database: redmine_test
    4. host: localhost
    5. username: redmine
    6. password: "redmine"
    7. # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
    8. encoding: utf8mb4

安装依赖

安装系统需要的依赖:

  1. yum install ImageMagick-devel ImageMagick -y

使用bundle安装redmine需要的ruby依赖:

  1. cd config/
  2. bundle install --without development test # 只能用普通用户执行,需要给该用户sudo权限
  3. # 如果缺少系统依赖,会有报错提示,只需按提示使用yum安装对应依赖,然后再次执行该命令继续安装即可

生成密钥,导入表结构

生成新的session密钥:

  1. cd config/
  2. bundle exec rake generate_secret_token

会生成Rails使用的随机密钥,用于编码存储会话数据的cookie,从而防止被篡改。生成新的令牌会在重新启动后使所有现有会话失效

创建表结构:

  1. cd config/
  2. RAILS_ENV=production bundle exec rake db:migrate

导入初始数据,包括默认问题类型、工作流程等:

  1. cd config/
  2. RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data

测试启动:

  1. bundle exec rails server webrick -e production -b 192.168.29.147 # 不指定主机时,默认绑定localhost

启动之后,默认绑定端口为3000,可以使用浏览器进行访问:http://192.168.29.147:3000

登录默认用户为:admin/admin

首次登录需要修改密码,例如改为 admin123