centos7 redmine安装过程

时间:2021-07-12 21:10:42

 

 mysql安装配置
 

redmine 部署过程

redmin官方文档写的太烂加上不熟悉ruby搞了半天,回到家后觉得还是记录下好,希望可以帮助有需要的人,少走弯路.

版本说明

下面的版本很重要
redmine 版本 3.3 官方竟然给了个百度云盘

wget http://olvimidkv.bkt.clouddn.com/redmine-3.3.0.tar.gz

系统版本 centos7.2

ruby 版本 2.3.3
gem 版本 2.6.12
rails 版本 4.2.6

准备工作

新装系统的话就更新下吧,不是的话,就尽量不要这样更新

yum update

安装epel源

yum install epel-release 

依赖

yum install curl-devel sqlite-devel libyaml-devel 

开始部署

ruby yum安装版本对不上 源码安装各种报错,应该是openssl版本低 于是不折腾了 直接rvm

安装rvm及ruby

rvm 可以安装管理多个ruby版本

gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3     curl -L https://get.rvm.io | bash -s stable source /etc/profile.d/rvm.sh  #set up system environment for Ruby, 这步不可少 rvm reload   rvm install 2.3.3

简单的使用

rvm list 查看ruby rvm use 2.2.0 使用ruby rvm install xxxx 安装一个版本的ruby rvm remove xxxx 卸载一个版本的ruby 

安装rails及rake

上一步安装完成之后,下面的就很简单了.

如果嫌慢可以换阿里的源

gem source -r https://rubygems.org/ gem source -a http://mirrors.aliyun.com/rubygems/

安装

gem install rake -v 12.0.0 gem install rails -v 4.2.6

安装redmine

[root@ihuilian ~]#yum install -y mysql mysql-server
[root@ihuilian ~]#yum install -y mysql*  
[root@ihuilian ~]# chkconfig mysqld on
[root@ihuilian ~]# service mysqld start
[root@ihuilian ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n
 ... skipping.
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!

[root@ihuilian ~]# setenforce 0

[root@ihuilian ~]# mysql -uroot -hlocalhost -phuilian123
mysql> create database redmine_db character set utf8;
Query OK, 1 row affected (0.23 sec)

mysql> create user 'redmine_admin'@'localhost' identified by 'redmine_pass';

mysql> grant all privileges on redmine_db.* to "redmine_admin"@"localhost";
Query OK, 0 rows affected (0.14 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

[root@ihuilian redmine]# tar zxf redmine-2.5.0.tar.gz

[root@ihuilian redmine]# ln -sv redmine-2.5.0 redmine
[root@ihuilian redmine]# cd redmine/config
[root@ihuilian config]# cp database.yml.example database.yml
修改如下
production:
  adapter: mysql2
  database: redmine_db
  host: 192.168.74.128
  username: redmine_admin
  password: "redmine_pass"
  encoding: utf8


[root@ihuilian redmine]# bundle install

  

redmine 需要用到数据库,所以先装个mysql或者meriadb(centos7默认meriadb)
修改数据库默认字符为utf8
在数据库配置文件/etc/my.cnf(centos7在/etc/my.cnf.d/下面)的[mysqld]下面加上

character-set-server=utf8

然后启动数据库,创建一个数据库 redmine

用户名密码随意
权限如下,如果你用root这个就可以忽略.

grant all on redmine.* to redmine; grant all on redmine.* to redmine @localhost; set password for redmine@localhost=password('redmine');

把你下载的redmie解压放到需要放的目录下面,然后进入redmine/config,下面的操作都在这个目录下

cd database.yml.example database.yml

修改内容如下,数据库名不要擅自改,无论你用的是mysql还是meriadb

production:  adapter: mysql2  database: redmine  host: localhost  username: redmine  password: "redmine"  encoding: utf8

创建表,这一步会出现各种问题,如果按照上面的装的话,基本就没有什么问题了.

提示缺少ruby扩展,不想一个个装的话,在当前目录下

bundle install 然后 rake db:migrate RAILS_ENV="production"

载入配置

rake redmine:load_default_data RAILS_ENV="production"

这时候会提示你选择语言,输入:zh

为rails生产cookie秘钥

rake generate_secret_token

启动redmine

使用以下命令启动 -d 是把输出打印到后台,ruby使用绝对路径

/usr/local/rvm/rubies/ruby-2.3.3/bin/ruby /home/work/redmine/bin/rails server webrick -e production -d

这样会启动一个监听localhost的3000端口

可以使用

curl http://localhost:3000

检查,没问题的话,使用Nginx做个反向代理就可以了.

server { listen 80; server_name redmine.xxx.com; access_log logs/redmine_access.log main; error_log logs/redmine_error.log; location / { proxy_pass http://localhost:3000; } }