ubuntu 7.04 server + lighttpd 1.4.13 + rails 配置

ubuntu 7.04 server + lighttpd 1.4.13 + rails 配置

最近因为php?name=Ruby" onclick="tagshow(event)" class="t_tag">Rubyist项目的问题,需要一个地方来做演示。当然我们有自己的服务器,但是上面安装的是windows 2003 server,因为我还需要服务器支持asp.net。本来也可以开在国外的,但是想到演示空间经常需要更新,速度上可能还是不太理想,而且国内的服务器其实也已经配置好了支持rails运行的,目前采用的有两种方式,一种是Apache + FastCGI,而另外一种是使用mongrel运行,由防火墙转发请求。在我看来后面一种性能较好。

以前的项目都是我直接远程连接到服务器上操作的,因此也没有感到什么不便。这次要提供项目的演示空间,不可能提供远程管理权限,呵呵。这样不太方便。但是rake之类的功能就不能执行了,其实这也是我考虑的一个问题,如果程序免费发布了,不可能每个使用者都可以有权限在服务器上执行rake的,我们应该写一个页面,像传统的ASP/PHP那样的方式来执行数据库安装。

言归正传,martin要求我提供ssh或者telnet,ssh在windows上怎么弄我不知道,telnet倒是可以开,但是权限管理应该非常不好弄,至少在我管理使用windows server接近七年时间里没有使用过telnet server上面就可以看出来telnet server有多么的不普及了。看来 linux + ssh 才是最好的解决之道。本来rails推荐的生产环境也是*nix,支持较好,而我因为自己用的电脑无法使用windows的原因,最近对linux也有一点点的了解,网上的文章看多了,于是就产生了一个装个ubuntu server来提供支持的想法。

装操作系统倒不是什么难事,特别是对于ubuntu 这种比较智能的操作系统来说,有过几次安装desktop的经验,安装server版也是手到擒来。安装到后面的时候我选择了安装LAMP Server,系统就自己装上了apache 2.23及mysql 5, python 2.5,但是后来我想可能lighttpd的性能更好,而且现在都是在重装操作系统,干脆就弄个更好一点儿的吧。然后就想卸载apache2,sudo apt-get remove apache2,居然卸不了,呵呵,知识还是有限啊。没办法只好再重新安装一次了。这次我选择了只安装操作系统核心,要安装什么东西都由自己定制。聪明了吧。呵呵。

好,十多分钟后我得到了一个正常运行的,没有安装任何东西的ubuntu 7.04 server,首要的事情是改更新源。原来我一直是使用台湾那个源的,速度非常快,但是最近老是出现connection reset的错误,所以改而使用了国内lupa提供的源。

 deb http://cn.archive.ubuntu.com/ubuntu feisty main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu feisty-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu feisty-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu feisty-backports main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu feisty-proposed main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu feisty main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu feisty-security main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu feisty-updates main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu feisty-backports main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu feisty-proposed main restricted universe multiverse


然后sudo apt-get update && sudo apt-get upgrade,等几分钟就更新完了。

现在下面正式开始安装之路,首先我们需要的是Ruby环境,源里面自还的比较旧,才1.8.2,现在都1.86了,我们自己编绎吧。先安装编绎环境:sudo apt-get install build-essential,然后去ruby的官方主页下载安装包:

wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.6.tar.gz
tar xzvf ruby-1.8.6.tar.gz
cd ruby-1.8.6
./configure
make
sudo make install

这里应该很顺利的通过,下一步就是安装rubygems,同样的原因,源里的版本不太匹配,还是自己编绎吧。
先下载:
wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
tar xzvf rubygems-0.9.4.tgz
cd rubygems-0.9.4
sudo ruby setup.rb

出错了。说找不到zlib. 我们得先安装zlib.
wget http://www.zlib.net/zlib-1.2.3.tar.gz
tar xzvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
sudo make install

没问题,编绎通过。还需要rubyzlib。
wget http://www.blue.sky.or.jp/atelier/ruby/ruby-zlib-0.6.0.tar.gz
tar xzvf ruby-zlib-0.6.0.tar.gz
cd ruby-zlib-0.6.0
ruby extconf.rb
make
sudo make install

现在唯一有点不好的就是,lighttpd没有mod_svn这样的模块,从而使得svn没办法从apache移植到lighttpd上面。
你昨天一天就干这个呢,哈哈!
简单啊,我现在提交到论坛去。
我也建议换用apache到nginx,顺应潮流。
另ubuntu 7.04自带的nginx版本较低,不支持ssl,需重新编译安装,
下个月18日发布的7.10就非常不错,版本到位,支持到位,我已经在测试版中试用过。
嗯,也许可以试下nginx了。
将svn配到apache下,然后在lighttpd下面加载,也行

[Copy to clipboard] [ - ]
那lighttpd只是一个proxy功能了。本来用lighttpd就是不想装apache了。呵