CentOS 6.4下安装redmine

本文为CentOS 6.4下安装redmine-2.5.0的笔记,按照 官方文档 进行安装。

安装 ruby

yum install ruby
yum install ruby-devel
yum install rubygems

安装 redmine

wget 'http://www.redmine.org/releases/redmine-2.5.0.tar.gz'
tar xzvf redmine-2.5.0.tar.gz
gem install bundler
gem install mysql2.
yum install ImageMagick ImageMagick-devel
bundle install --without development test

配置 redmine

  • 以 root 用户登录 mysql
    mysql -uroot -p
    
  • 创建 redmine 用户及库
    CREATE DATABASE redmine CHARACTER SET utf8;
    CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'redmine';
    GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
    
  • 修改数据库配置文件
    cp config/database.yml.example config/database.yml
    diff config/database.yml config/database.yml.example
    10,11c10,11
    <   username: redmine
    <   password: "redmine"
    ---
    >   username: root
    >   password: ""
    
  • 初始化会话存储
    rake generate_secret_token
    
  • 创建数据库表结构
    RAILS_ENV=production rake db:migrate
    
  • 解决上一步可能出现的错误

    rake aborted! Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    Tasks: TOP => db:migrate => environment

    确定 mysql 启动时指定的 mysql.sock 文件的路径

    ps aux | grep mysql.sock
    

    显示的 mysql.sock 路径可能为“ --socket=/tmp/mysql.sock

    修改 redmine 数据库配置,在 production 配置中添加 socket 项:

    production:
      ...
      socket: /tmp/mysql.sock
    

    重新进行上一步操作。

  • 初始化数据
    RAILS_ENV=production REDMINE_LANG=zh rake redmine:load_default_data
    
  • 创建相关目录
    mkdir -p tmp tmp/pdf public/plugin_assets
    sudo chown -R nobody:nobody files log tmp public/plugin_assets
    sudo chmod -R 755 files log tmp public/plugin_assets
    

试运行 redmine

ruby script/rails server webrick -e production
  • 浏览器打开页面

    http://localhost:3000

    使用 用户名 admin ,密码 admin 登录后,立即修改密码。

    使用下面的命令生成随机的密码:

    cat /dev/urandom | head -1 | md5sum | head -c 8
    

配置 redmine

  • 修改 config/settings.yml

使用 Nginxpassenger

wget 'http://nginx.org/download/nginx-1.4.6.tar.gz'
tar xzvf nginx-1.4.6.tar.gz
gem install passenger
yum install pcre-devel
passenger-install-nginx-module
  • 交互式安装过程
    • Automatically download and install Nginx?

      选 2. No: I want to customize my Nginx installation. (for advanced users)

    • Where is your Nginx source code located?

      填解压的 nginx 源码包路径

    • Where do you want to install Nginx to?

      /usr/local/nginx

  • 修改 /usr/local/nginx/conf/nginx.conf

    在最后的 } 前添加以下配置

    include vhosts/*.conf;
    
  • 添加站点配置文件 /usr/local/nginx/conf/vhosts/redmine.conf
    server {
      listen  80;
      server_name <域名>;
      root <redmine根目录>/public;
      passenger_enabled on;
      client_max_body_size 10m; # Max attachemnt size
    }
    
  • 启动 nginx
    /usr/local/nginx/sbin/nginx
    
  • 现在可以正式访问站点了

    http://<域名>

支持 OpenID 第三方帐号登录

  • 安装 openid
    gem install ruby-openid
    
  • 使用 admin 帐号登录系统,在“管理 - 配置 - 认证”中勾选上“允许使用OpenID登录和注册”。
  • 用户注册时“密码”可以省略, 填上 OpenID URL 即可。
  • 如何获得Google的OpenID URL?

    上面的 000000000000000000000 可能为任意的数字串

  • 管理员确认注册后即可在登录界面上输入 OpenID URL 直接登录

    一般浏览器的输入框是有记忆功能的,双击后会出现输入历史下拉列表,直接选择即可。

  • 安装插件简化 OpenID 登录
    • https://github.com/jorgebg/redmine-openid-selector (不推荐) 为原始分枝,在 redmine-2.5.0 下不能直接安装会导致站点登录界面出现404错误,解决方案在 这里 ,简而言之就是把插件目录名中的 - 改为 _
    • https://github.com/computerminds/redmine_openid_selector (不推荐) 这个分枝安装后可用,但界面为英文(其实界面就一句英文)。
    • https://github.com/tangxinfa/redmine_openid_selector (推荐) 为支持中文我fork了上一个分枝。
    • 通用的插件安装过程:
      cd plugins
      git clone https://github.com/tangxinfa/redmine_openid_selector.git
      rake redmine:plugins:migrate RAILS_ENV=production
      touch tmp/restart.txt
      
    • 通用的插件卸载过程:
      rake redmine:plugins:migrate NAME=redmine-openid-selector VERSION=0 RAILS_ENV=production
      rm -rf plugins/redmine-openid-selector
      touch tmp/restart.txt
      

    现在在登录及注册页面直接点击第三方站点Logo即可。

样式美化

git clone git://github.com/pixel-cookers/redmine-theme.git public/themes/pixel-cookers
touch tmp/restart.txt

现在可以使用 admin 登录后台,在“管理 - 配置 - 显示 - 主题”中启用主题 Pixel-cookers