redmine是基于ruby开发的一套项目管理软件,最近公司需要更换项目管理软件,之前一直使用禅道PMS,但是最近想尝试使用其他的管理项目的软件,看是否逼PMS好用,所以最近几天在研究了下redmine,发现redmine还是挺不错的,有免费版本和收费版本。当然收费版本集成了很多已经有的插件,一键安装,功能也比较齐全。这里主要还是讲下免费版本的安装,我这里讲的是redmine集成阿里云RDS,阿里云企业邮箱以及nginx整合在一起。一键安装的话装完之后需要更改配置文件。
linux下安装redmine
安装基本的软件环境
# yum install zip unzip libyaml-devel zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel gcc ruby-devel gcc-c++ make postgresql-devel ImageMagick-devel sqlite-devel perl-LDAP mod_perl perl-Digest-SHA
安装PHP、php-fpm和phpMyAdmin
安装php、php-fpm和相关扩展包
yum install php php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-soap php-fpm
设置自启,并启动php-fpm服务
chkconfig php-fpm on
service php-fpm start 安装phpMyAdmin # yum install phpmyadmin
修改phpMyAdmin虚拟目录配置文件,允许远程访问
# vi /etc/httpd/conf.d/phpmyadmin.conf
(Apache 2.2) 把 “Allow from 127.0.0.1” 修改为 “Allow from all”
Allow from all
(Apache 2.4) 添加 “Require all granted”
Require all granted
修改phpMyAdmin配置文件config.inc.php,将认证方式 ‘cookie’ 改为 ‘http’
$cfg['Servers'][$i]['auth_type'] = 'http';
安装Ruby
curl -sSL https://get.rvm.io | bash(有可能执行不了 可以打开这个页面复制所有脚本到服务器执行)
source /etc/profile.d/rvm.sh
列出所有ruby版本
# rvm list known
Redmine 3.2不支持Ruby 2.3,所以安装Ruby 2.2.8
# rvm install 2.2.8
检查ruby版本
# ruby -v
安装Rubygems(Ruby包管理器)
# yum install rubygems
为Redmine创建空数据库和用户
我这边用的是阿里云的RDS,所以直接在实例上创建数据库和可读写的用户 然后获取阿里云RDS的地址
安装Redmine
下载Redmine
# cd /var/www # wget http://www.redmine.org/releases/redmine-3.2.2.tar.gz
解压并重命名文件夹
# tar xfz redmine-3.2.2.tar.gz # mv redmine-3.2.2 redmine # rm -rf redmine-3.2.2.tar.gz
配置redmine数据库连接字符串
# cd /var/www/redmine/config # cp database.yml.example database.yml vi database.yml
production: adapter: mysql2 database: redmine host: 阿里云的地址 username: 实例创建的用户 password: ",密码" encoding: utf8
# cd /var/www/redmine # gem install bundler # bundle install --without development test # bundle config mirror.https://rubygems.org https://gems.ruby-china.org #下载速度快点的话 更改源
bundler是用来管理ruby的包依赖的工具
为Rails生成cookies秘钥
rake generate_secret_token
创建数据库结构
RAILS_ENV=production rake db:migrate
生成缺省数据
RAILS_ENV=production REDMINE_LANG=zh rake redmine:load_default_data
激活FCGI
# cd /var/www/redmine/public # cp dispatch.fcgi.example dispatch.fcgi # cp htaccess.fcgi.example .htaccess
安装mod_fcgi
yum install mod_fcgid
Redmine配置
# cd /var/www/redmine/config # cp -v configuration.yml.example configuration.yml
# vi configuration.yml
attachments_storage_path: /opt/redmine/files (上传附件存放位置)
配置日志
# cp -v additional_environment.rb.example additional_environment.rb
# vi additional_environment.rb
#Logger.new(PATH,NUM_FILES_TO_ROTATE,FILE_SIZE) config.logger = Logger.new('/path/to/logfile.log', 2, 1000000) config.logger.level = Logger::INFO
配置Email
发送邮件要用到mail 公司用的是阿里云的 附上我的配置:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: “smtp.mxhichina.com”
port: 25
authentication: :login
domain: ‘******’
user_name: ‘*******’
password: ‘*******’
调整文件系统权限(选择运行redmine的用户 不然会报错)
cd /var/www/redmine/ mkdir -p tmp tmp/pdf public/plugin_assets chown -R www.www /var/www/redmine/
安装Passenger(用于整合Nginx)
gem install passenger passenger-install-nginx-module
修改nginx配置文件,配上我自己的配置,我这边配置了SSL。
# vi /etc/nginx/nginx.conf
redmine请看redmine的使用