FreeBSD Web伺服器配置篇

來源:互聯網
上載者:User

 Web伺服器(192.168.10.40)同時提供Web服務和DNS服務。所以這裡我們需要安裝和配置Apache和Bind。

伺服器網路設定
# ee /etc/rc.conf
ifconfig_lnc0="inet 192.168.10.40 netmask 255.255.255.0"
defaultrouter="192.168.10.10"         
 
hostname="web.rd.bj"
# ee /etc/hosts
192.168.10.40    web.rd.bj
 
配置好網路環境後,我們先來配置DNS伺服器。在預設的Freebsd的安裝過程中已經安裝好了Bind,我們現在只需修改設定檔即可。
我們現在先虛擬一個網域名稱:rd.bj來作為整個測試環境的根網域名稱。
 
# cd cd /etc/namedb/
# ee named.conf
在listen-on中增加監聽IP:192.168.10.40
listen-on       { 127.0.0.1; 192.168.10.40; };
然後在最後加入:
zone "rd.bj" {    
type master;
file "master/rd.bj";    
};             
zone "10.168.192.in-addr.arpa" {
type master;         
file "master/10.168.192.in-addr.arpa";
};
 
正解檔的設定
# eemaster/rd.bj
加入:
$TTL    172800
@       IN      SOA     rd.bj. root.rd.bj. (      
2005100301 ; Serial
172800 ; Refresh
900     ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN            NS              rd.bj.  
IN            A               192.168.10.40
web       IN            A               192.168.10.40
squid01   IN            A               192.168.10.30
squid02   IN            A               192.168.10.31
proxy      IN            A               192.168.10.20
www      IN          A                  192.168.10.20
 
開頭的 @ 代表網網域名稱稱 rd.bj,IN 表示為 internet 的資料型態。
SOA 後面接的是rd.bj,表示這台rd.bj機器是rd.bj網域中的主要名稱伺服器。而root.rd.bj表示管理者的Email 是 root@rd.bj。
正解檔中的內容中除了第一行外,每一行的格式為 [name] [ttl] [class] [type] [data]。以下是每個欄位的說明:
name:可以是網網域名稱稱或是主機名稱,如果不寫的話表示與上一個設定相同。
ttl:是資料要存活的時間 (time to live),也就是 cache server 將保留在它的 cache 中的時間。如果不寫的話表示和 SOA 中的設定相同。
class:指定網路的類型,這個欄位應該都是使用 IN 代表 internet。
type:設定該筆資料的型態,例如:MX, A, CNAME, PTR, NS 等。
data:就是實際設定資料的部份。
Serial:這個設定的版本,這次修改的數字必須比上次的數字大,也就是每次修改這個檔時,都要將這個數字提高,這樣別的伺服器才會將資料更新。一般而言,我們會以日期加上幾位的數字來表示,如 2004040301 表示 2004 年 4 月 3 日的第一次設定。
Refresh:這個數字是次要名稱伺服器要多久和主要名稱伺服器比對資料並更新。
Retry:如果比對失敗,要在幾秒後再向主要名稱伺服器查詢。
Expire:表示如果次要名稱伺服器一直連不上主要名稱伺服器,這筆資料要多久無法比對便失效。這個欄位一樣是以秒計算。
Minimum:表示別的快取伺服器可以將你的設定存放多久。
 
反解檔的設定
# ee master/10.168.192.in-addr.arpa
加入:
$TTL    172800
@       IN      SOA     rd.bj. root.rd.bj. (
2001080301 ; Serial
172800 ; Refresh
900     ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN       NS        rd.bj.
40       IN       PTR       rd.bj.
40       IN       PTR       web.rd.bj.
30       IN       PTR       squid01.rd.bj.
31       IN       PTR       squid02.rd.bj.
20       IN       PTR       proxy.rd.bj
20       IN       PTR       www.rd.bj
 
當我們設定好正解檔和反解檔後,我們執行一下命令產生一個localhost的反解檔:
# cd /etc/namedb
# sh make-localhost
最後再修改檔案/etc/resolv.conf
# ee /etc/resolv.conf
設定成:
nameserver 127.0.0.1
這樣就可以讓此台伺服器成為這個網域中第一台DNS伺服器。
 
現在我們就配置好了我們的DNS伺服器,啟動她吧!!!
# /etc/rc.d/named start
我們可以使用下面的指令查詢資訊:
# tail /var/log/messages
查看到沒有錯誤資訊後,我們使用nslookup命令來驗證一下我們的設定。
# nslookup web.rd.bj
 
這裡有個情況要提醒一下大家,由於我們現在squid01,squid02和proxy三台伺服器還沒有配置,所以在這裡測試可能會出一下狀況,所以我們可以再把其他3台伺服器設定好了以後,再一起測試測試完成以後(只要是messages檔案中沒有關於DNS的錯誤資訊,我們這裡就先假定我們的配置是正確的),然後我們來設定開機啟動DNS服務。
# ee /etc/rc.conf
加入:
named_enable="YES"
 
下班了, 回家接著寫吧!!! 萬惡的北京交通 ... 嘟嘟嘟 ... 堵堵堵
 
好,我們接著幹吧!
 
我們現在開始安裝Apache伺服器,先找找whereis
 
# whereis apache22
apache22: /usr/ports/www/apache22
Lets go ,找她去 ...
# cd /usr/ports/www/apache22
# make config     #配置安裝選項
 
大家可以根據實際用途進行選擇安裝,因為我這裡建立的是一個實驗環境,我把能裝上的都裝上,目的是以後可以把個個模組都配置看看效果,在這裡先預先都裝好, 以備不時之需。
如果大家想把Apache以worker模式運行,則需要修改Makefile檔案。
# ee Makefile
將WITH_MPM?=      prefork # or worker, event, itk改成:
WITH_MPM?=      worker # or worker, event, itk
# make install clean
OK,耐心等待,講個笑話,大家輕鬆一下吧!
一日,老師上機實踐課時出了一道題讓大家用C編程。其最後結果要和他的答案一致。
全班同學在規定時間無解,又近午飯,眾人更是頭昏眼花。忽一同學叫老師,聲他成了。
老師前去一看,答案果同。就放其出去。
眾同學暗想,該人水平一般,何故今日高水平發揮。於是找其來源程式一看。
只有一句“printf("XXXXX");”
眾人大嘩。
 
漫長的等待,終於安裝完成了。
# rehash
# pkg_info | grep apache
apache-worker-2.2.6_3 Version 2.2 of Apache web server with worker MPM.
# apachectl -l
Compiled in modules:
core.c
worker.c
http_core.c
mod_so.c
現在我們對Apache進行簡單的配置,對Apache進行更深入的調優,我們在這裡暫且不做討論,等我們的實驗環境都搭建好了後, 大家可以根據自己的業務需求進行調整。
# cd /usr/local/etc/apache22
# ee httpd.conf
更改以下參數:
Listen 192.168.10.40:80
ServerAdmin admin@rd.bj
ServerName web.rd.bj:80
其他都不變,保

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.