亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > FreeBSD > 正文

FreeBSD kernel 編譯大法(三)編kernel失敗的處理

2024-07-26 00:29:12
字體:
來源:轉載
供稿:網友
第一課、安裝OpenBSD 2.8 

如果您的電腦不支持光盤啟動,請首先在DOS下進行以下的步驟,制作啟動軟盤,然后從軟盤
啟動電腦。(其中e:是光盤所在盤符) 

e:/2.8/tools/fdimage e:/2.8/i386/floppy28.fs a: 

如果您的電腦支持光盤啟動,直接從光盤啟動后,按照提示一步一步完成安裝,以下是安裝
過程的簡略描述: 

第一節、建立分區 

啟動電腦直到出現以下的提示: 
(I)nstall, (U)pgrade or (S)hell? 
其中(I)代表安裝一個全新的系統,(U)代表升級原有的OpenBSD舊版本,(S)代表退出到命令行狀態。 
我們要安裝一個全新的系統,所以輸入I并回車。 
在一屏歡迎辭之后,系統詢問使用什么終端類型: 
Specify terminal type [pcvt25]: 
不用理會它,直接回車,繼續以后的步驟。系統將檢測到可用的硬盤,并詢問對那個硬盤進行處理: 
Available disks are: 
wd0 
Which disk is the root disk? [wd0] 
上面的提示表明,電腦只有一個IDE硬盤,如果是SCSI硬盤,將顯示成sd0。因為系統只有一個硬盤,
所以安裝程序已經幫我們選擇了硬盤,如果系統有多個硬盤,那就必須輸入硬盤的名稱,如wd1?,F
在直接回車進入下一步。 
系統詢問是否把整個硬盤給OpenBSD使用: 
Do you want to use the *entire* disk for OpenBSD? [no] 
默認是no,不過手冊是要做服務器,所以輸入yes并回車吧!不過首先要確認這個硬盤上面沒有重要
的數據?。?nbsp;
現在系統會進入fdisk(一個分區程序,輸入?并回車可以獲得使用幫助)。首先用d命令刪除原有的
分區(注意,c分區被OpenBSD系統保留使用,不能夠刪除或變更),然后用a命令新建分區,您將得
到和下面類似的信息: 
offset: [xxxxxx]  
size: [xxxxxxxxxx]  
Rounding to nearest cylinder: xxxxxxxx 
FS type: [4.2BSD]  
mount point: [none]  
其中,offset是指每一個分區的偏移地址。不用理會,直接回車即可,系統會自動處理。size是分區
的大小,括號里面是剩余的可用磁盤空間大小??梢灾苯佑?0m這樣的輸入來表示分區的大小為80Mb。
Rounding to nearest cylinder由系統返回,是轉換成柱頭數,不必理會。FS type是文件系統類型,
只有4.2BSD和swap兩個可選項。默認情況下,b分區會使用swap選項。swap分區建議大小為內存大小
的2倍。mount point相當于DOS系統的目錄,系統必須有且只有一個根目錄“/”,swap分區無需
mount point。 
可以簡單的把swap分區以外的全部磁盤空間定義為“/”,但是不建議這么做,因為一旦磁盤出現問題,
就難于根據分區進行修復了。如果您有一個15Gb的硬盤,并且有128Mb的內存,那么建議劃分如下: 
a 80m 4.2BSD / ;根目錄 
b 300m swap ;交換分區 
d 80m 4.2BSD /tmp ;臨時文件目錄 
e 800m 4.2BSD /usr ;應用程序目錄 
f 2000m 4.2BSD /var ;應用數據目錄 
g 剩余空間 4.2BSD /home ;用戶目錄 
如果安裝MySQL數據庫服務,且要求方便管理的話,那么可以把/var/mysql單獨出來一個分區(會在后
面提及)。 
劃分好分區之后用w命令保存分區信息,q命令退出fdisk程序。 
The following partitions will be used for the root filesystem and swap: 
        wd0a    / 
        wd0b    swap 
Mount point for wd0d (size=98967k) [/tmp, RET, none, or done]?  
系統會再次確認目錄分配,可以給粗心大意的人一個修正的機會,如果確定沒有錯誤的話,輸入done并
回車即可。 
系統會提示是否對其他硬盤進行處理,如果沒有其他硬盤或者不需要處理,輸入done并回車繼續下一個
步驟,如果配置其他硬盤,按照上面的步驟進行即可。注意千萬不要對已經配置過的硬盤進行再配置。 
系統詢問是否進行格式化: 
The next step will overwrite any existing data on: 
        wd0a wd0d wd0e wd0f wd0g  
Are you really sure that you're ready to PRoceed? [n] 
當然輸入y并回車了,做了這么多,難道不繼續嗎? 

第二節、配置網絡 
經過硬盤格式化之后,系統將詢問是否配置網絡: 
Configure the network [y] 
既然是做服務器,當然要網絡支持的,回車開始配置網絡。 
Enter system hostname (short form): []  
Enter DNS domain name: []  
輸入hostname(主機名)和domain name(域名),如果有合法的國際域名的話,就使用國際域名。先假
設hostname為moo,domain name為01tech.nat(避免和國際域名沖突)。 
系統提示配置網卡,手冊例子使用的是DE-530TX 10/100Mbps自適應網卡,在OpenBSD下面的設備名為vr0,
如果是NE2000兼容網卡,可能顯示為ne0,系統會自動檢測并列出來: 
You may configure the following network interfaces (the interfaces 
marked with [X] have been succesfully configured): 
        [ ] vr0 
Configure which interface? (or, enter 'done') [vr0]  
在本例中,系統只有一個網卡,且已經選定,直接回車開始配置,如果沒有選定,請輸入設備名并回車
進行配置。 
ip address (or 'dhcp') ? []  
Symbolic (host) name? [moo]  
Netmask ? [255.255.255.0]  
在IP address中輸入dhcp并回車將會使用動態分配的IP地址,作為服務器應該有固定的IP地址,所以這
里應該輸入192.168.32.1并回車(關于IP地址和掩碼的知識請參考其他文章)。Symbolic (host) name其
實就是hostname啦!系統會自動使用剛才輸入的hostname,直接回車就可以了。Netmask(掩碼)默認
是255.255.255.0,就用這個吧,回車繼續。 
Your use of the network interface may require non-default 
media directives.  The default media is: 
        media: Ethernet autoselect (100baseTX full-duplex) 
This is a list of supported media: 
        media autoselect 
        media 100baseTX mediaopt full-duplex 
        media 100baseTX 
        media 10baseT mediaopt full-duplex 
        media 10baseT 
If the default is not satisfactory, and you wish to use another 
media, copy that line from above (e.g. "media 100baseTX") 
Media directives? [] 
別看這么多信息,其實就做一個事,選擇網卡的接入網絡方式,最簡單的方式就是選擇media autoselect
并回車。 
系統會詢問是否配置其他的網卡,如果系統只有一個網卡的話,會自動選定done,只需要回車即可進入下
一個步驟。其他網卡的配置象上面一樣配置就可以了。 
Enter IP address of default route: [none]  
Enter IP address of primary nameserver: [none]  
Would you like to use the nameserver now? [y]  
路由route不需要輸入,除非要鏈接到不同域的機器。因為要在這臺服務器上提供域名解釋服務,所以
nameserver就指向自己吧,也就是輸入192.168.32.1就可以了。至于是否現在啟動nameserver就沒所謂了。
回車繼續。 
第三節、設置管理員口令 
Please enter the initial passWord that the root account will have. 
系統要求輸入管理員口令,并確認一次,千萬要記住啊,不然電腦重新啟動之后進入不了系統進行管理。
這里假設口令為123456,在實際的應用中千萬不要使用這樣的口令,而應該采用字母、字符和數字混合
的口令。 

第四節、安裝應用程序 
然后安裝程序詢問是否會運行X Window: 
Do you expect to run the X Window System? [y] 
當然不會,輸入n并回車繼續下一步。選擇安裝媒體介質。 
Install from (f)tp, (h)ttp, (t)ape, (C)D-ROM, (N)FS or local (d)isk? 
有多種方式安裝系統,我們只選擇(C),通過CD-ROM安裝。 
The following CD-ROM devices are installed on your system;  
please make 
sure the CD is in the CD-ROM drive and select the device containing 
the CD with the installation sets: 
cd0 
Which CD-ROM contains the installation media? [cd0] 
系統將檢測可用的CD-ROM,并給予選定,這里是只有一個CD-ROM的狀態,如果多于一個CD-ROM的狀況,
請選擇正確的放有安裝光盤的CD-ROM,否則安裝程序會Halt在那里,無法繼續。 
Enter the directory relative to the mount point that 
contains the file. [/2.8/i386]  
確認安裝文件所在目錄,如果您使用01TECH上面提供的光盤,回車確認即可。 
The following sets are available for extraction. 
Enter filename, `list', `all', or `done'. 
You may de-select a set by prepending a '-' to its name. 
        [X] base28.tgz 
        [X] etc28.tgz 
        [ ] misc28.tgz 
        [ ] comp28.tgz 
        [X] man28.tgz 
        [ ] game28.tgz 
        [ ] xbase28.tgz 
        [ ] xshare28.tgz 
        [ ] xfont28.tgz 
        [ ] xserv28.tgz 
        [X] bsd 
File name? [] 
因為安裝服務器,我們只需要上面已經打“X”的的程序包,另外,因為有部分程序必須由源程序編譯
獲得,所以必須選擇comp28.tgz。也就是說要有base28.tgz、etc28.tgz、comp28.tgz、man28.tgz以
及bsd。 
確認這五個項前面都打“X”后,輸入done并回車,詢問: 
Ready to extract selected file sets? [y] 
當然要解包,這個問題實在有點弱智?。?nbsp;
Extract more sets? [n] 
嗯?上帝說,再給你一個懺悔的機會?別管他,回車繼續吧! 

第五節、設定時區 
然后就是選擇時區: 
What timezone are you in? [`?' for list] [GMT]  
可以用?查看一下有什么可以選擇的時區,不過確定沒有北京時間,選香港的吧,輸入Hongkong并回車。 
系統一番自動處理之后,終于出現了命令行模式的提示符“#”。恭喜,OpenBSD 2.8到此安裝完畢。
輸入reboot回車,重新啟動電腦吧!記住改為硬盤啟動??!現在可以歇一歇了。 

重新啟動電腦之后,用root作為用戶名,123456作為密碼就可以登錄您的OpenBSD 2.8系統了。 








第二課、設置域名解釋服務 
首先解釋一下域名服務(DNS-Domain Name Server)的作用。其實,鏈接到網絡的電腦,只需要知
道IP地址就可以實現訪問。但是誰會去記住129.128.5.191這個IP地址是代表OpenBSD的服務器呢?當然
是www.openbsd.org容易記憶得多了。域名服務所實現的作用,就是把www.openbsd.org這樣的名字轉換
成電腦可以識別的129.128.5.191這樣的IP地址。 
所以域名解釋服務應當包含兩種轉換過程:從名字到IP地址(正向解釋);從IP地址到名字(反向
解釋)。理解了這些基本感念,配置域名解釋服務得時候就會比較容易了。 

第一節、設置named.boot文件 
OpenBSD 2.8系統在安裝完成后就已經有域名解釋服務程序named 4.9.7-REL,只是需要人工設定啟
動。named的配置文件在/var/named目錄里面,文件名是named.boot。一個簡單的,可以使用的(當然是
和手冊的例子聯系起來啦?。┑膎amed.boot的文件內容如下: 
directory /namedb 
cache . root.cache 
primary 0.0.127.IN-ADDR.ARPA localhost.rev 
primary 32.168.192.IN-ADDR.ARPA 01tech.rev 
primary 01tech.nat 01tech 
可以用vi工具來編輯這個文件(vi的使用方法請參考『附錄4』)。解釋一下這個文件各行的含義: 
第一行用于指定域名解釋文件所在目錄,其實真正的域名解釋文件是放在/var/named/namedb目錄里
面,因為我們將采用chroot的方式(執行程序的時候切換到程序需要的用戶,并以改用戶的根目錄作為
根目錄的方式)執行named,所以這里是/namedb。 
第二行指定了緩存文件,對于曾經訪問過的域名,將會記錄在緩存文件里面,以后查詢的時候就會
快很多。緩存文件的文件名是root.cache。 
第三行指定了對于本機的域名反解文件。0.0.127.IN-ADDR.ARPA的寫法其實就是說要反過來求
127.0.0.x(x的范圍是1~255)的對應名稱。相關的解釋文件是localhost.rev 
第四行和第三行同理,就是要求192.168.32.x的對應名稱。相關的解釋文件是01tech.rev 
第五行是正解,指定凡是域名為01tech.nat的名稱都交給01tech文件進行解釋。 

第二節、配置域名解釋文件 
然后,我們看看/var/namedb目錄里面的文件的內容,在系統沒有配置域名解釋服務的時候,默認
只有兩個文件:localhost.rev和root.cache,其中的localhost.rev并非我們需要的內容,要自行改寫,
改寫后的內容如下: 
@ IN SOA moo.01tech.nat. root.moo.01tech.nat. ( 
14 ;Serial 
3600 ;Refresh 
900 ;Retry 
3600000 ;Expire 
3600) ;Minimum 
IN NS moo.01tech.nat. 
1 IN PTR localhost. 
解釋一下這個文件的構成吧!其實這個文件由三個RR(Resource record)構成,或者我們用表格的
方式來分析,會比較容易理解吧: 
[ name ] [ ttl ] [ class ] type data 
@ 省略 IN SOA …… 
省略 省略 IN NS …… 
1 省略 IN PTR …… 
Name必須為主機名或者域名,當使用@時代表縮寫,就是和named.boot文件中指定的一樣,在這里就代
表127.0.0.x了。 
ttl是指此條數據的有效保存期限,通常都忽略掉,采用默認的ttl值。 
class指定網絡類型,IN代表Internet,基本上都不會使用別的類型。 
type常見的有SOA、NS、A、PTR、MX、CNAME等。 
SOA(Start Of Authority)后面跟負責這個域的主機,管理員郵箱,序列號,副解釋域更新間隔,副解
釋域更新失敗重試間隔,主解釋域失敗時副解釋域提供數據的有效期限,其他域名解釋服務器保留本域
名解釋服務器的時間。需要注意的是,在主機和管理員郵箱后一定不能缺少“.”否則系統會自動加上
完整的域名,例如只寫moo的話,系統會添加為moo.01tech.nat。所以也可以簡單的把SOA語句寫
作SOA moo root.moo (……)。 
NS(Name Server)后面跟指定的提供域名解釋服務的主機名 
PTR(Pointer)后面是對應于前面IP地址的名稱。 
A(Address)后面是對應于前面的名稱的IP地址。需要注意正解的A和反解的PTR的記錄必須相符,否則會
造成DNS查詢不正常,系統變慢。 
CNAME用于建立別名,這樣訪問別名的時候,就會轉為訪問正式的名稱。 
MX記錄的是一串目的地址列表,用于告訴郵件服務器傳送信件的優先順序。 
對于A、CNAME、MX的使用方法將會在后面的正解文件中看到,以后將不再作出解釋。 
01tech.rev的文件內容和localhost.rev文件基本相同,如下: 
@ IN SOA moo.01tech.nat. root.moo.01tech.nat. ( 
14 ;Serial 
3600 ;Refresh 
900 ;Retry 
3600000 ;Expire 
3600) ;Minimum 
IN NS moo.01tech.nat. 
1 IN PTR moo.01tech.nat. 
01tech的內容如下: 
@ IN SOA moo.01tech.nat. root.moo.01tech.nat. ( 
14 ;Serial 
3600 ;Refresh 
900 ;Retry 
3600000 ;Expire 
3600) ;Minimum 
IN NS moo.01tech.nat. 
IN MX 5 pop.01tech.nat. 
moo IN A 192.168.32.1 
www IN CNAME moo 
pop IN CNAME moo 
smtp IN CNAME moo 
localhost. IN CNAME moo 
01tech.nat. IN CNAME moo 
第三節、測試DNS 
好了,說了一大堆的東西,需要好好消化,不過我們還是看看我們的DNS是否正常吧,通過以下
的命令啟動named: 
named –t /var/named 
然后用nslookup來檢查DNS是否正常。以下是nslookup運行的結果,任何時候如果域名不能解釋,
通過按Ctrl+C可以中斷查詢。 
nslookup 
Default Server: moo.01tech.nat 
Address: 192.168.32.1 
>pop 
Server: moo.01tech.nat 
Address: 192.168.32.1 
Name: moo.01tech.nat 
Address: 192.168.32.1 
Aliases: pop.01tech.nat 
>exit 
如果您完全按照手冊的例子來配置您的DNS,但是查詢卻沒有這樣的結果,那么您需要重新再來,
好好吃透上面的說明了。 

第四節、在啟動系統的時候自動啟動DNS 
要使系統在啟動時自動啟動DNS服務非常簡單,修改/etc/rc.conf文件里面的相關項就可以了 
named_flags=NO 改為 named_flags=”” 






第三課、配置數據庫服務 
如果您不需要數據庫服務可以略過本課,但是后面的課程中相當部分和本課有關,所以即使不打算
配置數據庫服務,也應該看看本課的內容。 
MySQL數據庫是目前最受歡迎的免費數據庫,由于具有優異的效率和簡潔的控制方式,所以被眾多
的服務商采用。盡管它還有一些不足,例如不支持事務和子選擇,但這些缺陷可以通過編程解決。 
在本手冊開始寫作的時候,MySQL的最新穩定版本是3.23.32,還沒有OpenBSD的port(OpenBSD中的
每一個應用都是一個port),所以我們在手冊光盤中包含了它的源代碼包,并寫作了本課以教導您如何
在OpenBSD下面編譯并安裝MySQL。 

第一節、展開MySQL源代碼包 
首先需要讓系統可以讀取光盤(因為源代碼包在光盤里面?。。?,方法非常簡單,只需執行以下
的命令即可: 
mount /dev/cd0c /mnt 
然后轉入/usr/src目錄,把MySQL-3.23.32的源代碼包解壓 
cd /usr/src 
tar zxvf /mnt/packages/mysql-3.23.32.tar.gz 
這樣,在/usr/src目錄下面就會有一個名為mysql-3.23.32的目錄,里面就是MySQL-3.23.32的源
代碼。為了繼續后面的工作,我們需要進入該目錄。 
cd mysql-3.23.32 

第二節、為MySQL服務程序建立所需的組和用戶 
要正確編譯和安裝MySQL數據庫服務程序,需要建立mysql組和屬于mysql組的mysql用戶。在以后
運行MySQL數據庫服務程序的時候同樣需要它們,建立的方法如下: 
groupadd mysql 
useradd –g mysql mysql 

第三節、運行配置程序 
因為要編譯源代碼必須先獲得和系統相關的信息,包括編譯器版本,系統支持的線程方式
(OpenBSD是一個支持多線程的系統)等。因此需要運行配置程序以獲取這些信息。 
./configure --prefix=/usr/local / 
          --localstatedir=/var/mysql / 
          --with-low-memory / 
          --without-bench / 
          --without-debug 
我們解釋一下配置程序里面各行的含義。./configure就是要執行的配置程序了;--prefix=/usr/local
表示,編譯后的MySQL數據庫服務程序將會安裝到/usr/local/bin目錄當中,而庫文件會安裝到
/usr/local/lib/mysql目錄中,頭文件將安裝到/usr/local/include目錄中;--localstatedir=/var/mysql
表示數據庫所用到的數據將會安裝到/var/mysql目錄中(我們在安裝OpenBSD的時候提到如果需要,
可以為/var/mysql建立一個獨立的分區就是這個原因,這樣可以方便管理);--with-low-memory這一
句至關重要,沒有了它,基本上就不要指望在您的機器上面通過編譯,除非您擁有超過1Gb的內存,這句
會指導編譯程序使用交換分區作為虛擬內存;--without-bench和—without-debug告訴編譯器和安裝腳本
不需要測試程序和調試信息。 
好了,解釋得夠清楚嗎? 

第四節、編譯和安裝MySQL 
這個步驟非常簡單,只需要執行下面的命令即可,其他得事情由電腦來完成。因為編譯的過程非常久,
可以喝杯水歇一歇。 
make 
make install 
make init-db 

第五節、測試MySQL 
對不起,本節的標題有點含糊。這里的測試是指測試MySQL的編譯和安裝是否正常。為了測試MySQL
是否被正確編譯和安裝,需要執行以下的命令: 
/usr/local/bin/safe_mysqld > /dev/null & 
/usr/local/bin/mysqladmin –u root password ‘123456’ 
如果第二條命令無聲無息地結束了,那么就證明MySQL可以正常使用了。對了,第二條命令其實是更
改系統管理員的口令??!那么您知道以后使用MySQL程序的時候需要的口令了嗎? 

第六節、讓MySQL在系統啟動的時候自動啟動 
我們需要做一些工作來讓MySQL在系統啟動的時候自動啟動。首先我們修改/etc/rc.conf文件,添加
以下的行: 
mysqld_flags=”” 
然后,需要修改/etc/rc文件,找到啟動named的代碼(第171行),添加以下的代碼: 
if [ “X${mysqld_flags}” != X”NO” ]; then 
echo ‘starting mysqld’ 
/usr/local/bin/safe_mysqld > /dev/null & 
fi 
另外,為了讓其他需要用到MySQL的程序編譯可以順利通過,就需要在/etc/rc.local文件中添加以
下的代碼: 
if [ “X${mysqld_flags}” != X”NO” ]; then 
/sbin/ldconfig –m /usr/local/lib/mysql 
fi 








第四課、配置郵件服務 
其實OpenBSD 2.8在系統安裝完成之后,就已經安裝且啟動了郵件服務sendmail。我們在這里需要為
OpenBSD找一個比sendmail更加安全、更加容易使用和高效能的郵件服務程序,我們選擇了qmail(利用
qmail加上vpopmail可以把系統用戶和郵件用戶分離,并且使用虛擬郵件域。再加上MySQL就可以實現郵件
用戶的數據庫口令校驗,這是我選擇qmail的原因)。 

第一節、關閉sendmail 
因為qmail作為sendmail的替代服務程序,不能和sendmail一起工作,所以必須先關閉sendmail程序。
執行以下的命令關閉正在執行的sendmail程序。 
Kill –9 `cat /var/run/sendmail.pid` 
同時,必須把sendmail相關的鏈接刪除,并把senmail更名 
chmod 0 /usr/sbin/sendmail /usr/sbin/sendmail.old 
最后還必須修改/etc/rc.conf文件,更改sendmail_flags以避免系統重新啟動時sendmail自動啟動。 
sendmail_flags=”-q 30m” 改為 sendmail_flags=NO 

第二節、安裝qmail 
如果一直按照手冊的例子進行練習,那么現在應該可以訪問CD-ROM,如果系統曾經重新啟動,那么
請按照第三課、第一節的內容來訪問CD-ROM。 
進入/mnt/packages目錄并安裝qmail執行代碼包: 
cd /mnt/packages 
pkg_add qmail-1.03.tgz 
安裝的過程中會詢問是否添加一些組和用戶,默認選擇Y,不用改變,直接回車繼續就可以了。一定
要記錄qmaild的uid和nofiles的gid,因為在以后的課程中啟動smtp和pop的時候需要它們(例如qmaild的
uid是2850,nofiles的gid是32750)。Qmail被安裝到/var/qmail目錄。 

第三節、配置qmail 
要配置和運行需要DNS正確運行,如果還沒有配置DNS服務,請按照第二課的內容進行配置。 
首先執行以下的命令建立新的sendmail鏈接,以實現和sendmail的兼容: 
ln –s /var/qmail/bin/sendmail /usr/sbin/sendmail 
然后建立基礎的域信息,使用下面的命令來完成: 
/var/qmail/setup/config-fast 01tech.nat 
當然,也可以通過/var/qmail/setup/config來設置基礎域信息,不過既然DNS正常,為什么不使用更
快捷的方法呢?config的用法請參考/var/qmail/doc里面的文檔。 
復制rc文件,并對其進行修改,讓它和sendmail兼容: 
cp /var/qmail/boot/home /var/qmail/rc 
qmail默認使用Mailbox,而sendmail默認使用Maildir,很多的程序都根據sendmail規則來編寫,需
要使用Maildir,所以需要更改rc文件,作出以下的更改: 
Mailbox 改為 Maildir 

第四節、測試qmail 
安裝和配置完成之后當然要測試一下qmail的運作是否正常了,執行以下的命令啟動qmail服務: 
csh –cf ‘/var/qmail/rc &’ > /dev/null & 
然后使用以下的命令查看是否存在qmail-lspawn ./Maildir。如果已經存在,則證明qmail服務已經
正常啟動,如果沒有找到,就需要按照第三節的內容重新配置。 
ps -x 

第五節、啟動系統時自動運行qmail服務 
首先修改/etc/rc.conf文件,添加以下的內容: 
qmail_flags=”” 
然后修改/etc/rc文件,找到sendmail的啟動代碼,在后面添加以下的代碼: 
if [ “X${qmail_flags}” != X”NO” ]; then 
echo –n ‘ qmail’; csh –cf ‘/var/qmail/rc &’ > /dev/null & 
fi 





第五課、分離系統用戶和郵件用戶 
我們使用vpopmail來分離系統用戶和郵件用戶,這樣可以提高系統的安全性。而且vpopmail還可以
使用虛擬域名,也就是同一個IP的不同域名的郵箱。 

第一節、展開源代碼包 
進入/usr/src目錄,并解壓vpopmail-4.9.8源代碼包,然后進入vpopmail-4.9.8目錄: 
cd /usr/src 
tar zxvf /mnt/packages/vpopmail-4.9.8.tar.gz 
cd vpopmail-4.9.8 
 
第二節、使用MySQL支持 
如果您的系統沒有提供MySQL支持,請跳過這一步。 
修改vmysql.h文件,找到其中的一行內容為: 
#define MYSQL_PASSWORD “gipgap” 
把里面的gipgap替換成為可以訪問MySQL的系統管理員口令123456: 
#define MYSQL_PASSWORD “123456” 

第三節、添加組和用戶 
編譯和運行vpopmail,需要vchkpw組和屬于vchkpw組的vpopmail用戶。使用以下的命令添加組和用戶: 
groupadd vchkpw 
useradd –g vchkpw vpopmail 

第四節、準備/etc/tcp.smtp文件 
要編譯vpopmail需要有tcp.smtp文件,默認的存放路徑是/etc目錄,通過下面的命令產生該文件: 
echo ‘127.0.0.:allow,RELAYCLIENT=””’ > /etc/tcp.smtp 

第五節、運行配置程序 
運行配置程序configure,獲取編譯所需的編譯器,外部環境等信息: 
./configure --enable-default-domain=01tech.nat / 
          --enable-admin-email=zenz-hu@01tech.nat / 
          --enable-mysql=y / 
          --enable-sqlincdir=/usr/local / 
          --enable-sqllibdir=/usr/local / 
          --enable-large-site=y / 
          --enable-passwd=n / 
          --enable-hardquota=8000000 
解釋一下各項的含義:--enable-default-domain=01tech.nat指定默認的郵件域是
01tech.nat;--enable-admin-email=zenz-hu@01tech.nat說明管理員的郵箱;--enable-mysql=y告訴編
譯器要使用MySQL數據庫作口令檢查服務;--enable-sqlincdir=/usr/local和—enable-sqllibdir=/usr/local
告訴編譯器到哪里尋找MySQL的頭文件和庫文件;--enable-large-site=y用于把域信息保存到MySQL數據庫中,
但是如果有太多的虛擬域則不適宜采用本項;--enable-passwd=n告訴系統不在/etc/passwd口令文件中
查找郵箱用戶的口令;--enable-hardquota=8000000限制每個用戶的郵箱大小為8Mb。 
第六節、編譯并安裝vpopmail 
只需要簡單的命令,即可編譯并安裝vpopmail: 
make 
make install-strip 
安裝后的vpopmail在/home/vpopmail目錄下。 

第七節、添加郵件域和更改postmaster口令 
現在的vpopmail還沒有郵件域,即使在編譯的時候指定了默認的郵件域也一樣需要通過執行以下的
程序來添加郵件域: 
/home/vpopmail/bin/vadddomain 01tech.nat 
系統會詢問屬于這個域的postmaster的口令并要求確認,輸入123456作為口令吧(記住,這里使用的
任何口令都不應該在實際應用中出現,否則您的系統會有很大的安全問題)! 
如果在這個步驟出現錯誤提示,那么您很可能需要重新進行本課的練習了。 
第八節、啟動smtp和pop3服務 
要用戶可以用smtp方式發送郵件以及使用pop3方式接受郵件,需要修改/etc/rc文件,在qmail啟動代
碼后面添加以下的代碼: 
if [ -x /home/vpopmail/bin/vchkpw ]; then 
echo –n ‘ smtpd’ 
/usr/local/bin/tcpserver –u2850 –g32750 0 smtp / 
/var/qmail/bin/qmail-smtpd 2>&1 > /dev/null & 
echo –n ‘ popd’ 
/usr/local/bin/tcpserver 0 pop3 / 
/var/qmail/bin/qmail-popup pop.01tech.nat / 
/home/vpopmail/bin/vchkpw / 
/var/qmail/bin/qmail-pop3d Maildir & 
fi 
經過上面的修改,系統在每次重新啟動之后,都會自動啟動smtp和pop3服務了。 

vpopmail的管理手冊在/home/vpopmail/doc目錄中。 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩欧美在线视频观看| 国产亚洲欧洲在线| 亚洲欧美精品一区| 超碰精品一区二区三区乱码| 成人免费看片视频| 色偷偷9999www| 久久精品视频在线| 国产精品久久久久久久久免费看| 日韩欧美在线国产| 午夜精品一区二区三区在线视频| 91精品国产91久久久久久最新| 91tv亚洲精品香蕉国产一区7ujn| 九九热精品在线| 在线播放精品一区二区三区| 粉嫩av一区二区三区免费野| 黄色一区二区三区| 国产va免费精品高清在线| 色噜噜狠狠狠综合曰曰曰88av| 色偷偷亚洲男人天堂| 国产成人一区二区| 国产精品青草久久久久福利99| 欧美肥婆姓交大片| 久久人人爽人人爽爽久久| 欧美日韩精品国产| 91大神福利视频在线| 一区二区三区四区视频| 国内精品久久久久久久| 亚洲欧美在线免费观看| 51视频国产精品一区二区| 亚洲国产精品高清久久久| 另类少妇人与禽zozz0性伦| 欧美午夜视频一区二区| 欧美与黑人午夜性猛交久久久| 日韩精品久久久久久福利| 欧美精品久久久久久久久| 欧美视频免费在线观看| 亚洲日韩中文字幕在线播放| 高清在线视频日韩欧美| 亚洲欧美精品一区| 美女扒开尿口让男人操亚洲视频网站| 国产精品日韩电影| 亚洲欧美国产精品va在线观看| 国产精品一区二区电影| 中文字幕9999| 91九色国产视频| 日韩欧美国产视频| 国产精品v片在线观看不卡| 亚洲电影第1页| 欧美激情中文网| 91综合免费在线| 欧美高清激情视频| 欧美黑人xxxx| 亚洲欧美国产精品| 国产精品久久久久9999| 国产欧美一区二区三区视频| 68精品久久久久久欧美| 成人激情电影一区二区| 国产成人精品视频在线观看| 亚洲毛片一区二区| 国产成人精品一区| 高清欧美性猛交xxxx黑人猛交| 国产欧美一区二区白浆黑人| 久久久久久久久亚洲| 久久久久久久激情视频| 91九色综合久久| 欧美激情一区二区久久久| 久久久久久中文字幕| 91欧美激情另类亚洲| 久久久国产一区二区| 色婷婷av一区二区三区在线观看| 日韩精品中文字幕在线播放| 97在线看免费观看视频在线观看| 欧美日韩国产一区在线| 欧美巨大黑人极品精男| 尤物yw午夜国产精品视频明星| 欧美大片va欧美在线播放| 欧美色另类天堂2015| 福利视频导航一区| 热草久综合在线| 日产精品久久久一区二区福利| 国产成人一区三区| 91精品啪在线观看麻豆免费| 亚洲一区二区免费在线| 国产精品你懂得| 久久精品国产清自在天天线| 欧美美女18p| 91精品啪在线观看麻豆免费| 成人精品视频99在线观看免费| 亚洲综合第一页| 一本大道亚洲视频| 91精品国产综合久久香蕉最新版| 国产精品流白浆视频| 在线日韩日本国产亚洲| 久久免费高清视频| 日本精品久久电影| 欧美成人激情视频免费观看| 亚洲成年网站在线观看| 欧美日本国产在线| 成人午夜激情免费视频| 久久手机免费视频| 亚洲欧美在线x视频| 欧美一区二区色| 亚洲japanese制服美女| 亚洲xxxxx电影| 国产综合在线观看视频| 日韩经典中文字幕| 精品久久久久人成| 欧美野外wwwxxx| 精品精品国产国产自在线| 欧美激情视频在线观看| 欧美一区二区色| 欧美成人久久久| 国产日韩精品视频| 国产精品日韩久久久久| 最近2019中文字幕在线高清| 国语自产精品视频在免费| 欧美精品aaa| 在线精品91av| 日韩在线视频网站| 91精品综合久久久久久五月天| 97视频在线观看视频免费视频| 中文字幕综合在线| 成人www视频在线观看| 久久激情视频久久| 91久久精品国产91久久| 亚洲欧美国产一区二区三区| 日韩欧美高清视频| 国产精品爱啪在线线免费观看| 国产精品女人久久久久久| 国产成人综合一区二区三区| 久久久久久这里只有精品| 久久久av免费| 日韩中文字幕不卡视频| 欧美性猛交xxxx免费看漫画| 秋霞av国产精品一区| 欧美精品videos性欧美| 久久精品一本久久99精品| 欧美成人精品在线播放| 国产精品高清免费在线观看| 综合激情国产一区| 欧美日韩ab片| 在线观看国产成人av片| 久久久亚洲影院你懂的| 国产亚洲美女精品久久久| 538国产精品一区二区在线| 久久久女女女女999久久| 一区二区欧美激情| 有码中文亚洲精品| 亚洲аv电影天堂网| 91国产一区在线| 久热精品视频在线观看| 国内精品免费午夜毛片| 91九色在线视频| 亚洲精品wwwww| 尤物九九久久国产精品的特点| 久久中文久久字幕| 国产精品爽爽爽| 亚洲精品电影在线观看| 精品五月天久久| 色伦专区97中文字幕| 精品magnet| 国产精品激情av在线播放| 国产精品极品在线| 日韩av在线免费观看|