安装Ruby 到 /opt/ruby-2.0.0

tar -zxvf ruby-2.0.0-p481.tar.gz
cd ruby-2.0.0-p481
./configure --prefix=/opt/ruby-2.0.0
sudo make
sudo make install
whereis ruby
/opt/ruby-2.0.0/bin/ruby -version
cd /usr/local/bin/
sudo ln -s /opt/ruby-2.0.0/bin/ruby ruby
sudo ln -s /opt/ruby-2.0.0/bin/gem gem

注意: (Centos6.5)需要预先安装

sudo yum install openssl-devel
sudo yum install mysql-devel
sudo yum install zlib-devel

在后面的步骤中出现对应的无法找到xxx时, 到ruby-2.0.0-pxxx/ext/ 的对应的扩展目录下

sudo ruby extconf.rb
sudo make
sudo make install

安装RubyGems

tar -zxvf rubygems-2.3.0.tgz
sudo ruby setup.rb

准备MySQL数据库

sudo mysql -u root -p
略

安装Redmine

unzip redmine-2.5.1.zip
cd redmine-2.5.1
cd /var/www/
sudo mv ~/backup/redmine-2.5.1 ./redmine
cd redmine/config
cp database.yml.example database.yml
vi database.yml 修改数据库连接参数

用gem 安装依赖插件

cd backup/
sudo gem install --http-proxy http://127.0.0.1:3128 bundler
vi /var/www/redmine/Gemfile 查看, 不改动
到redmine根目录下
/opt/ruby-2.0.0/bin/bundle install --without development test rmagick
这一步如果网络不好, 要很长时间
然后是初始化数据库, 依次执行
RAILS_ENV=production /opt/ruby-2.0.0/bin/bundle exec /opt/ruby-2.0.0/bin/rake generate_secret_token
RAILS_ENV=production /opt/ruby-2.0.0/bin/bundle exec /opt/ruby-2.0.0/bin/rake db:migrate
RAILS_ENV=production /opt/ruby-2.0.0/bin/bundle exec /opt/ruby-2.0.0/bin/rake redmine:load_default_data
启动服务, 可以在最后加上 -d 参数后台运行
ruby script/rails server webrick -e production
ruby script/rails server webrick -e production -d

如果访问很慢, 可以做以下修改, 打开 /opt/ruby-2.0.0/lib/ruby/2.0.0/webrick/config.rb

找到General = {:ServerName     => Utils::getservername,:BindAddress    => nil,   # "0.0.0.0" or "::" or nil:Port           => nil,   # users MUST specify this!!:MaxClients     => 100,   # maximum number of the concurrent connections:ServerType     => nil,   # default: WEBrick::SimpleServer:Logger         => nil,   # default: WEBrick::Log.new:ServerSoftware => "WEBrick/#{WEBrick::VERSION} " +"(Ruby/#{RUBY_VERSION}/#{RUBY_RELEASE_DATE})",:TempDir        => ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp',:DoNotListen    => false,:StartCallback  => nil,:StopCallback   => nil,:AcceptCallback => nil,:DoNotReverseLookup => true,:ShutdownSocketWithoutClose => false,}

把 "DoNotReverseLookup" 的值从 nil 改为 true.

使用httpd 反向代理访问

sudo vi /etc/httpd/conf.d/redmine.confNameVirtualHost *:10088
<virtualhost *:10088="">DocumentRoot "/var/www/redmine/public"ServerName www.dummy.comErrorLog logs/www.dummy.com-error_logCustomLog logs/www.dummy.com-access_log commonProxyPass / http://localhost:3000/ProxyPassReverse / http://localhost:3000/</virtualhost><virtualhost *:10088="">DocumentRoot "/var/www/html"ServerName 192.168.10.106
</virtualhost>

第一个VirtualHost用于将www.dummy.com的访问跳转到3000端口

第二个VirtualHost用于保留原来的document root (否则全都到第一个VirtualHost去了)

错误解决

如果httpd 的 error_log里出现这种错误的: [Sun Jun 22 02:53:09 2014] [error] (13)Permission denied: proxy: HTTP: attempt to connect to 127.0.0.1:3000 (localhost) failed 需要打开selinux对httpd访问本机端口的限制:

setsebool httpd_can_network_connect=1

如果需要永久生效, 加上 -P 参数

setsebool -P httpd_can_network_connect 1

如果启动httpd时出现这样错误, 而目录又确实存在的: Starting httpd: Warning: DocumentRoot [/var/www/redmine/public] does not exist 需要用ls -Z 检查一下这个路径上每个目录, 属性是否正确, 否则就依次用这个命令重设属性:

sudo /sbin/restorecon redmine/
sudo /sbin/restorecon public/


添加到开机自启动

首先添加用户redmine (或者用别的用户也可以)

sudo useradd redmine
sudo passwd redmine

将redmine整个目录的owner改为redmine

sudo chown -R redmine:redmine /var/www/redmine

然后在/etc/init.d下创建启动脚本 redmine:

#!/bin/sh
#
# Startup script for redmine
#
# chkconfig: 345 90 10
# description: redmine project manager
# processname: redmine
# pidfile: /var/run/redmine.pid# Source function library.
. /etc/rc.d/init.d/functionsprogram="redmine"
port="3000"
server="webrick" #webrick|thin
other_opts="-d"program_home="/var/www/${program}/"
[ -d ${program_home} ] || exit 0
PIDFILE="/var/run/${program}.pid"
LOCKFILE="/var/lock/subsys/${program}"# See how we were called.
case "$1" instart)echo -n "Starting ${program} ..."#### Commands to start the process running# -d: detach# -e: environment# -p: port/bin/su - redmine -c "/usr/local/bin/ruby ${program_home}script/rails server ${server} -e production -p ${port} ${other_opts}"sleep 1echo `pgrep -f  "ruby script/rails server ${server} -e production -p ${port} ${other_opts}"` > ${PIDFILE}touch ${LOCKFILE}echo;;stop)echo -n "Shutting down ${program} ..."killproc ${program}echorm -f ${LOCKFILE}rm -f ${PIDFILE};;status)status ${program};;restart)$0 stop$0 start;;*)echo "Usage: $0 {start|stop|restart|status}"exit 1
esac
exit $?

将redmine添加到自启动

sudo /sbin/chkconfig --add redmine
看看是否添加成功
sudo /sbin/chkconfig --list

Centos5.8 安装 Redmine相关推荐

  1. bitnami redmine mysql_centos7 BitNami一键安装Redmine

    Redmine是一个灵活的项目管理web应用,采用Ruby on Rails框架开发.Redmine是典型的web 2.0网站,项目管理系统的后起之秀.Redmine支持多项目,灵活的角色权限管理,灵 ...

  2. Ubuntu使用docker安装redmine

    Ubuntu使用docker安装redmine 1 安装docker apt-get install docker.io 2 下载镜像 在docker hub中已经有redmine和mysql的官方镜 ...

  3. docker安装redmine步骤

    下载镜像 (可选步骤, 略过时会在第3,4步中自动安装) 1 2 docker pull docker.io/sameersbn/redmine docker pull docker.io/samee ...

  4. ecshop支持mysql5.5吗,centos5.5 安装配置 ecshop【nginx + php + mysql】

    centos5.5 安装配置 ecshop[nginx + php + mysql] 备注:建议使用centos5.5作为ecshop的注意,因为centos6的最新版本都是5.3以上的,所以而ecs ...

  5. centos 安装 redmine 2.1.4

    为什么80%的码农都做不了架构师?>>>    Redmine 2.1.4 http://rubyforge.org/frs/?group_id=1850 Ruby 1.8.7-p3 ...

  6. Linux下安装Redmine(项目管理软件)

    前置条件 需要安装 ruby,rubygems,rake,rails和mysql数据库. 安装Redmine 和 Ruby.Rails对应的版本: Redmine version Supported ...

  7. BitNami一键安装Redmine

    1. 简单介绍 对于一个新手,假设严格依照官方文档来安装redmine,我想会"疯"掉的.有没有一种简便的方法.有滴,那就是BitNami. BitNami提供redmine的一键 ...

  8. Centos 下安装redmine及设置发送邮件功能

    2019独角兽企业重金招聘Python工程师标准>>> 如果自己手动安装redmine及其相关依赖东西会非常多,所以这里使用bitnami redmine一键集成. 首先下载安装包b ...

  9. 安装数据库windows 安装redmine 详解

    时间紧张,先记一笔,后续优化与完善. 近来公司有须要,要找一个项目管理工具,网上看了redmine还不错,终究项目经理选择了它,让我把平台给搭建起来并熟悉其中的功能.搭建的过程中超过了我的预计还破费了 ...

  10. Windows下安装Redmine

    1.搭建Ruby on Rails环境 1.         安装RubyInstaller1.8.7-p330.exe在C盘目录下,并将子目录 bin 的路径加入到 Windows 的 PATH 环 ...

最新文章

  1. 【160天】尚学堂高琪Java300集视频精华笔记(129)
  2. SpringBoot+MySQL+MyBatis+Shiro+AdminLTE
  3. 目标检测学习笔记--DSSD算法
  4. gzip, gunzip, zcat - 压缩或展开文件
  5. Java应用程序中的SQL注入
  6. 互联网基建成果,快速实现一个clubhouse要多久
  7. iOS:以前笔记,未整理版。太多了,先放着吧。。。。。。。
  8. windwos cakephp mysql apache_配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
  9. python如何和qt交互_Python 之Pyqt5操作交互处理,原来这么简单!
  10. 【C Sharp笔记】2010年9月25日
  11. 打不开文件F:\vmware -副本\Ubuntu 16.vmdk:该虚拟机的磁盘已经由虚拟机或者快照使用
  12. python 转成摩尔斯电码_【无线电史话】比莫尔斯电码更直观 | 1919年的护林员通过Myer码传递信息...
  13. GitChat · 前端 | JavaScript 进阶之 Vue.js + Node.js 入门实战开发
  14. java教程 doc,java 基础教程.doc
  15. NestedScrollView与Viewpager滑动冲突
  16. 两条平行线之间的距离
  17. 云计算的认识和看法_我对云计算的认识
  18. odoo10参考系列--数据文件
  19. Binary Particle Swarm Optimization(BPSO) for Feature Selection(二进制粒子群求解特征选择)
  20. Photoshop如何使用滤镜之实例演示?

热门文章

  1. android加不进去百度云,安装android-x86教程。(没法再贴吧发表,只有百度网盘在线阅读...
  2. 动态规划 分享巧克力 4794_包装|颇具艺术欣赏性的巧克力创意包装设计
  3. 机器学习概念篇:监督学习、过拟合,正则化,泛化能力等概念以及防止过拟合方法总结
  4. 关于全局异常捕获的思考-真正的全局异常捕获
  5. 凸优化学习笔记(四):对偶性、KKT 条件、敏感性分析
  6. 01串匹配问题 —— Binary Strings【Gym - 101845B】
  7. 一阶线性微分方程的初等积分法例题
  8. oracle的unload,Oracle 业务数据unload恢复过程
  9. 204.计数质数 (力扣leetcode) 博主可答疑该问题
  10. JavaScript的注意事项