星期六, 4月 14, 2007

CentOS 5.0 準備起飛

隨著 CentOS 5.0 新版本的問世,終於到了升級伺服器的時候。

別忘了 CentOS 可是等同於 Red Hat Enterprise Linux 的企業級作業系統,服務套件都是以穩定、安全著稱,一般用在伺服器上,如果使用桌面版本,那麼當然就是所謂的工作站嘍,換句話說,CentOS 不是拿來玩的,是用來作正事的。

所以,在其他許多 Linux Distro 上看到的新玩意,如果看到 CentOS 列為了正式套件,表示兩種狀況:(1)這個套件經過頗長時間的發展,不會是剛出現的測試版本。(2)套件的穩定性與安全性都經過了檢驗,足以提供企業服務與應用。

看看 CentOS 5.0 與 CentOS 4.4 之間的不同:

主要的伺服器套件更新為 Apache-2.2,PHP-5.1.6,kernel-2.6.18,MySQL-5.0,PostgreSQL-8.1。其中 PHP5 與 MySQL5 的升級,會連帶影響大多數跑在伺服器上的網路服務程式。

另外與桌面程式相關的則有:Gnome-2.16, KDE-3.5, OpenOffice.org-2.0, Evolution-2.8, Firefox-1.5, Thunderbird-1.5;對 compiz 與 AIGLX 更好的桌面支援;頗受重視的虛擬機技術 Xen hypervisor with Virtual Machine Manager and libvirt;使用者管理的 Sabayon。(由於之前全數都只安裝伺服器,沒有使用過桌面視窗系統,有些玩意搞不清楚是啥)。

可能許多 Linux 玩家對這些早就玩膩了,但是當這些東西出現在 CentOS(也就是被納進 Red Hat Enterprise Linux),代表的意義大有不同。

終於,要全新安裝一次 CentOS 伺服器了,期待。

星期三, 5月 17, 2006

DNS 伺服器的設定檢查

DNS 設定完成之後,記得到 http://140.113.167.111/idns/Chinese/index.jsp 來做個檢查。

一些有用的建議:
1.TTL 值
除非您常常更動DNS的欄位, 不然的話還是建議您將TTL的值設大一點, 以免流量遭會受影響, TTL的值約~3天(2*86400~3*86400)比較適合。
2.refresh 值
若您有使用DNS NOTIFY則建議您將refresh設為86400, 一般而言建議設定值約 3600~7200(20分鐘~12小時)比較適合。
3.retry 值
建議設定值約 120~7200 比較適合。

星期二, 5月 16, 2006

再次談談 CentOS

這裡沒有什麼技術高深的文章,正因為不是專家,所以選擇用 CentOS。

我也認識那種非 BSD 不用的技術玩家,或是至少在用 Debian,有時真是羨慕,不過沒有天賦與時間,也志不在此,只是希望能夠用 Linux 架設自己需要的服務,最好能夠不要太複雜,最好是安全性高些,如果您與我有相同的想法,選 CentOS 就對了。

CentOS 說文解字:

Community ENTerprise Operating System

CentOS.org 網站說明這是企業級的伺服平台,提供給不需要商業支援服務的組織或個人免費使用。

感謝開源碼!這種事才真的會發生在現實生活中。紅帽公司目前大概以企業 Linux 平台著稱,如果希望企業能夠多多使用 Linux 用在正式的、嚴肅的以及商業的環境之下,的確需要更安定、安全的系統,於是 Enterprise Linux 就成了很重要的一環。

的確,對於任何高深的玩家來說,Linux 的版本不是那麼重要,透過仔細的調教大概都可以做到,可惜不是每個人都能如此。

Red Hat 的企業 Linux 分成幾種,AS 是最高階,ES 支援到2顆處理器與16GB記憶體上限,WS 是包含了許多開發與測試工具的工作站,Desktop 則是希望進佔使用者日常桌面的桌上型作業系統。

而 CentOS 基本上是 AS 等級。

另外之前有人期待的 RHGFS (=Red Hat Global File System), RHCS (=Red Hat Cluster Suite),CentOS-4 都已經支援,叫做 Global File System 6.1 以及 Cluster Suite 4.0 for CentOS-4,大概是給多台伺服器陣列使用的吧,這我不太明瞭,也還沒機會用到。

CentOS 使用 Yum 的更新機制,非常方便;CentOS.org 可是很努力的,基本上希望在 Red Hat 發佈補丁的72小時之內跟上,而通常都在24小時左右就有了。使用 Yum 安裝或是更新套件都極為便利。

我基本上並不會在 CentOS 上使用 tarball 安裝套件,一定都透過 Yum 安裝 rpm,因為穩定才是王道,如果真要學習、磨練或是嘗鮮,我會去用 Fedora,而在寄望它 24x7 不停歇努力工作的伺服器,還是小心謹慎點就好。

CentOS 真的是對個人與小企業太好了,免費、安全、穩定,很希望能夠多些人使用,也能夠多多交換經驗。

CentOS 4.3 更新

使用全新的 CentOS 4.3 重新安裝系統,在 centos.org 首頁上可以看到說明,這版啟用了新的 Yum 更新機制,看了半天,大概是說現在會從眾多鏡像站台中找出離自己最近的,所以應該就不需要費心了。

不過依照說明,好像安裝一個 yum 的插件更好,就照著做了。

步驟一:
yum install yum-plugin-fastestmirror

使用上列指令遠端安裝(當然是在網路設定完成的狀態)

步驟二:
編輯 /etc/yum.conf 這個檔案,加上一行

plugins=1

完成!

目前還沒有測試出什麼差別...等到安裝程式時應該會知道。

星期二, 7月 19, 2005

桌面工作平台與伺服器的思考

自從 Steve Job 在蘋果開發者大會上一番引人遐思的言論之後,我對於桌面平台以及伺服器的思考,也走入一種遐想的境地。

還是從 CentOS 談起;其實之前也有一段時間是以 Windows 2000 與後續的 2003 伺服器架設主機,當然都是用測試版的軟體,雖然這些主機的操作介面都與 Windows 環境一模一樣,的確入手蠻容易的,後來放棄的原因有:
1. 總不能老是用測試版(或是盜版)軟體吧?正式版又貴得嚇人,投資不下去。
2. 對硬體的要求太高,一些老主機跑起來很慢,吃系統資源實在驚人,也不想老是換新硬體(也沒錢換)。
3. 許多開放原始碼的套件,其實都主力支援 AMP,在 Windows 系統上反而顯得慢。
4. Windows Server 的遠端連線管理,其實很耗資源,畢竟要顯示出所有的圖型介面,沒必要。

於是改用 Linux 系統後,主機架完就真正可以拔除多餘的周邊,只留下網路與電源線,其他操作都在一般平台登入來做即可(我沒有使用 XWindows,都是文字介面),舊主機也跑得嚇嚇叫。

而當 Steve Job 讓人感覺 Apple 即將進入真正的桌面系統戰爭之後(其實並不確定,但我希望),讓人又重新思考起這個基本的問題:真正好的桌面作業系統是什麼?伺服器又需要什麼樣的操作介面呢?

Windows Server 其實是從一般人使用的桌面環境複製來的操作介面,老實說真沒必要,誰會到一台台伺服器面前操作呢?過多的介面資源耗用,就代表給伺服器運作的資源變少了,更是一種浪費;但是像 Linux 般的純文字介面,過多的指令與大量的文字設定檔的編輯,又實在是太難了點。

其實 Webmin 這個介面是很不錯的,像之前 Cobalt 替 Qube 開發的伺服器管理介面也是接近的邏輯,老實說,目前並沒有好的伺服器操作介面,也就是符合能遠端進入,又是專為伺服器核心打造的介面。

目前最好的桌面操作系統,我相信是 Apple 的 Mac OSX,Windows 還有好一段路呢,我非常期待 Apple 真的開始讓 OSX 成為跨平台的作業系統,足以與 Windows 平分秋色的系統(我不是說功能,而是市場)。

然後,就是以 Linux 為核心,但是搭載了伺服器專屬的操作介面,既不是純文字,也不是把桌面系統移植過去,當然恐怕就不是什麼 XWindows 之類的,這是我的期望。

關於 CentOS 的近況

之前就說過,Linux 的大問題就是不容易學,因為太穩定了,每當經過一段安裝期,各項主要的伺服器服務都已經正常運作之後,往往就停滯下來,因為使用 Linux 不是目的,架設所需要的伺服器才是目標,所以我的 Linux 程度總是停留在一個
極淺的程度。

更何況,實際上 CentOS 是 Redhat Enterprise Linux 的複製版,以安全、穩定著稱,如果不是碰上什麼大問題,當系統安裝完之後,接下來的工作其實是各種伺服器的安裝與設定,已經與 CentOS 關係不那麼直接;而當主要的服務都設定好,也都正常運作的時候,焦點也就開始移轉到這些伺服器後續的應用上,感覺就離 CentOS 愈來愈遠了;當然,其實這都是好事,代表 CentOS 系統穩定,代表沒有錯誤的將力量與時間擺在 Linux 的進階系統上(畢竟我不是什麼 Linux 專家啦)。

LAMP 的平台(Linux + Apache + MySQL + PHP,我還加上了 ColdFusion MX),已經是一個幾乎無所不能的伺服器環境了,剩下來的是架站者的其他技術與運用的意念,於是乎,很有可能,得重新思考 CentOS 這個 Blog Site 的意義與走向。

星期三, 5月 18, 2005

Yum 預設設定檔的一個小錯誤

補充一點
這是國外網站上的資訊:(大意是說,預設的 CentOS-Base.repo 之中有一個地方的資訊拼錯了,大家要記得手動去修改一下)

CentOS Errata and BugFix Advisory CEBA-2005:0506-01 for centos-yumconf

centos-yumconf contains the base configuration for yum in CentOS-4 (in the file /etc/yum.repos.d/CentOS-Base.repo) There was a misspelling in the normally disabled "contrib" repository (it was misspelled as contribs). This prevented being able to enable the contrib directory via the command-line and is corrected with this update.

The following updated files have been uploaded and are currently syncing to the mirrors:

i386 and x86_64:
centos-yumconf-4-4.2.noarch.rpm

src:
centos-yumconf-4-4.2.src.rpm


You can get this update with the command:

yum update centos-yumconf

(If you have modified the file /etc/yum.repos.d/CentOS-Base.repo, a new file named CentOS-Base.repo.rpmnew will be created in /etc/yum.repos.d, and you will have to modify your CentOS-Base.repo to contain the new contrib information)

星期五, 4月 29, 2005

CentOS4的安裝程序Step1

由於拿到了新的主機板和記憶體,又重新安裝了一次 CentOS 4,所以重新整理一次:

《CentOS 4 基礎安裝第一步》

目標:安裝好基礎的 CentOS 4,並且能夠拔除不必要的設備(僅留下電源與網路線),讓接下來的後續程序都能夠在其他的工作站上遠端執行。

(1)已下載好 CentOS 4 的CD-ROM,只需要前三片。
(2)調整好硬體,設定為光碟開機。
(3)用第一片開機安裝,基礎的硬碟分割或是網路設定就不多說了,選擇套件時選擇最下方的"最小化安裝",安裝完後重新開機。
(4) 雖然在光碟安裝過程中,都已經設定好網路,但像我安裝的兩台主機,分別有兩張與三張網路卡,設定過程中只知道 eth0, eth1, eth2 分別設定好了,其實還是要實際插插看,並使用 ping 指令去測試,看哪一條線路是對的(使用 ifconfig 可以看到三張網路卡的設定資訊,但是並未顯示出網路卡的廠牌,只有 Mac Address,如果平時有將手邊的網路卡記錄下來,或許可以清楚分辨,否則,就像我一樣,接線測試看看);經過此一步驟,各張網卡各自網域內的連線就已 經測通完成。
(5)檢查一下網路的幾個相關設定檔:
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0, ifcfg-eth1, ifcfg-eth2
/etc/resolv.conf
/etc/hosts
前三個設定其實在光碟安裝過程都已設定,除非有誤,否則不需要更改。
hosts 則將區域網路中的 IP 與主機名稱手動輸入。
(6)設定 Yum 網路更新:
‧cd /etc/yum.repos.d
‧cp CentOS-Base.repo tnc-mirror.repo
‧mv CentOS-Base.repo CentOS-Base.default
‧vi tnc-mirror.repo (修改成 ftp://ftp2.tnc.edu.tw/pub1/centos...)
‧rpm --import ftp://ftp2.tnc.edu.tw/pub1/centos/RPM-GPG-KEY-CentOS-4
‧yum -y update
如果線路無誤,就會開始線上更新了。
(7)
由於我的網路架構有些不同,基礎如下:
Host E:eth0=220.x.x.1, 聯外固定 IP;eth1=192.168.0.1, DMZ 主機區網。
Host B:eth2=220.x.x.2, 聯外固定 IP;eth0=192.168.0.2, DMZ 主機區網;eth1=192.168.1.2, 工作站區網。
其實就是將 Host B 作為常見的三卡主機,是連通主機群與工作站群之間的防火牆,所以要啟動 Router 的設定;而 Host E 也要做相對應的設定。
<Host E>
cd /etc/sysconfig/network-scripts
vi route-eth1
寫入下列三行:
「ADDRESS0=192.168.1.0
GATEWAY0=192.168.0.2
NETMASK0=255.255.255.0」
<Host B>
原則上就是要啟動兩個區網之間的溝通
echo 1 > /proc/sys/net/ipv4/ip_forward
分別在兩台主機上用 route -n 看看路由對不對,同時 Ping 看看各自區網裡的電腦。

注意!此時是在測試安裝區網,所以我習慣先將防火牆關掉:
service iptables stop (分別關掉兩台電腦的防火牆)
ifdown ethx (分別關掉兩台主機上的對外連線,這樣不會有干擾,也較安全)

理論上這樣應該所有電腦、工作站之間都應該連通無誤才對。
(8) 設定防火牆
這部份就不多說了,我都是使用鳥哥所寫的那三個檔:iptables.rule, iptables.deny, iptables.allow;但是使用多時,裡面也已經改了不少,不過都是依照我的狀況而修正,這三個檔案實在好用,就是視不同狀況去註銷或加入些文字。
啟動防火牆後,再次在區網內電腦交叉測通看看。
測試沒問題後,在 /etc/rc.d/rc.local 裡加入 iptables.rule 啟動的一行文字。
(9) 設定 i18n
經過上列程序,我的第一步目標已大致完成,也就是幾乎可以拔掉所有設備連線,例如光碟機、鍵盤等,因為已經可以透過網路,在工作站上使用 cpputty 來處裡一切;
唯一的小問題是,顯示中文;雖然網路上有許多方式教導如何在文字模式(終端機)上顯示中文,但是設定大多麻煩,最重要的是,我並不會真正到終端操作,99% 是透過 cpputty 去操作,所以只需要這樣設定:
vi /etc/sysconfig/i18n
我的原始內容是→
「LANG="zh_TW.UTF-8"
SUPPORTED="zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"」
改成這樣:
「LANG="zh_TW.Big5"
SUPPORTED="zh_TW.Big5:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"」
再去工作站的 cpputty 連線看看,就可以看到中文了,這樣對我就夠了。

(10) 因為習慣用 free 和 sar 這兩個指令去看記憶體和 CPU 的使用狀況,同時也為了未來能讓 MRTG 獲得系統資訊,所以得先安裝一個套件(free 指令是預設安裝就有的,sar 則是要安裝 sysstat 才會有)
yum -y install sysstat

OK,至此,第一階段完成。

星期四, 4月 28, 2005

設定 Yum 更新機制(Centos4)

首先必須遠端安裝 KEY:

rpm --import http://ftp2.tnc.edu.tw/pub1/centos/RPM-GPG-KEY-CentOS-4
不會出現什麼訊息,就是安裝好了。

台灣 TNC 的 Mirror 當然是最快的,路徑已經修正,就是上面的這個。

之 前的方式是去修正 /etc/yum.conf,但是在 CentOS 4 裡的 yum.conf ,其實已經不含實際路徑了,而是去讀取 /etc/yum.repos.d 這個目錄下副檔名為 .repo 的檔案;進入該目錄後會發現一個名為 CentOS-Base.repo 的設定檔,裡面的內容就是傳統上的實際路徑;並不清楚這個新機制有什麼特殊之處,我先拷貝一份,更名為 tnc-mirror.repo ,將路徑修改成為 TNC 的鏡像,並將原來的預設檔改名為 CentOS-Base.default,就可以開始更新了。

如果存在多個 .repo 檔,好像也並沒有自己去選擇最近、最快速的,不了解這樣的變動是不是具有特殊意義(或許是為了 SELinux);另外,其實直接將路徑寫在 yum.conf 中也是可以的。

OK,線上使用tnc 鏡像更新完全沒有問題。

開始安裝Centos4

再一連串解決硬體(記憶體)的問題之後,終於開始要安裝新的 Centos 4 了。

首先,置入光碟→開機→進入安裝畫面,基本上都與舊版相同;依舊要嘮叨一下的還是那個多片安裝的問題,我一貫安裝的習慣在套件的部份是選擇最小安裝,也就 是後續需要的套件都採用 Yum 線上選擇安裝的方式,也就是說,其實剛安裝完的伺服器都是在最乾淨的狀況之下,以往最小安裝通常需要使用到第一、二片光碟,沒想到 Centos 4 居然需要用到第3片!而其實在讀取的過程就可以發現,第 2、3 片光碟幾乎都是放入讀兩秒就結束了,偏偏 Centos 4 還沒有單片安裝版光碟問世,所以又浪費了時間、頻寬、光碟片為了這4秒,真是不經濟!

廢話結束...

由於 RHEL 4 已經加入了 SELinux 這一個更安全嚴謹的控管機制,但是由於實在沒有研究,暫時就先略過,在安裝過程中要記得勾選 "停用" 這個選項,就是在傳統上預設防火牆的同一安裝頁中。

讀完第三片光碟後,退出→重開機,Centos 4 就安裝好了。

網路確認無誤的話(通常在安裝過程中就都輸入好了,由於我是使用固定 IP 的 ADSL,所以網路線插對網卡,線路就即時暢通了。

接下來的步驟,當然是去設定 Yum 的更新機制....