[Redmine] Centos5上安装Redmine3.0+nginx+thin部署
项目管理的需要所以安装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 on Centos install HowTo
- RedmineInstall
- http://www.redmine.org/projects/redmine/wiki/Redmine_on_CentOS_installation_HOWTO
- 在 Nginx 上配置 Thin 執行 Redmine
声明:
本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/46989377 作者orangleliu 知识共享 署名-相同方式共享 3.0协议
[Redmine] Centos5上安装Redmine3.0+nginx+thin部署的更多相关文章
- 在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成功 ...
- ubuntu12.4上安装minigui3.0.12
在ubuntu12.4上安装minigui3.0.12 一下载源文件 移植所需的文件可以从minigui官网下载:http://www.minigui.org/en/download/ 主要文件有: ...
- 在Centos7上安装wxPython4.0.4
在linux上安装wxPython4.0.4时需要gtk+2.0,在安装wxPython4.0.4遇到以下错误. linux上是用pip安装wxPython4.0.4的,执行命令如下: pip ins ...
- 通过xshell在linux上安装redis3.0.0
通过xshell在linux上安装redis3.0.0 0)首先要安装环境:yum install gcc-c++ 1)通过xftp6将redis安装包上传到linux:解压缩:tar -xvfz r ...
- CentOS 6.5上安装GlassFish4.0 过程笔记
CentOS 6.5上安装GlassFish4.0 过程笔记 1.安装JDK, 注意操作系统的位数, 64 or 32: [root@linuxidc ~]# mkdir /usr/java [ro ...
- 在ubuntu12.4上安装minigui3.0.12
在ubuntu12.4上安装minigui3.0.12 一下载源文件 移植所需的文件可以从minigui官网下载:http://www.minigui.org/en/download/ 主要文件有 ...
- 【趣学程序】Linux上安装Tengine(Nginx)
linux 安装tengine tengine是什么 tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳 ...
- centos7上安装zabbix4.0
zabbix4.0已经推出有一段时间了,针对之前版本做了很多优化配置,易用性得到提高,特别lts(long team support)长技术支持版本,官方说提供5年的稳定技术支持,在商业化运用上,是比 ...
- 在Fedora8上安装MySQL5.0.45的过程
本来想安装最新的5.6.13-1版本,下载下来后,依赖的包rpmlib无处下载,无法只得作罢.从Foreda8的安装光盘中找到了以下文件: mysql-5.0.45-4.fc8.i386.rpm my ...
随机推荐
- 四柱加强版汉诺塔HanoiTower----是甜蜜还是烦恼
我想很多人第一次学习递归的时候,老师或者书本上可能会举汉诺塔的例子. 但是今天,我们讨论的重点不是简单的汉诺塔算法,而是三柱汉诺塔的延伸.先来看看经典的三柱汉诺塔. 一.三柱汉诺塔(Hanoi_Thr ...
- JAVA 练习 找出素数
package com.zhang.hello; public class Task { /** * 1. 输出打印九九乘法表 * */ public void NO1(){ for(int i=1; ...
- 关于使用Git的几点小技巧
告诉git忽略对已经纳入版本管理的文件a的修改,git会一直忽略此文件直到重新告诉git可以再次跟踪此文件: git update-index --assume-unchanged a 告诉git恢复 ...
- java基础复习+大数运算
String: Array: 下面分别是大数加法,加法,乘法,取模
- MySQL where 子句
MySQL where 子句 我们知道从MySQL表中使用SQL SELECT 语句来读取数据. 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中. 语法 以下是SQL ...
- PHP MySQL Update
UPDATE 语句用于中修改数据库表中的数据. 更新数据库中的数据 UPDATE 语句用于更新数据库表中已存在的记录. 语法 UPDATE table_name SET column1=value, ...
- getParameter的用法总结
getParameter得到的都是String类型的.或者是用于读取提交的表单中的值(http://a.jsp?id=123中的123),或者是某个表单提交过去的数据: getAttribute则可以 ...
- IOS开发初体验
IOS开发初体验 搭建开发环境 不多说什么了,开发环境的搭建太简单了,上App Store搜索XCode下载就行了,说多了都是眼泪 创建第一个IOS项目--HolleIOS 创建工程 选择工程创建位置 ...
- Linux 环境下一些常用的命令(二)
11. chown命令 "chown"命令就是改变文件拥有者和所在用户组.每个文件都属于一个用户组和一个用户.在你的目录下,使用"ls -l",你就会看到像这样 ...
- [lua]luasocket.c:20:17: fatal error: lua.h: No such file or directory
安装luasocket的时候出现了如下的错误 问题 $ tar xzf luasocket-2.0.2.tar.gz $ cd luasocket-2.0.2 $ $ make cd src; mak ...