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; } }