Nginx下Redmine2.6配置
Apache下Redmine2.6配置,请参考:http://blog.linuxeye.com/405.html
CentOS6.6下安装Redmine2.6+MySQL5.6+Nginx,教程如下:
1. 初始环境
系统版本:CentOS-6.6-x86_64-minimal.iso
安装LNMP,参考《lnmp一键安装包》;修改options.conf,home_dir=/data/wwwroot
2. ruby安装
- cd lnmp/src
- wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz
- tar xzf ruby-2.1.5.tar.gz
- cd ruby-2.1.5
- ./configure --prefix=/usr/local/ruby
- make && make install
- cd ..
添加到环境变量
- vi /etc/profile
- export PATH=/usr/local/ruby/bin:$PATH
- . /etc/profile
查看ruby版本号
- # ruby -v
- ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
3. 安装rails
- #安装gem
- wget http://production.cf.rubygems.org/rubygems/rubygems-2.4.5.tgz
- tar xzf rubygems-2.4.5.tgz
- cd rubygems-2.4.5
- ruby setup.rb
- cd ..
提示:gem是一种文件组织的包,一般的ruby的很多插件都有由这种各种的包提供。
- # gem -v
- 2.4.5
- # which gem
- /usr/local/ruby/bin/gem
由于国内网络原因(你懂的),导致rubygems.org存放 Amazon S3上面的资源文件间歇性连接失败。所以你会与遇到gem install rack或bundle install的时候半天没有响应,具体可以用gem install rails -V来查看执行过程。下面替换成淘宝的GEM镜像站:
- # gem sources -l
- *** CURRENT SOURCES ***
- https://rubygems.org/
- # gem sources --remove https://rubygems.org/
- https://rubygems.org/ removed from sources
- # gem sources -a https://ruby.taobao.org/
- https://ruby.taobao.org/ added to sources
- # gem sources -l
- *** CURRENT SOURCES ***
- 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版本
- gem install rails -v=3.2
- # rails -v
- Rails 3.2.19
4. 安装redmine2.6
- wget http://www.redmine.org/releases/redmine-2.6.1.tar.gz
- tar xzf redmine-2.6.1.tar.gz -C /data/wwwroot
- mv /data/wwwroot/redmine{-2.6.1,}
创建redmine数据库
- cd /data/wwwroot/redmine
- # mysql -uroot -p
- 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
- cd /data/wwwroot/redmine/config
- cp database.yml.example database.yml
- cat database.yum #修改对应数据库连接信息
- production:
- adapter: mysql2
- database: redmine
- host: localhost
- username: root
- password: "linuxeye"
- encoding: utf8
安装redmine依赖的所有ruby包
- cd ..
- gem install bundler #注意是在网站根目录下执行
- bundle install --without development test rmagick #完成redmine依赖包的安装
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
调整文件系统权限
- cd /data/wwwroot/redmine
- mkdir -p tmp tmp/pdf public/plugin_assets
- chown -R www.www /data/wwwroot/redmine
tmp和tmp/pdf (若不存在则创建该路径,用于生成 PDF 文件);public/plugin_assets (若不存在则创建该路径,plugins资源)
5. 在WEBrick服务上测试Redmine是否安装成功
- # vi /etc/passwd #使www用户有bash权限,lnmp脚本安装www用户没有bash权限
- www:x:501:501::/home/www:/bin/bash
- # 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服务
- cd /data/wwwroot/redmine/public/
- cp dispatch.fcgi.example dispatch.fcgi
- cp htaccess.fcgi.example .htaccess
- chown -R www.www ./*
安装Passenger(用于整合Nginx)
- gem install passenger
- passenger-install-nginx-module
重新编译Nginx
- cd ~/lnmp/src
- cd nginx-1.6.2
- /usr/local/nginx/sbin/nginx -V #查看已经编译参数
- #在其后加上--add-module=/usr/local/ruby/lib/ruby/gems/2.1.0/gems/passenger-4.0.57/ext/nginx参数,我的编译参数如下
- ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module \
- --with-http_spdy_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module \
- --with-http_flv_module --with-ld-opt=-ljemalloc \
- --add-module=/usr/local/ruby/lib/ruby/gems/2.1.0/gems/passenger-4.0.57/ext/nginx
- make
- mv /usr/local/nginx/sbin/nginx{,_`date +%m%d`}
- cp objscp objs/nginx /usr/local/nginx/sbin/
配置Nginx
vi /usr/local/nginx/conf/nginx.conf#在http {}直接添加
- passenger_root /usr/local/ruby/lib/ruby/gems/2.1.0/gems/passenger-4.0.57;
- passenger_ruby /usr/local/ruby/bin/ruby;
添加虚拟主机(/usr/local/nginx/conf/vhost/bugs.linuxeye.com.conf)如下:
- server {
- listen 80;
- server_name bugs.linuxeye.com;
- access_log /data/wwwlogs/bugs.linuxeye.com_nginx.log combined;
- index index.html index.htm index.jsp index.php;
- include none.conf;
- root /data/wwwroot/redmine/public;
- passenger_enabled on;
- }
原文:http://blog.linuxeye.com/407.html
Nginx下Redmine2.6配置的更多相关文章
- Nginx下的https配置
https: https(Secure Hypertext Transfer Protocol) 安全超文本传输协议 它是以安全为目标的http通道,即它是http的安全版.它使用安全套接字层(SSL ...
- ThinkPHP3.2.3 Nginx 下 URL_MODEL 的配置
ThinkPHP3.2.3 的 URL_MODEL 包括普通模式(0).PATHINFO 模式(1).REWRITE 模式(2).兼容模式(3)等 4 种 URL 模式.在 Apache 下只要在配置 ...
- nginx下修改svn配置
最近公司的SVN服务器地址做了变更,而我用的操作系统是Ubuntu操作系统,我也不想把以前下载的代码重新进行修改,我想通过修改svn地址,应该可以,终于在网上通过查找资料,找到了解决的方法: ...
- Yii2项目高级模版 三个模块在同一个目录下的重定向配置
最近做项目用到的,非常好用. 修改 advanced/backend/config/main.PHP 文件如下: return [ 'homeUrl' => '/admin', 'compone ...
- nginx下根据指定路由重定向
前言: 最近在搭建vue后台,后端接口是PHP写的,线上构建好之后,需要请求其他域名下的接口,开发环境已经使用proxytable解决了接口问题,为了开发和生成的代码一致, 编译后的代码,放在ngin ...
- Nginx使用SSL模块配置https
背景 开发微信小程序,需要https域名,因此使用Nginx的SSL模块配置https 步骤 一.去域名管理商(如腾讯云.阿里云等)申请CA证书 二.在Nginx中配置,一般情况下域名管理商会提供配置 ...
- 如何在Nginx下配置PHP程序环境
1.nginx与PHP的关系 首先来看nginx与php的关系, FastCGI的关系(而不是像apache那样安装成nginx的模块) FastCGI的意思是, 快速的通用网关接口:CGI Comm ...
- nginx+php 在windows下的简单配置安装
开始前的准备 PHP安装包下载:http://windows.php.net/downloads/releases/php-5.5.14-Win32-VC11-x86.zip Nginx 下载地址:h ...
- nginx下目录浏览及其验证功能配置记录
工作中常常有写不能有网页下载东西的需求,在Apache下搭建完成后直接导入文件即可达到下载/显示文件的效果;而Nginx的目录列表功能默认是关闭的,如果需要打开Nginx的目录列表功能,需要手动配置, ...
随机推荐
- 《OD学hadoop》第一周0625
一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统 www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1- ...
- 【Todo】Java Queue Stack Vector ArrayList
Java集合框架里存在Queue这个接口,之后有不同类型的队列的实现. 有Stack这个类实现堆栈,其实这个类是通过继承Vector的方式来实现的, Vector和ArrayList的实现方式差不多, ...
- XE4 IOS开发环境配置
l 配置IOS的安装开发环境 使用RAD XE4开发IOS程序,一台MAC是必须的(也可以用虚拟机), MAC上需要安装Xcode, 独立版本的Commnand Line Tools 以及RAD的pa ...
- POJ2886 Who Gets the Most Candies? 线段树 反素数
题意:有一群小朋友围成一个环,编号1,2,3…N.每个人手上握着一个非0的数字,首先第K个人出列,然后看他手上的数字,假设为m,则从下一个开始第m个人出列,一直如此.并设i为小于等于N的最大反素数,问 ...
- (转载)NSTimer
转自:http://www.cnblogs.com/smileEvday/archive/2012/12/21/NSTimer.html 看到这个标题,你可能会想NSTimer不就是计时器吗,谁不会用 ...
- Using newInstance() to Instantiate a Fragment(转)
I recently came across an interesting question on StackOverflow regarding Fragment instantiation: Wh ...
- C的输入输出函数的基本用法
printf输出函数: printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息. printf()函数的调用格式为: printf("<格式化字符串>& ...
- Android 着色器 Tint 研究
Tint 这个东西 主要用来减少apk体积的,比如说我现在有一个textview,他的背景图 有两种,一种是当获得焦点时显示的a图,另一种是 失去焦点时显示的b图. 相信大家开发的时候 这种需求做过很 ...
- Symfony2 学习笔记之内部构件
Symfony2内部是怎样工作的以及我们如何来扩展它呢?从外部整体上看,symfony2代码是由许多独立的层构成,每一层都是建立在前一层基础之上.其中,自动加载时不受框架直接管理的,它完全是在Univ ...
- 【PHP入门到精通】:Ch04:流程控制语句
Ch04: 流程控制语句4.1 条件控制语句(1)if (expr) { statement1;statement2;} (2)if (expr) { statement1; } else { s ...