Nginx下Redmine2.6配置

Linux评论5阅读模式

Apache下Redmine2.6配置,请参考://linuxeye.com/405.html,CentOS6.6下安装Redmine2.6+MySQL5.6+Nginx,教程如下:

1. 初始环境

系统版本:CentOS-6.6-x86_64-minimal.iso

安装LNMP,参考《lnmp一键安装包》或《OneinStack》;修改options.conf,home_dir=/data/wwwroot

2. ruby安装

  1. cd lnmp/src
  2. wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz
  3. tar xzf ruby-2.1.5.tar.gz
  4. cd ruby-2.1.5
  5. ./configure --prefix=/usr/local/ruby
  6. make && make install
  7. cd ..

添加到环境变量

  1. vi /etc/profile
  2. export PATH=/usr/local/ruby/bin:$PATH
  3. . /etc/profile

查看ruby版本号

  1. # ruby -v
  2. ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]

3. 安装rails

  1. #安装gem
  2. wget http://production.cf.rubygems.org/rubygems/rubygems-2.4.5.tgz
  3. tar xzf rubygems-2.4.5.tgz
  4. cd rubygems-2.4.5
  5. ruby setup.rb
  6. cd ..

提示:gem是一种文件组织的包,一般的ruby的很多插件都有由这种各种的包提供。

  1. # gem -v
  2. 2.4.5
  3. # which gem
  4. /usr/local/ruby/bin/gem

由于国内网络原因(你懂的),导致rubygems.org存放 Amazon S3上面的资源文件间歇性连接失败。所以你会与遇到gem install rack或bundle install的时候半天没有响应,具体可以用gem install rails -V来查看执行过程。下面替换成淘宝的GEM镜像站:

  1. # gem sources -l
  2. *** CURRENT SOURCES ***
  3. https://rubygems.org/
  4. # gem sources --remove https://rubygems.org/
  5. https://rubygems.org/ removed from sources
  6. # gem sources -a https://ruby.taobao.org/
  7. https://ruby.taobao.org/ added to sources
  8. # gem sources -l
  9. *** CURRENT SOURCES ***
  10. https://ruby.taobao.org/

Redmine需要考虑Ruby版本兼容性问题,请参考:Installing Redmine

Redmine version Supported Ruby versions Rails version used
current trunk ruby 1.9.3, 2.0.0, 2.1, jruby-1.7.6 Rails 4.1
trunk < r13482 ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1, jruby-1.7.6 Rails 3.2
2.5, 2.6 ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1, jruby-1.7.6 Rails 3.2
2.4 ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, jruby-1.7.6 Rails 3.2

Redmine选择安装2.6版本,因此rails安装3.2版本

  1. gem install rails -v=3.2
  2. # rails -v
  3. Rails 3.2.19

4. 安装redmine2.6

  1. wget http://www.redmine.org/releases/redmine-2.6.1.tar.gz
  2. tar xzf redmine-2.6.1.tar.gz -C /data/wwwroot
  3. mv /data/wwwroot/redmine{-2.6.1,}

创建redmine数据库

  1. cd /data/wwwroot/redmine  
  2. # mysql -uroot -p  
  3. mysql> create database redmine;  

make sure to install the C bindings for Ruby that dramatically improve performance. You can get them by running gem install mysql2.

配置Redmine的database.yml

  1. cd /data/wwwroot/redmine/config
  2. cp database.yml.example database.yml
  3. cat database.yum #修改对应数据库连接信息
  4. production:
  5.   adapter: mysql2
  6.   database: redmine
  7.   host: localhost
  8.   username: root
  9.   password: "linuxeye"
  10.   encoding: utf8

安装redmine依赖的所有ruby包

  1. cd ..
  2. gem install bundler #注意是在网站根目录下执行
  3. bundle install --without development test rmagick #完成redmine依赖包的安装

bundler是用来管理ruby的包依赖的工具

为Rails生成cookies秘钥

  1. rake generate_secret_token

创建数据库结构

  1. RAILS_ENV=production rake db:migrate

生成缺省数据

  1. RAILS_ENV=production REDMINE_LANG=zh rake redmine:load_default_data

调整文件系统权限

  1. cd /data/wwwroot/redmine
  2. mkdir -p tmp tmp/pdf public/plugin_assets
  3. chown -R www.www /data/wwwroot/redmine

tmp和tmp/pdf (若不存在则创建该路径,用于生成 PDF 文件);public/plugin_assets (若不存在则创建该路径,plugins资源)

5. 在WEBrick服务上测试Redmine是否安装成功

  1. # vi /etc/passwd #使www用户有bash权限,lnmp脚本安装www用户没有bash权限
  2. www:x:501:501::/home/www:/bin/bash
  3. # su www -c "ruby script/rails server webrick -e production -d"

地址:http://IP:3000 (注意:打开iptables 3000端口号)
缺省管理员用户:

  • login: admin
  • password: admin

如果验证成功,则继续下面的步骤来使Redmine运行在Apache服务上

6.  配置Redmine在Nginx上运行

结束webrick服务

  1. cd /data/wwwroot/redmine/public/
  2. cp dispatch.fcgi.example dispatch.fcgi
  3. cp htaccess.fcgi.example .htaccess
  4. chown -R www.www ./*

安装Passenger(用于整合Nginx)

  1. gem install passenger
  2. passenger-install-nginx-module

重新编译Nginx

  1. cd ~/lnmp/src
  2. cd nginx-1.6.2
  3. /usr/local/nginx/sbin/nginx -V #查看已经编译参数
  4. #在其后加上--add-module=/usr/local/ruby/lib/ruby/gems/2.1.0/gems/passenger-4.0.57/ext/nginx参数,我的编译参数如下
  5. ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module \
  6. --with-http_spdy_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module \
  7. --with-http_flv_module --with-ld-opt=-ljemalloc \
  8. --add-module=/usr/local/ruby/lib/ruby/gems/2.1.0/gems/passenger-4.0.57/ext/nginx
  9. make
  10. mv /usr/local/nginx/sbin/nginx{,_`date +%m%d`}
  11. cp objscp objs/nginx /usr/local/nginx/sbin/

配置Nginx

vi /usr/local/nginx/conf/nginx.conf#在http {}直接添加

  1. passenger_root /usr/local/ruby/lib/ruby/gems/2.1.0/gems/passenger-4.0.57;
  2. passenger_ruby /usr/local/ruby/bin/ruby;

添加虚拟主机(/usr/local/nginx/conf/vhost/bugs.linuxeye.com.conf)如下:

  1. server {
  2. listen 80;
  3. server_name bugs.linuxeye.com;
  4. access_log /data/wwwlogs/bugs.linuxeye.com_nginx.log combined;
  5. index index.html index.htm index.jsp index.php;
  6. include none.conf;
  7. root /data/wwwroot/redmine/public;
  8. passenger_enabled on;
  9. }
Tue Jan 13 18:00:12 CST 2015

 
  • 本文由 yeho 发表于 2015-01-13
  • 转载请务必保留本文链接:https://linuxeye.com/407.html
Linux

Nginx反向代理永久性缓存

Nginx缓存简介 Nginx缓存方式有两种: 永久性的缓存:这种缓存若不手动删除,该缓存文件会一直生效,因此,永久缓存只是用于缓存网站中几乎不会更改的内容; 临时缓存:这种缓存是根据请求连接进行哈希...
Linux

Nginx Lua Redis防止CC攻击

Nginx Lua Redis防止CC攻击实现原理:同一个外网IP、同一个网址(ngx.var.request_uri)、同一个客户端(http_user_agent)在某一段时间(CCseconds...
Linux

Keepalived+Nginx架构整理版

Keepalived介绍 keepalived是一个类似于layer3, 4, 5 交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如...
Nginx中文域名配置 Linux

Nginx中文域名配置

Nginx虚拟主机上绑定一个带中文域名,比如linuxeye.中国,浏览器不能跳转。 why? 因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中...
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证