FreeBSD
本文獻給和我一樣初次接觸FreeBSD的朋友們。
我這個人比較倔,但是一直以來自信心還可以。由於想裝一個web server,多方打聽知道freebsd在這方面還比較強,於是下定決心准備搞一個自己的freebsd web server出來。
以前都是玩ms的windows系列,開始搞freebsd,當然有些摸不著門,下面就是我關於freebsd的一些初步經驗,希望能對後來的新新人有所幫助。我也是freebsd的菜鳥,大家共勉吧。下面的文字,對我來說也就是筆記,我害怕將來我再裝FB WEB SERVER的時候,某些環節會有疏漏,故成此文,還請行家斧正。
一、基本要求
要玩好freebsd這種unix類操作系統,我覺得首先需要有下面兩個基本能力,否則的確會非常艱難。
1. 良好的英文能力。freebsd雖然也有圖形界面(GUI),但如果是做服務器,更多是靠命令行(如同msdos)操作,在我這裡web server的例子裡,幾乎是純命令行作業。所以英文能力是很重要的。
2. unix基礎。基本的unix指令要知道,比如 ls、pwd、cp、man、rm、mkdir、rmdir 等。尤其要知道 man 命令的作用。還要知道當屏幕顯示過多內容的時候,需要用到scroll lock和more指令。下面簡單舉例說明幾個指令的用法。
ls (列目錄,類似於msdos的dir)
ls | more (列目錄,使用管道和more命令分屏顯示過多的內容)
cp abc abc_bak (文件的拷貝,類似於msdos的copy)
cp -R abc abc_bak(目錄的拷貝)
rm -R abc/* (子目錄abc下的所有文件及子目錄刪除,類似於msdos的del,但允許加-R選項針對子目錄操作)
man ls (查ls命令的詳細說明)
mv abc ../abc_bak (移動並改名abc為父目錄下的abc_bak,abc可以為文件也可以為子目錄)
3. 有一本freebsd handbook,紙版的當然好,電子版的也不錯: http://www.freebsd.org.cn/snap/doc/zh_CN.GB2312/books/handbook/
二、安裝系統前的一些聲明
首先聲明,我是用的最新的FREEBSD5.2.1RELEASE iso格式光盤安裝的,現在刻錄機遍地都是,各位從網上下載了iso自己刻一個光盤來裝FREEBSD,應該不是什麼難事情。
其次,FREEBSD的完整安裝升級需要一個良好的網絡環境,即便你有光盤,最終很多工作還需要到互聯網上進行,所以你必須有一個較快的互聯網連接。
三、安裝過程及安裝中的注意事項
1. 操作系統的安裝
雖然前面說了很多有關FREEBSD的艱難,但其實如果你有較好的英文能力,你會發現裝FREEBSD的內核系統還是很簡單的,總共花不了30分鐘。而且FREEBSD5.2.1足夠先進了,我的服務器很多新硬件沒有遇到任何問題全部正確識別了。
FREEBSD5.2.1的光盤共4張,其中一張命名為BOOT,其對應下載時的ISO名為DISK1(注意不是BOOTONLY那張),BOOT光盤放進光驅,bios設置光驅啟動,重啟機器後,機器會從光驅啟動並進入FREEBSD5.2.1的內核並自動啟動光盤裡的sysinstall程序。該程序是文本圖形界面,也很友好。
首先,選擇Standard安裝,這也是推薦的安裝模式。還有一種mini安裝,安裝出來的系統是最小的,運行效率最高,但是可能你會面臨更多的調整。
A. 硬盤分區及unix分區配額分配
我作為初學者,選擇了standard模式安裝,隨後進入了FREEBSD的fdisk程序界面,和msdos的fdisk很像,但屏幕下方的提示更多更友好。如果你有兩塊或更多的硬盤,那麼fdisk會先問你需要在那個硬盤上做分區。由於我是做服務器,不存在雙系統等問題,所以用上下箭頭選擇已有的分區並按d鍵全部刪除這些已有的分區使其成為空盤,再按a自動分配為一個大分區,最後按q退出fdisk,就這麼簡單地分好了一個硬盤的區。
然後sysinstall會提示你的服務器是否需要使用BootMgr,如果你不需要多重引導,那麼可以選Standard,我在這個地方選擇的是BootMgr——允許多重引導。
隨後使用Disklabel創建unix分區並分配分區空間。該畫面和fdisk有些類似,你可以用上下方向鍵選擇需要的分區,然後屏幕下方的提示按鍵並按照自己的要求劃分分區。我在這裡采用了默認的方法:選a自動劃分,選q退出。特別提示:mysql安裝默認會安裝到/var分區,如果你不想改變mysql的默認安裝,那麼你在這裡應該把自動劃分出來的/var分區調整一下,調整的更大些。/var分區默認只有256M,稍微大的數據庫就不夠用了。我在下面的mysql安裝中沒有使用默認的安裝分區/var,而是改到了/usr分區,所以我在這裡不需要改動任何分區的大小。
B. 安裝過程的提示選擇
分區及配額完成後,隨後就會出現軟件包選擇畫面,你可以選擇Developer或者是其他什麼模式。作為web服務器,我覺得選Developer好些,不過我當時不太明白,什麼也沒選,直接選了EXIT。其實沒選也不要緊,後面還有機會。
隨後的畫面是提示你從什麼介質安裝,我們這裡當然是自己燒好的ISO光盤了——選CD/DVD,機器都沒起來,別的介質其實也選不成。
選了介質之後,畫面提示:
User Confirmation Requested
Last Chance! Are you SURE you want to continue the installation?
當你確定後,之前的分區設置即將生效,硬盤中的原有東西將會被刪除,並且開始安裝初始的內核系統。
初始內核的安裝是很快的(10分鐘),而且具有多數流行硬件,我用的FB5.2.1很順利認出了所有硬件。
隨後開始安裝後的設置,首先會提問你是否采取PPP/SLIP的模式連通網絡,如果不是可以選NO,我是ADSL的DHCP模式上網,所以選NO。如果你是撥號模式,根據提示操作吧。
隨後是要求你輸入你上網的網卡的TCPIP設置。如果是DHCP,把網線接好,機器會自動獲取設置。如果是靜態IP,你可以根據自己的機器情況設置IP、掩碼、網關、DNS等。
隨後機器會提問以下問題:
是否設置機器為網關GATEWAY——NO(我們是web server,不是網關)
是否設置機器為inetd超級服務器——NO(我們有ssh和pureftpd,不需要inetd)
是否設置為NFS SERVER/CLIENT——NO(我們不是這個用途)
是否設置為anonymous FTP——NO(我們不需要這種用途)
是否需要設置sshd——YES(我們將通過這種較為安全模式遠程控制服務器)
選擇時區——按照提示選擇即可,會提示你北京時間縮寫是"CST"
是否需要LINUX兼容性——YES(或許我會為服務器安裝一些LINUX軟件,例如CS SERVER )
是否需要設置system console——默認的挺好,剛開始的學的就不必改了。
是否需要配置鼠標——NO(我看不出來作為一個托管在電信的webserver有什麼必要配置鼠標)
是否需要添加用戶——添加一個吧,根據提示添加即可,用戶組寫成wheel,以便你可以用這個用戶遠程登錄服務器後su到root進行管理。添加完這個用戶之後,會問你要root的密碼,輸入即可。如果不添加用戶,會直接讓你設置root的密碼。
其實,這些安裝後設置,只要英文良好,按照提示做,不會有什麼問題的。
C. 安裝後的PACKAGE和CONTRIBUTION選擇
安裝後,可以進入sysinstall的configure進行最終的PACKAGE和CONTRIBUTION選擇。
PACKAGE是已經編譯好的二進制包,可以直接運行。默認標准安裝完之後,作為WEBSERVER,我看了一下也就需要net下的cvsup(在線升級用)和archivers下的unzip(某些zip包可能會用到)這兩個包。選中後執行安裝,就會把它們裝到系統裡。
隨後進入CONTIBUTION裡安裝代碼。強烈建議各位一定要把src代碼全部選中。src下有很多分類,甚至包括game。我自己在學習FREEBSD的時候,編譯總是缺這個那個,後來學乖了,把SRC全裝了之後,就好了很多,編譯時很少提示錯誤了,而且將來cvsup也有好處。另一個就是ports,不用說,也是要全裝的。我在這裡,就是選擇了src和ports。選中後執行安裝,就會把它們安裝到系統裡了。
至此,一個初始的FREEBSD5.2.1就裝完了。雖然看著多,實際上也就30分鐘時間。如果你是第一次裝FREEBSD,這個時候還是不要著急進行後面的操作,可以先看看手冊,熟悉熟悉FREEBSD。
2. 系統安裝完後的第一步,是進行CVSUP,立刻同步你的src源代碼和ports代碼。關於cvsup的詳細內容,請看FREEBSD手冊的cvsup部分,此處我只介紹在本例中的過程。由於cvsup需要互聯網環境,所以需要接好你的網線了。進入下列目錄:
#cd /usr/src/share/examples/cvsup
裡面是幾個cvsup的supfile例子。我們可以直接修改這些例子為我們所用。首先編輯standard-supfile,這個文件是升級內核源代碼的例子文件。我個人喜歡用ee編輯文件(因為有使用提示,且使用習慣接近windows下的),輸入下面的指令:
#ee standard-supfile
能看見裡面東西很多,但都不用改,它默認指定是升級所有的系統源代碼——這是有好處的。我們只需要修改一個地方,下翻頁找到下面這行:
*default host=CHANGE_THIS.FreeBSD.org
改成指定的freebsd官方cvsup服務器即可:
*default host=cvsup.FreeBSD.org
或更快的國內freebsd cvsup服務器:
*default host=cvsup.cn.FreeBSD.org
*default host=cvsup.FreeBSDChina.org
退出並保存,運行下面的指令開始cvsup在線升級代碼:
#cvsup standard-supfile
這也是我們第一次用FREEBSD上互聯網。如果網絡暢通,可以看到連接提示,並且開始自動升級源代碼了。如果不暢通,或者cvsup服務器忙,可以換個cvsup服務器試試。如果是網絡設置問題,可以到sysinstall--configure--networking裡修改網卡設置。也可以用ee編輯/etc/rc.conf這個文件,檢查哪裡的設置出了問題。
系統源代碼升級,我的ADSL大概用30分鐘左右即可完成。
然後我們升級ports代碼。ports裡很多東西是不需要的,我們可以稍微仔細編輯一下。打開ports-supfile這個文