2011/09/25

Ruby On Rails 環境架設

【使用 apt-get 的安裝流程】

#在 Ubuntu 底下架設 Ruby On Rails + Apache 2 + MySQL 環境

安裝所需套件:
sudo apt-get install ruby rails rubygems rake

sudo apt-get install apache2
sudo apt-get install libapache2-mod-ruby

sudo apt-get install mysql-server 
sudo apt-get install libdbi-ruby libdbd-mysql-ruby

sudo apt-get install vim-rails
sudo apt-get install libfcgi-dev

開啓 Apache rewrite 模組:
sudo a2enmod rewrite
sudo service apache2 restart

RubyGems 指令:
sudo gem list # 列出已安裝套件
sudo gem list -r 套件名稱 # 搜尋套件
sudo gem install 套件名稱 # 安裝套件
sudo gem uninstall 套件名稱 # 移除套件

ERROR: gem update --system is disabled on Debian, because it will overwrite the content of the rubygems Debian package, and might break your Debian system in subtle ways. The Debian-supported way to update rubygems is through apt-get, using Debian official repositories.
If you really know what you are doing, you can still update rubygems by setting the REALLY_GEM_UPDATE_SYSTEM environment variable, but please remember that this is completely unsupported by Debian.

使用 apt-get 或 aptitude 安裝的 RubyGems,Gems 套件預設會放在:
/var/lib/gems/1.8/gems/



【使用 tarball 的安裝流程】

下載 Ruby 原始檔
解壓縮並切換到原始檔資料夾
執行 configure
執行 make
執行 make install

下載 Gem 原始檔
解壓縮並切換到原始檔資料夾
執行 ruby setup.rb

使用 tarball 安裝,Gem 的執行檔預設會是:
/usr/bin/gem1.8

使用 tarball 安裝,Gems 套件預設會放在:
/usr/lib/ruby/gems/1.8



【ruby-full 搭配 Gem tarball】
sudo apt-get install ruby-full

下載 Gem 原始檔
解壓縮並切換到原始檔資料夾
執行 ruby setup.rb

使用 tarball 安裝,Gem 的執行檔預設會是:
/usr/bin/gem1.8

使用 tarball 安裝,Gems 套件預設會放在:
/usr/lib/ruby/gems/1.8



【XDite 推薦的安裝流程】

http://github.com/zx1986/rails-nginx-passenger-ubuntu
http://killtw.k2ds.net/blog/2011/10/29/how-to-install-rails



Reference:
01. https://help.ubuntu.com/community/RubyOnRails
02. http://blog.xdite.net/?p=1754
03. http://blog.xdite.net/?p=1807
04. http://github.com/jnstq/rails-nginx-passenger-ubuntu
05. http://www.cc.ntu.edu.tw/chinese/epaper/20070620_1007.htm
06. http://packages.ubuntu.com/hardy/ruby-full
07. http://blog.longwin.com.tw/2008/11/ruby-on-rails-linux-environment-build-2008/
08. http://ihower.tw/rails3/installation.html

tmux 與 screen

sudo apt-get install tmux

tmux
# 啓動 Tmux

ctrl + b
# 作用鍵,先按作用鍵,再按功能鍵

作用鍵 + c
# 開新的視窗

作用鍵 + n / p
# 切換前一個 / 後一個視窗

作用鍵 + "
# 分割視窗,好用!

作用鍵 + Ctrl + 方向鍵上/下/左/右
# 可以調整當前分割視窗的長寬,好用!

作用鍵 + Space
# 切換分割視窗的佈置

作用鍵 + d
# 將目前的 Tmux Session 丟到背景去

tmux ls
# 列出主機上所有的 Tmux Session

tmux a -t 0
# 將背景的第 0 號 Tmux Session 叫回,a 代表 attach

作用鍵 + ?
# 查詢所有功能



【screen】

screen
# 啓動 screen

ctrl + a
# 作用鍵,先按作用鍵,再按功能鍵

作用鍵 + c
# 開新的視窗

作用鍵 + n / p
# 切換前一個 / 後一個視窗

作用鍵 + k
# 關閉視窗

作用鍵 + d
# 將目前的 Screen Session 丟到背景去

screen -ls
# 顯示背景所有的 Screen Session

screen -r 背景 Session 的名稱
# 將指定的 Screen Session re-Attach 回來

作用鍵 + S
# 水平分割畫面

作用鍵 + |
# 垂直分割畫面

作用鍵 + Tab
# 切換分割畫面

作用鍵 + "
# 將分割畫面接上指定的視窗

p.s.
Screen 的分割畫面很不直覺。
當使用者切出一個新的分割畫面,那個畫面會是整個 blank 的,什麼都沒有。
使用者必須先切到該分割畫面,然後爲該畫面接上指定的 Screen 視窗。
我的需求通常是在分割畫面裡,直接接上一個新的 Screen 視窗。
指令流程:
1] 作用鍵 + S 或 作用鍵 + |
2] 作用鍵 + Tab
3] 作用鍵 + c

Reference:
01. http://clyang.net/blog/2009/09/26/356
02. http://crazylion.wordpress.com/2010/06/04/tmux-2/

2011/09/20

快速架設 NTP Server

yum install ntp tzdata
chkconfig ntpd on
編輯 /etc/ntp.conf:
# 拒絕 IPv4
restrict default kod nomodify notrap nopeer noquery

# 拒絕 IPv6
restrict -6 default kod nomodify notrap nopeer noquery

# 放行指定的主機,一般會填寫上層 NTP Server
restrict your.time.server

# 預設放行本機
restrict 127.0.0.1
restrict -6 ::1

# 放行指定的私有網路主機
restrict 192.168.100.0 mask 255.255.255.0 nomodify

# 設定上層 NTP Server 
# 原本的 [0|1|2].centos.pool.ntp.org 的可以註解掉
server your.time.server

# 預設時間差異分析檔案與暫不用到的 keys 等
driftfile /var/lib/ntp/drift
keys      /etc/ntp/keys
/etc/init.d/ntpd restart
Reference:
http://linux.vbird.org/linux_server/0440ntp.php#server

2011/09/07

在 RHEL 作業系統內使用 LUN

安裝作業系統或對主機進行磁碟管理時,最好先關機,然後把光纖線拔下來,再做其它動作。

multipathd
dev-mapper

/dev/sda
/dev/dm-1
/dev/mpath/mpath1
/dev/mapper/mpath1