存档

‘Ruby’ 分类的存档

从零开始教你如何在Ubuntu 8.10上安装Ruby 1.8

2009年3月1日

ubuntu你是否想只花几分钟就能够在Ubuntu 8.10上安装好Ruby , RubyGems和一些常用gems?
你可以利用我们在前面日志中提到的 Passenger-Stack 自动完成全部安装。当然,或许你更喜欢自己动手,一步一步安装。
安装步骤如下:
一、安装系统基础

apt-get update
apt-get -y install build-essential zlib1g zlib1g-dev libxml2 libxml2-dev libxslt-dev sqlite3 libsqlite3-dev locate git-core
apt-get -y install curl wget

二、安装ImageMagick

apt-get -y install libmagick9-dev

三、安装Ruby 1.8 (MRI)

apt-get -y install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8 libreadline-ruby1.8 libruby1.8 libopenssl-ruby
ln -s /usr/bin/ruby1.8 /usr/bin/ruby
ln -s /usr/bin/rdoc1.8 /usr/bin/rdoc
ln -s /usr/bin/irb1.8 /usr/bin/irb
ln -s /usr/bin/ri1.8 /usr/bin/ri
注:可能有些人担心安装已经编译好的ruby影响性能,可以在官方网站下载源码自行编译安装。

四、通过源码安装RubyGems

curl http://de.mirror.rubyforge.org/rubygems/rubygems-1.3.1.tgz | tar -xzv
cd rubygems-1.3.1 &&; ruby setup.rb install
cd .. && rm -rf rubygems-1.3.1
ln -s /usr/bin/gem1.8 /usr/local/bin/gem
gem sources -a http://gems.github.com # add Github as a gem source, you won't regret it

五、安装ruby gems 启动器

gem install rake nokogiri hpricot builder cheat daemons json uuid rmagick sqlite3-ruby fastthread rack

下一步该做什么?

到目前我们已经成功安装了ruby,ruby gems,如果你只是用于ruby开发,到这里就可以了,当然,如果你是rails开发者,你还要通过gem install rails 安装rails。 如果你想用Apace 托管你的程序,那么请继续往下读。

可选: 安装Apache和Passenger

echo "deb http://apt.brightbox.net hardy main" > /etc/apt/sources.list.d/brightbox.list
wget -q -O - http://apt.brightbox.net/release.asc | apt-key add -
apt-get update
apt-get -y install libapache2-mod-passenger

如果你需要运行php5

apt-get -y install php5 libapache2-mod-php5 php5-mysql
/etc/init.d/apache2 restart

可选:安装一个非常基本的防火墙

apt-get -y install ufw
ufw allow to 0.0.0.0/0 port 80
ufw allow to 0.0.0.0/0 port 22 # (or whichever port you use for ssh)
ufw allow to 0.0.0.0/0 port 25 # (if you need mail in)
ufw enable

信息来源:RubyInside

rock Ruby ,

Passenger-Stack帮助你快速安装ruby和Passenger

2009年3月1日

stack前段时间,在rubyinside上提到了Passenger-Stack,这是一个为Sprinkle编写的脚本,有了他几乎可以用一行代码就可以完成安装ruby、Passenger的任务,并且能够在任何UNIX-y(Ubuntu / Debian)服务器上运行,执行通用的安装、部署基于Rack的应用都可以实现。

Pasenger-Stack的开发者是Ben Schwar,同时Ben还提供了一个5分钟的视频教程。

Sprinkle:是一个软件配置工具,它能够帮助我们安装软件和远程构建,可以用基于Ruby的领域语言来编写安装脚本

Passenger:是一个用于Apache2的模块,用它可以方便、高效地部署Rails应用程序。目前它还只能用于*nix的操作系统。

来源:RubyInside

rubychina Ruby ,

bdb:改进Berkeley DB的Ruby Bindings

2009年1月21日

berkdb.png Berkeley DB 是一个高性能的数据库系统,它在20世纪90年代初开始开发,他不是SQL数据库引擎驱动,而是用于存储键/值对数据 。BDB非常快,可在大多数的操作系统上使用, 并且是双许可开源和允许商业用途.对于初次使用者来说,它有几个优点:仅使用一个单位文件,PStore(受保护存储): 事务, 细纹锁, 可复制和支持热备份。

        虽然已经存在关于BDB的Ruby Bindings,但是Matt Bauer发布的Ruby  Bindings加入了一些新的特性且能够快速容易的使用。当然,刚开始之前,你需要在你的操作系统中安装Berkeley DB Library. OS X,MacPort中Berkeley BD 4.6 被称为db46,Ubuntu中为libdb-dev。另外,可以到Berkeley DB 的官方网站下载源代码,还有Matt的关于安装和使用Ruby Bindings 的说明文件.

使用范例:

env = Bdb::Env.new(0)
env_flags =  Bdb::DB_CREATE |    # Create the environment if it does not already exist.
             Bdb::DB_INIT_TXN  | # Initialize transactions
             Bdb::DB_INIT_LOCK | # Initialize locking.
             Bdb::DB_INIT_LOG  | # Initialize logging
             Bdb::DB_INIT_MPOOL  # Initialize the in-memory cache.
env.open(File.join(File.dirname(__FILE__), 'tmp'), env_flags, 0);

db = env.db
db.open(nil, ‘db1.db’, nil, Bdb::Db::BTREE, Bdb::DB_CREATE | Bdb::DB_AUTO_COMMIT, 0)   

txn = env.txn_begin(nil, 0)
db.put(txn, ‘key’, ‘value’, 0)
txn.commit(0)

p db.get(nil, ‘key’, nil, 0)

db.close(0)
env.close

       好了,这不是最容易阅读的代码,但是Berkeley BD的功能远远大于它复杂的API。如果你对Berkeley DB 及其方式仍然感到新鲜,请查阅指南(略有些旧但不过时)来加快理解。

原文:http://www.rubyinside.com/bdb-improved-ruby-bindings-for-berkeley-db-1438.html

rubychina Ruby ,