[Redmine] Centos5上安装Redmine3.0+nginx+thin部署

时间:2022-06-25 05:58:04

项目管理的需要所以安装Redmine,其实wiki放在上面也不错的。

首先是安装,ruby应用第一次装,把坑记住。

nginx, mysql是已经安装好的,只需要配置, 结合nginx的部署方式很多,我这里就选择一种,因为ruby没接触过,只是应用能跑通就好。

基础环境

  • centos5.1
  • ruby on rails 4.2
  • ruby 2.0.0 2.1 2.2 1.9.3
  • mysql5.0 +
  • redmine 3.0.4

    首先是版本对照 请参见 installation guide

下面都是root操作

ruby 安装

检查是否有ruby环境

# rpm -aq|grep ruby

没有ruby环境,检查了下yum里面的ruby版本,太老了。

源码安装参考 ruby 2.0.0 centos 6

yum -y install libxslt-devel libyaml-devel libxml2-devel gdbm-devel libffi-devel
yum -y install zlib-devel openssl-devel libyaml-devel readline-devel curl-devel openssl-devel
yum -y install pcre-devel mysql-devel ImageMagick-devel ImageMagick

version=2.0.0-p645
cd /usr/local/src
wget ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-$version.tar.gz
tar zxvf ruby-$version.tar.gz
cd ruby-$version
./configure
make
make install

检查下ruby的版本信息

# ruby -v
ruby 2.0.0p645 (2015-04-13 revision 50299) [x86_64-linux]

安装gems

version=2.0.7
cd ..
wget http://production.cf.rubygems.org/rubygems/rubygems-$version.tgz
tar zxvf rubygems-$version.tgz
cd rubygems-$version
/usr/local/bin/ruby setup.rb

检查下安装

# gem -v
2.0.7

安装ruby 相关的插件,但是gem这网站被天朝的某个玩意挡住了。

还有淘宝的兄弟搞了个镜像 http://ruby.taobao.org/ , 这里有相关使用的文档。

# gem sources --remove https://rubygems.org/
# gem sources -a https://ruby.taobao.org/
 gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org/

接下来继续安装需要的包

gem install bundler
gem install rmagick
gem install rails
gem install mysql2

其实只要安装bundler也ok,后面bundler会自动安装其他的依赖包

Redmine 安装

下载并安装依赖包

http://www.redmine.org/releases/redmine-3.0.4.tar.gz
tar zxvf redmine-3.0.4.tar.gz
cp -R  redmine-3.0.4  /data/www/
mv redmine-3.0.4  redmine
cd redmine/
#这里Gemfile文件中的rubygem地址不能用还是改成 https://ruby.taobao.org/ 吧
bundle install    #默认是使用 Gemfile,然后安装所有的依赖包

!!安装中 rmagick 安装出现了错误,ImageMagick 版本过低。

接下来就是修改配置等

创建mysql用户

mysql -uroot -p

mysql> create database redmine character set utf8;
Query OK, 1 row affected (0.00 sec)

mysql> create user 'redmine'@'localhost' identified by 'redmine#mysql';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on redmine.* to 'redmine'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

修改数据库配置

# cd /data/www/redmine/config
# cp database.yml.example database.yml
# vim database.yml

主要修改生产的配置,整个配置很容易看懂

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

生成配置信息,下面几个操作

  • 生成session的加密token
  • 生成数据表
  • 导入初始化数据
# cd /data/www/redmine/config
# RAILS_ENV=production bundle exec rake generate_secret_token
# RAILS_ENV=production bundle exec rake db:migrate
# RAILS_ENV=production bundle exec rake redmine:load_default_data

本地测试

# cd /data/www/redmine/
# bundle exec rails server webrick -p30005 -b 0.0.0.0 -e production

curl "http://localhost:30005" 可以访问到,这样基本的功能就有了。

nginx配置

我这里采用了一个thin的插件

# gem install thin
# thin install
Thin service already installed at /etc/rc.d/thin
mkdir -p /etc/thin

To configure thin to start at system boot:
on RedHat like systems:
  sudo /sbin/chkconfig --level 345 thin on
on Debian-like systems (Ubuntu):
  sudo /usr/sbin/update-rc.d -f thin defaults
on Gentoo:
  sudo rc-update add thin default

Then put your config files in /etc/thin

# mv /etc/rc.d/thin /etc/init.d/thin

* 注意 *

如果要使用thin插件,要在 /data/www/redmine/Gemfile 文件中的插件列表中添加一句

gem "thin" 

创建配置

vim /etc/thin/redmine.yml

pid: /var/run/thin/thin.pid
group: nginx
wait: 30
timeout: 30
log: /var/log/thin/thin.log
max_conns: 1024

require: []
environment: production
max_persistent_conns: 512
servers: 4
daemonize: true
user: nginx
socket: /tmp/thin.sock
chdir: /data/www/redmine

注意redmin的路径

日志设置

vim /etc/logrotate.d/thin

/var/log/thin/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
/etc/init.d/thin restart >/dev/null
endscript
}

nginx配置

单写一个redmine.conf ,include到nginx.conf

编辑nginx配置,注意路径可能不一样

vim /usr/local/nginx/conf/redmine.conf

upstream thin_cluster {
    server unix:/tmp/thin.0.sock;
    server unix:/tmp/thin.1.sock;
    server unix:/tmp/thin.2.sock;
    server unix:/tmp/thin.3.sock;
}

server {
    listen 80;
    server_name  you.domain.name;

    access_log /var/log/nginx/redmine-access;
    error_log /var/log/nginx/redmine-error;

    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    client_max_body_size 10m;
    client_body_buffer_size 128k;
    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_read_timeout 90;
    proxy_buffer_size 4k;
    proxy_buffers 4 32k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size 64k;

    #your redmine path
    root /data/www/redmine/public;
    proxy_redirect off;

    location / {
        try_files $uri/index.html $uri.html $uri @cluster;
    }

    location @cluster {
        proxy_pass http://thin_cluster;
    }
}

然后重启thin,reload nginx

/etc/init.d/thin  restart
/etc/init.d/nginx reload

结果

[Redmine] Centos5上安装Redmine3.0+nginx+thin部署

参考

下面的都是参考资料,要注意系统和软件版本

声明:

本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/46989377 作者orangleliu 知识共享 署名-相同方式共享 3.0协议

[Redmine] Centos5上安装Redmine3.0+nginx+thin部署的更多相关文章

  1. 在Mac OS X 10.9上安装 Thrift 0.9.1

    Thrift 0.9.1 官方文档中对于Mac OS X上的安装描述适合 10.8,但不适用于10.9. Homebrew  macport 默认都不能在 10.9上安装Thrift 0.9.1成功 ...

  2. ubuntu12.4上安装minigui3.0.12

    在ubuntu12.4上安装minigui3.0.12 一下载源文件 移植所需的文件可以从minigui官网下载:http://www.minigui.org/en/download/ 主要文件有: ...

  3. 在Centos7上安装wxPython4.0.4

    在linux上安装wxPython4.0.4时需要gtk+2.0,在安装wxPython4.0.4遇到以下错误. linux上是用pip安装wxPython4.0.4的,执行命令如下: pip ins ...

  4. 通过xshell在linux上安装redis3.0.0

    通过xshell在linux上安装redis3.0.0 0)首先要安装环境:yum install gcc-c++ 1)通过xftp6将redis安装包上传到linux:解压缩:tar -xvfz r ...

  5. CentOS 6.5上安装GlassFish4.0 过程笔记

    CentOS 6.5上安装GlassFish4.0 过程笔记 1.安装JDK, 注意操作系统的位数, 64 or 32: [root@linuxidc ~]# mkdir /usr/java  [ro ...

  6. 在ubuntu12.4上安装minigui3.0.12

      在ubuntu12.4上安装minigui3.0.12 一下载源文件 移植所需的文件可以从minigui官网下载:http://www.minigui.org/en/download/ 主要文件有 ...

  7. 【趣学程序】Linux上安装Tengine(Nginx)

    linux 安装tengine tengine是什么 tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳 ...

  8. centos7上安装zabbix4.0

    zabbix4.0已经推出有一段时间了,针对之前版本做了很多优化配置,易用性得到提高,特别lts(long team support)长技术支持版本,官方说提供5年的稳定技术支持,在商业化运用上,是比 ...

  9. 在Fedora8上安装MySQL5.0.45的过程

    本来想安装最新的5.6.13-1版本,下载下来后,依赖的包rpmlib无处下载,无法只得作罢.从Foreda8的安装光盘中找到了以下文件: mysql-5.0.45-4.fc8.i386.rpm my ...

随机推荐

  1. ASP.NET 5 RC1 升级 ASP.NET Core 1.0 RC2 记录

    升级文档: Migrating from DNX to .NET Core Migrating from ASP.NET 5 RC1 to ASP.NET Core 1.0 RC2 Migrating ...

  2. Debian 8 jessie, OpenSSH ssh connection server responded Algorithm negotiation failed

    安装了debian 8.5 就出问题了. root@debian8:~# lsb_release -aNo LSB modules are available.Distributor ID: Debi ...

  3. 错误 Metadata file 'C:\Common\bin\Debug\Common.dll' could not be found

    一个通用方法de类库/总是报这个错误/很明显就是没有成功生成程序集... 但是就是找不到哪里的错误!!!! 如果是代码写错的话,可能会直接提示在哪个文件中哪行代码写错了,然后dll生成不了,但是这个错 ...

  4. 蓝凌OA二次开发手册

    1.蓝凌OA表单前端调用后台数据 一.后台存储过程: create procedure sp_test @ftext nvarchar(50) as begin select @ftext as '测 ...

  5. 【DDD】领域驱动设计实践 —— 一些问题及想法

    在社区系统的DDD实践过程中,将遇到一些问题和产生的想法记录下来,共讨论. 本文为[DDD]系列文章中的其中一篇,其他内容可参考:使用领域驱动设计思想实现业务系统. 1.dto.model和entit ...

  6. Redis常用命令总结

    在Redis中一共有五种数据类型. 一.String 类型操作 //添加 set key value //查询 get key //删除 del key //拼接 append key value(返 ...

  7. linux之正则

    grep命令: -V      打印grep的版本号 -E      解释PATTERN作为扩展正则表达式,也就相当于使用egrep. -F      解释PATTERN作为固定字符串的列表,由换行符 ...

  8. ABP框架记录

    1.先在Core项目中建立模型Models>Model.cs/ModelManager.cs 2.在Application中建立接口和具体类:IModelAppService.csModelAp ...

  9. 在 Windows 10 中使用 OpenAI Spinning Up

    前段时间,openAI 发布了 Spinning Up ,本篇博客将介绍如何在 Windows 系统中使用 Spinning Up. 什么是 Spinning Up 先来说说 Spinning Up, ...

  10. Java调用R语言

    R是统计计算的强大工具,JAVA是做应用系统的主流语言.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的系统. 一.Rserve(远程通信模式) Rserve是一个基于TCP/ ...