注册 登录  
 加关注

网易博客网站关停、迁移的公告:

将从2018年11月30日00:00起正式停止网易博客运营
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭研自动组

快乐耕耘,收获成长!

 
 
 

日志

 
 

平台部署记录  

2011-02-24 15:54:15|  分类: 平台开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

作者:小云 

1. 安装gcc编译器,下载ruby源码编译的时候需要用到
Sudo apt-get install gcc

2. 通过下载ruby1.8.6的源码编译安装1.8.6
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p114.tar.gz
tar xvfz ruby-1.8.6-p114.tar.gz
cd ruby-1.8.6-p114
./configure
Make
Sudo make install
Sudo make install-doc
export PATH=/usr/local/ruby/bin:$PATH

可能出现的错误:
  • 在执行./config的时候出现错误configure: error: no acceptable C compiler found in $PATH
    是没有安装c编译器的原因,通过apt-get install gcc安装
  • 执行make时出现了
    math.c:37:13: error: missing binary operator before token "(" ... 的错误,查找原因是源文件的语法错误
    解决办法:打开math.c,找到37行 #elif define(ERANGE),比较其他的代码,这里少了一个d,正确的是 #elif defined(ERANGE)
    修改保存后继续执行

3. 安装gems
可以从http://rubyforge.org/projects/rubygems/下载相应的gems版本
wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
tar xzvf rubygems-1.3.7.tgz
cd rubygems-1.3.7/
sudo ruby setup.rb

4. 安装zlib
sudo apt-get install zlib1g-dev即可,然后到ruby源码目录的ext/zlib下
ruby extconf.rb
make && sudo make install

5. 安装rails版本为2.0.2
sudo gem install rails -v=2.0.2
可能出现的错误:
  • 安装gem后 通过gem install rails -v=2.0.2 安装rails出现了错误
    no such file to load -- zlib
    ERROR: While executing gem ... (NameError)
    uninitialized constant Gem::Commands::InstallCommand
    需要安装zlib,见第四步

6. 安装Mysql
apt-get install mysql-server mysql-client
mysql --default-character-set=gbk -h 127.0.0.1 -u root -p -b
create database redmine character set utf8;
登陆mysql创建数据库redmine

7. 安装mysql驱动相关软件
apt-get install libmysql-ruby libopenssl-ruby

8. 安装apache
sudo apt-get install apache2

9. 安装mongrel和mongrel_cluster
sudo gem install mongrel
sudo gem install mongrel_cluster

10. checkout代码
安装svn sudo apt-get install subversion
svn checkout http://svn.hz.netease.com/svn/testing/QualityAssurance/Redmine

11. 进入代码根目录下执行
mongrel_rails cluster::configure -e production -p 8000 -a 127.0.0.1 -N 2 –C config/mongrel_cluster.yml

会在config目录下自动生成mongrel_cluster.yml文件
-e 指定运行环境,有production(生产)、development(开发)、test(测试)三个选项。
-p 指定监听端口
-a 127.0.0.1 指定Mongrel在localhost下监听
-N 2 启动两个Mongrel进程,端口从8000~8001

在代码根目录下mongrel_rails cluster::start mongrel_rails cluster::stop启动和关闭mongrel
错误解决:
mongrel_rails cluster::start命令时发现mongrel.4000.log中有错误,
no such file to load -- openssl (RuntimeError)
但是openssl插件应该已经安装过的,按照网上的方法编译ruby源文件中的openssl,编译方法如下:
进入ruby源文件中openssl目录下对文件进行编译
1
2
3
4
5
6
7
@ruby-1.8.6-p114$ sudo apt-get install libopenssl-ruby
接着,切换到ext/openssl目录下:
@ruby-1.8.6-p114$ cd ext/openssl
@ruby-1.8.6-p114/ext/openssl$ ruby extconf.rb
生成makefile文件后,直接在这个目录下make和sudo make install的,就好了:
@ruby-1.8.6-p114/ext/openssl$ make
@ruby-1.8.6-p114/ext/openssl$ sudo make install

但是make的时候又出现了以下错误:
openssl_missing.h:119: error: conflicting types for ‘BN_rand_range’
/usr/include/openssl/bn.h:411: note: previous declaration of ‘BN_rand_range’ was here
openssl_missing.h:120: error: conflicting types for ‘BN_pseudo_rand_range’
/usr/include/openssl/bn.h:412: note: previous declaration of ‘BN_pseudo_rand_range’ was here
经过网上查找反复试验,最后通过以下方式解决
下载ruby1.8.7,用1.8.7 ext/openssl中的文件替换1.8.6对应的目录下的文件编译才能正确
我这边是直接替换了整个openssl文件夹,按照资料说明,替代以下文件也可以
There are quite a few hits on this on Google, mainly relating to various Linux distros. Based on this Gentoo patch I figured you need to download the Ruby 1.8.7p72 tarball, and copy the following files from it to your 1.8.6 source:
(all subdirectories relative to the source root)
/ext/openssl/extconf.rb
/ext/openssl/openssl_missing.c
/ext/openssl/openssl_missing.h
/ext/openssl/ossl_hmac.c

如果还是有错误,同时系统自带了openssl,试一下去除系统自带的openssl $ sudo mv /usr/include/openssl/ ~/
参考:http://robanderson123.wordpress.com/2009/10/05/compiling-ruby-1-8-6-on-snow-leopard/
http://netfork.javaeye.com/blog/432928
如果需要手动下载openssl,wget http://www.openssl.org/source/openssl-0.9.8r.tar.gz

  评论这张
 
阅读(1183)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018