作者godfat (godfat 真常)
看板Ruby
标题[心得] Fedora Core 6 上安装 beast
时间Tue Aug 14 17:28:35 2007
Fedora Core 6 上安装 beast
我选择 apache2.2 + mongrel_cluster + postgresql
安装 apache 和其他的东西。
sudo yum install httpd
sudo yum install httpd-devel
sudo yum install openssl
sudo yum install readline
安装 ruby
sudo yum install ruby
sudo yum install ruby-devel
sudo yum install ruby-libs
sudo yum install rdoc
sudo yum install irb
安装 postgresql
sudo yum install postgresql
sudo yum install postgresql-devel
sudo yum install postgresql-libs
sudo yum install postgresql-server
初始化 postgres
sudo mkdir -p /var/db/postgresql81/defaultdb
sudo chown postgres:postgres /var/db/postgresql81/defaultdb
sudo -u postgres initdb -D /var/db/postgresql81/defaultdb
sudo -u postgres pg_ctl -D /var/db/postgresql81/defaultdb \
-l /var/db/postgresql81/defaultdb/postgres.log start
拿来抓 beast... 舍 svn 取 svk 因为我讨厌一堆 .svn
sudo yum install perl-SVK
sudo yum install rubygems
至少要用这些 gem
sudo gem install rails -y
sudo gem install mongrel_cluster -y
sudo gem install redcloth -y
sudo gem install ruby-openid -y
sudo gem install ruby-postgres -y
建立目录。
mkdir -p ~/projects/beast
cd ~/projects/beast
用 svk 抓不会有一堆 .svn 碍眼。
svk mirror //mirror/beast \
http://svn.techno-weenie.net/projects/beast/branches/stable-1.0/
svk sync -s HEAD //mirror/beast
cd stable-1.0
产生让 beast 用的资料库。
sudo -u postgres createdb beast_prod
设定资料库设定档。
cp config/database.example.yml config/database.yml
nano config/database.yml
=========================
production:
database: beast_prod
adapter: postgresql
host: localhost
username: postgres
password:
=========================
初始化 beast 资料库。
rake db:schema:load RAILS_ENV=production
非常罗唆的 cluster 设定,user 可以开 mongrel,
不过因为我懒所以用自己的帐号跑。
sudo mongrel_rails cluster::configure -e production \
-p 2000 -N 3 -c /home/YOUR_NAME/projects/beast/stable-1.0 \
-a 127.0.0.1 --user YOUR_NAME --group YOUR_NAME
启动 mongrel_cluster 吧。
sudo mongrel_rails cluster::start
接着是 apache2.2 的 mod_proxy_balancer 的设定,
如果 mod_proxy_balancer 没有启动记得把他打开。
建立 balancer 导向 port 2000~2002
sudo nano /etc/httpd/conf/httpd.conf
=====================================
<Proxy balancer://YOUR_BALANCER>
BalancerMember
http://YOUR_ADDRESS:2000
BalancerMember
http://YOUR_ADDRESS:2001
BalancerMember
http://YOUR_ADDRESS:2002
</Proxy>
Listen 80
<VirtualHost *:80>
ServerAdmin YOUR_EMAIL
ServerName YOUR_ADDRESS
ProxyPass / balancer://YOUR_BALANCER/
ProxyPassReverse / balancer://YOUR_BALANCER/
ProxyPreserveHost on
ErrorLog /home/YOUR_NAME/projects/beast/stable-1.0/log/apache_error.log
CustomLog /home/YOUR_NAME/projects/beast/stable-1.0/log/apache_access.log \
combined
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
Alias /images /home/YOUR_NAME/projects/beast/stable-1.0/public/images
Alias /stylesheets /home/YOUR_NAME/projects/beast/stable-1.0/public/\
stylesheets
Alias /javascripts /home/YOUR_NAME/projects/beast/stable-1.0/public/\
javascripts
</VirtualHost>
=====================================
接着启动 apache 就 ok 了。
sudo apachectl start
最後来设定 beast 的 smtp, 如果想用 gmail 寄信的话,
我之前试过两个方式,一个是使用 msmtp,
另一个是有人有写一小段 ssl smtp 的 patch, 可以参考这里:
http://www.stephenchu.com/2006/06/how-to-use-gmail-smtp-server-to-send.html
nano config/environment.rb
加入:
===========================
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => 'YOUR_DOMAIN',
:user_name => "YOUR_GMAIL_ACCOUNT",
:password => 'YOUR_GMAIL_PASSWORD',
:authentication => :plain
}
===========================
nano app/models/user_mailer.rb
===============================
@from = '
[email protected]'
===============================
我不是很确定这一步要不要做,我猜不做会被 gamil 挡掉。
接下来把那段程式码 copy 到可以被 require 的地方,我是放在 lib 下:
nano lib/smtp_tls.rb
接着把他 require 进去:
nano config/environment.rb
===========================
require 'smtp_tls'
===========================
sudo mongrel_rails cluster::restart
注册一下试试寄信吧!如果失败的话,那篇连结里有个 workaround:
nano lib/smtp_tls.rb
=====================
rescue EOFError
;
rescue OpenSSL::SSL::SSLError => e
puts('Unexpected Exception: ' + e.message + ' : ' +
e.backtrace.join("\n") )
end
=====================
我之前用是没有这个问题,但在这台 fedora 上却有这个问题,
也许是要更新 openssl 的版本?不管如何,加入上面那段暂时可用。
结论:
还是 macports 好用,速度快,更新快,只是 build 要很久就是了。
==
欢迎参观:
http://ym.godfat.tw/
--
「行け!Loki!」
(rocky ロッキー)
-Gurumin ぐるみん 王子? XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.218.90.242
※ 编辑: godfat 来自: 220.135.28.18 (08/14 22:49)
1F:推 shelary:请问 beast 是做什麽的? 可以介绍一下吗.. 08/14 23:25
2F:→ poga:一个论坛套件 那个网址连到的论坛就是beast架的 08/15 03:56
※ 编辑: godfat 来自: 61.218.90.242 (08/15 13:05)
4F:→ godfat:补充:以轻便为设计宗旨,所以功能不多 08/15 13:05