Redmine version | Supported Ruby versions | Rails version used |
---|---|---|
4.0 (upcoming) | ruby 2.2 (2.2.2 and later), 2.3, 2.41, 2.5 | Rails 5.2 |
3.4 | ruby 1.9.34, 2.0.03, 2.1, 2.22, 2.3, 2.41 | Rails 4.2 |
3.3 | ruby 1.9.34, 2.0.03, 2.1, 2.22, 2.3 | Rails 4.2 |
本次安装版本:redmine 3.4.6 、ruby2.4.4、rails4.2、mysql 5.7.19
环境初始化: yum install -y make gcc gcc-c++ lrzsz ncurses-devel cmake libxml2 libxslt libxml2-devel libxslt-devel openssl-devel zlib-devel ImageMagick ImageMagick-devel
禁用SELINUX : sed -ri 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
安装mysql
tar -zxf boost_1_59_0.tar.gz -C /usr/local/ && cd /usr/local && ln -s boost_1_59_0 boost
tar -zxf mysql-5.7.19.tar.gz
cd mysql-5.7.19
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_EXTRA_CHARSETS=complex -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0
chown -R mysql:mysql /usr/local/mysql
cd /usr/local/mysql
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
/usr/local/mysql/bin/mysql_secure_installation
安装Ruby
wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.4.tar.gz
tar -zxf ruby-2.4.4.tar.gz
cd ruby-2.4.4
./configure
make && make install
安装Rails
gem sources -l
可更换gem源为https://ruby.taobao.org/ 或 https://gems.ruby-china.org/
gem update --system #更新gem
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/ #切换至国内源
gem install rails -v 4.2
下载Redmine
wget http://www.redmine.org/releases/redmine-3.4.6.tar.gz
tar -zxf redmine-3.4.6.tar.gz
mv redmine-3.4.6 /usr/local/
创建数据库
mysql -h localhost -u root -p
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
修改配置文件
cp /usr/local/redmine/config/database.yml.example /usr/local/redmine/config/database.yml
vi database.yml
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "123456"
encoding: utf8
socket: /usr/local/mysql/mysql.sock
安装依赖程序
gem install bundler
bundle config mirror.https://rubygems.org https://gems.ruby-china.org
bundle install --without development test
创建数据库表及默认设置
cd /usr/local/redmine
RAILS_ENV=production bundle exec rails db:migrate
RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data
为Rails生成cookies秘钥
bundle exec rake generate_secret_token
创建相关目录及权限设置
mkdir -p tmp tmp/pdf public/plugin_assets
chown -R nobody:nobody files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
启动Redmine
cd /usr/local/redmine
bundle exec rails server webrick -e production -b 0.0.0.0 -d
默认端口为3000,访问http://ip:3000,默认管理员为admin/admin
安装PhusionPassenger和Nginx
gem install passenger
passenger-install-nginx-module
遇到如下错误是因为openssl版本太高的原因,折腾了我好久。我的openssl编译安装版本是openssl-1.1.0g,uninstall卸载编译
安装的版本,使用centos6.6 yum安装的默认版本openssl-1.0.1e可以正常编译nginx扩展passenger
NGINX配置
user nobody;
worker_processes auto;
worker_cpu_affinity auto;
worker_rlimit_nofile 20480;
error_log logs/error.log;
pid logs/nginx.pid;
events {
worker_connections 10240;
use epoll;
}
http {
server_tokens off;
server_names_hash_bucket_size 128;
server_names_hash_max_size 1024;
client_max_body_size 10m;
client_header_buffer_size 16k;
large_client_header_buffers 4 16k;
default_type application/octet-stream;
include mime.types;
passenger_root /usr/local/lib/ruby/gems/2.4.0/gems/passenger-5.3.5;
passenger_ruby /usr/local/bin/ruby;
open_file_cache max=65535 inactive=20s;
open_file_cache_errors on;
open_file_cache_min_uses 2;
open_file_cache_valid 30s;
log_not_found off;
gzip on;
gzip_vary on;
gzip_http_version 1.0;
gzip_buffers 4 8k;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
gzip_comp_level 2;
gzip_min_length 1k;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 60;
log_format main '$remote_addr - $remote_user [$time_local $request_time] "$request" '
'$status $body_bytes_sent "$http_referer" "$content_type" "$request_body" '
'"$http_user_agent" "$upstream_addr" "$http_x_forwarded_for"';
server {
listen 80;
server_name redmine.usc.com;
access_log logs/access.log main;
error_log logs/error.log;
passenger_enabled on;
location / {
root /usr/local/redmine/public/;
index index.html index.htm;
}
}
}
配置SendMail发送邮件
yum install -y sendmail mail
service sendmail start
echo "hello world" >mail.txt
mail -s "mail from sendmail" [email protected] < mail.txt 测试往邮箱发信是否能收到
cp -p configuration.yml.example configuration.yml
在production: 下面添加如下内容
email_delivery:
delivery_method: :sendmail
修改settings.yml配置mail_from为自己需要的邮件显示名称,然后重启nginx即可
甘特图导出PNG图片中文乱码
mkdir /usr/share/fonts/truetype/arphic && cd /usr/share/fonts/truetype/arphic
wget https://ftp.gnu.org/non-gnu/chinese-fonts-truetype/gbsn00lp.ttf.gz
gunzip gbsn00lp.ttf.gz
修改configuration.yml配置为
rmagick_font_path: /usr/share/fonts/truetype/arphic/gbsn00lp.ttf
安装Scrum插件
进入/usr/local/redmine/plugins
wget https://redmine.ociotec.com/attachments/download/476/scrum-v0.18.0.tar.gz
tar -zxf scrum-v0.18.0.tar.gz
bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
########################################### 相关错误解决方法 ###################################
make时报错(chmod +x Makefile):make: *** No rule to make target `/include/ruby.h', needed by `zlib.o'. Stop.
yum install zlib-devel
cd ruby-2.4.4/ext/zlib
ruby ./extconf.rb
vi Makefile 将zlib.o: $(top_srcdir)/include/ruby.h 改成 zlib.o: ../../include/ruby.h;
make
make install
yum install openssl-devel
cd ruby-2.4.4/ext/openssl
ruby ./extconf.rb
vi Makefile
增加 top_srcdir = ../..
make
make install
yum-config-manager --enable epel
Traceback (most recent call last):
File "/usr/bin/yum-config-manager", line 6, in
import yum
ImportError: No module named yum
修改/usr/bin/yum-config-manager 第一行为!/usr/bin/python2.6 -tt