You are on page 1of 16

【加慶科技】 - Linux 伺服器管理

目 錄

一、基本網路管理基礎...............................................................................................................................................................2

A、TCP/IP 簡介.......................................................................................................................................................................2
B、常見的 TCP/IP 服務項目...................................................................................................................................................2
C、網路設定相關檔案簡介....................................................................................................................................................3
D、網路設定相關指令............................................................................................................................................................3
E、LINUX 上的網路服務.........................................................................................................................................................4

二、DHCP 動態 IP 管理分享.....................................................................................................................................................5

A、安裝、設定 DHCP............................................................................................................................................................5

三、防火牆的概念與設定...........................................................................................................................................................5

A、IPCHAINS 與 IPTABLES:.....................................................................................................................................................6
B、常用參數說明....................................................................................................................................................................6

四、DNS 設定管理......................................................................................................................................................................7

A、DNS 檔案 (FILE, RPM INFO).............................................................................................................................................7


B、DNS 基本正查與反查的操作...........................................................................................................................................9

五、SENDMAIL 郵件服務管理...............................................................................................................................................11

A、LOCAL-HOST-NAMES, RELAY, 權限設定與管理..............................................................................................................11


B、設定離線讀信程式 OUTLOOKEXPRESS POP3 / SMTP...................................................................................................11

六、MYSQL / APACHE / PHP 系統設定/安裝......................................................................................................................13

A、安裝 MYSQL 資料庫.......................................................................................................................................................13


B、安裝 PHP + APACHE.........................................................................................................................................................13

七、APACHE WEB SERVER 網站建置與管理....................................................................................................................14

B、單一 IP 管理多網域網站 (HTTPD.CONF)..........................................................................................................................14


C、權限 & 密碼 設定............................................................................................................................................................15

八、SAMBA 實用技巧 (LINUX<->WINDOWS 檔案分享)..................................................................................................15

A、/ETC/SMB.CONF 基本設定................................................................................................................................................15
B、除錯及問題排除方式 TROUBLESHOOTING.....................................................................................................................16

1
【加慶科技】 - Linux 伺服器管理

一、基本網路管理基礎
網路就和電話線路一樣,需要有連接的線路,連接的設備,連接的方法,以及位址--電話號碼。在網路的世界中,利
用網路線,網路卡,路由器等硬體,連接不同的電腦與網路,藉由每個電腦不同的 IP,做為位址的辨認,各電腦的
溝通過程中則利用 TCP/IP 做為通訊的協定。
A、TCP/IP 簡介
由於目前 TCP/IP 是建構 Internet 服務的主要通訊協定,所以我們可以先由 TCP/IP 開始瞭解網際網路如何運作。TCP/
IP 包含了一組的通訊協定,其中有兩個協定是其他大部份協定的基礎,這兩個協定分別是:
1.網際網路協定(Internet Protocol, IP):此通訊協定中定義了所有在網路上流通封包(packet)的資料格式與規則。
2.傳輸控制協定(Transmission Control Protocol, TCP):此通訊協定主要提供一個可靠的傳輸方式,可以保證 IP 封包正
確地傳送到某個系統。

IP 位址: ifconfig eth0


IP 位址即為網際網路上電腦的定址方式,每部機器具有一組唯一的號碼,做為封包傳送的位址依據,此一號碼就是
IP 位址。IP 位址是由四個整數構成的一組號碼,其中每個整數各為一個位元組,數字範圍由 0 至 255。而一般而言,
一個完整的 C Class 網路,如 128.66.2.0 至 128.66.2.255 中,128.66.2.0 代表網路位址,128.66.2.255 代表廣播位址。

主機名稱與網域名稱:
一般人對於 IP 位址並不容易記憶,因此每部主機除了有 IP 位址外,還有對應的主機名稱(hostname),通常選擇較易
記憶,而且不太可能改變的單字作為主機的名稱。這些名稱是讓使用者使用上方便,實際上網路及主機內部僅接受
IP 位址, 因此支援 TCP/IP 協定的程式另有一套轉換 IP 位址與主機名稱的方法。 與主機名稱相關的另一個名稱是網
域名稱(domain name) , 一個網域(domain)被定義為一群邏輯上相連接、但實質上不須相連接的機器。主機名稱加上網
域名稱,即為一完整的主機位址。

電子郵件位址:
將主機使用者的上線名稱 (login name) 加上@字元,再加上該主機完整的位址,即構成使用者的電子郵件位址。例如,
若在領域 ntu.edu.tw 中有部主機名為 mail, 其下有個使用者 ken,則該使用者的完整網際位址即是
ken@mail.ntu.edu.tw,透過此種位址,世界各處的使用者皆可直接交換訊息。

網際網路
網際網路即為網路的網路,藉由各骨幹網路將其他各區域的網路加以串連,各區域的網路與骨幹網路間則需要有闡
道器(gateway),使得各區域網路間可以溝通。整體而言,由許多主機構成一個網路,網路與網路之間則由閘通道負
責連繫,這樣一個架構就形成了今日的網際網路。

B、常見的 TCP/IP 服務項目


/etc/services – 常用服務名稱與 tcp udp 埠 對照表。
TELNET:終端模擬程式 (port 23)
TELNET 服務允許使用者由某部主機登入另一部主機,並使用另一部主機的資源。

FTP (File Transfer Protocol):檔案傳輸協定 (port 21)


使用者可利用 FTP 在兩部主機之間傳遞檔案資料。

SMTP (Simple Mail Transfer Protocol):簡易郵件傳輸協定 (port 25)


主機可以藉此服務自動將電子郵件由一部主機傳至另一部,一般寄發電子郵件即是利用此一服務達成,將郵件送至
目的主機。

POP (Post Office Protocol):郵件遞事務協定 (port 110)


POP 服務允許所有內送的郵件暫時存放在郵件伺服器中,等使用者向郵件伺服器要求時,再將郵件送出至使用者的
機器中。

PING (Packet InterNet Goper):封包網際探索器 (port 7)


這個程式以送出一個封包的方式來偵測指定的主機是否在線上,指定的主機在收到該封包,會立刻回應另一個封包,
PING 程式則會顯示收到封包,以及來回封包所花的時間。

FINGER:(port 79)
此命令可列出主機中所有線上的使用者,或列出某個特定使用者的相關資訊。

NFS (Network File System) (port 2049)


此服務是 Unix/Linux 主要的檔案分享方式,可跨越網路區段提供檔案分享服務是最方便安全的傳統 Unix 服務之一。
C、網路設定相關檔案簡介
Linux 上的網路設定

2
【加慶科技】 - Linux 伺服器管理

在 RedHat 系統中提供了數個方便的網路設定工具,使用者不需直接修改各個設定檔案。這些工具包含了
linuxconf、netconfig、netconf 等,其中 linuxconf 及 netconf 還提供了圖形化的設定介面。此外也可以指令加以設定,且
大部份設定原理可以適用於其他版本的 Linux 系統。以下介紹 RedHat 系統中各個設定檔案的內容,如此您就可以對
應至各個工具所設定的內容了。

/etc/hosts  : 主要作為記錄各主機之 hostname、簡稱及對應 ip


128.66.2.150 mail.ntu.edu.tw    linux_mail
^^^^^^^^^ip ^^^^^host 及 domain name ^^^^^簡稱或別名

/etc/host.conf 網站主機名稱之搜尋順序
    order hosts,bind //先 hosts 檔案,再用 bind 尋找

/etc/resolv.conf DNS 主機位址及附加領域名稱設定


    search   ntu.edu.tw //主機名稱所加上的 domain name
    nameserver   163.18.250.1 //第一個 DNS
    nameserver   198.65.1.1 //第二個 DNS
 
/etc/sysconfig/network 網路相關參數設定
   NETWORKING=yes //網路功能 – 開啟
   FORWARD_IPV4=false //IP 轉送 – 關閉
   HOSTNAME=mail.ntu.edu.tw //完整主機及領域名稱
   DOMAINNAME=ntu.edu.tw //領域名稱
   GATEWAY=128.66.2.254 //預設闡道器
   GATEWAYDEV=eth0 //闡道器設備介面

/etc/sysconfig/network-script/ifcfg-eth0 //eth0 網路介面啟動設定檔


    DEVICE=eth0 //設備名稱
    IPADDR=128.66.2.150 //IP 位址
    NETMASK=255.255.255.0 //網路遮罩設定
    NETWORK=128.66.2.0 //網路位址設定
    BROADCAST=128.66.2.255 //廣播位址設定
    ONBOOT=yes //開機是否啟動 – 是

D、網路設定相關指令
設定及查詢網路相關設定
ifconfig -a         //查看網路設定,所有網路介面
ifconfig
ifconfig eth0 up 128.66.2.150 netmask 255.255.255.0 broadcast 128.66.2.255    //啟動 eth0 網路設定,指定
各網路參數值 // ifdown eth0 關閉網卡, ifup eth0 開啟網卡
設定及查詢路由表
route -n         //查看網路路由表,–n 參數可以使用數值 ip 型式
route
route –C –n // 查看網路路由表 cache 記憶
route add default gw 1.2.3.4 設定 default gateway
ping ping 140.123.174.12      //偵測 140.123.174.12 該點連接狀況
查詢網路路由路徑狀況
traceroute
traceroute –n 140.123.174.12      //查看目前主機至 140.123.174.12 該點連接路由路徑 n 代表以 IP 顯示
netstat netstat –an // 查看目前全部開啟的 port, a=all, n = numeric number (數字顯示, IP)
查詢 ip 的 domain 名稱,或 domain 名稱的 ip 位址
nslookup 140.123.174.12 //查詢 140.123.174.12 的 domain 名稱
nslookup
server 168.95.1.1 // 將 DNS 主機轉向 168.95.1.1 (dns.hinet.net 來作查詢動作)
set q=ptr (IP 反查),set q=mx (mail exchange 查詢),set q=a (A Record 正查)
host DNS 查詢工具
host dns.hinet.net (正查) 利用名稱查詢 IP 位置
host 168.95.1.1 (反查) 利用 IP 查詢主機名稱

3
【加慶科技】 - Linux 伺服器管理

host –t mx yahoo.com.tw 查詢 Mail exchange 紀錄, 真實的郵件收件主機


E、Linux 上的網路服務
電子郵件伺服器
目前 RedHat 8.0 套件中所包含的郵件服務有 sendmail 及 postfix,當然還有其他的電子郵件伺服器如 smail 和 qmail 可
以使用。電子郵件伺服器利用 SMTP 協定寄發本機以外的電子郵件。

網頁伺服器(Web)
我們一般利用 IE 或 Navigator 所進入的網站內容即是連接網頁伺服器,由網頁伺服器所送出的資料。目前大多數的
Linux 版本都是包括 Apache 伺服器,在網際網路上超過一半以上的站台使用 Apache 伺服器,或由其衍生出來的產品
我們可藉由 www.netcraft.com 來查看每網站的服務器版本。

遠端讀取電子郵件
此一服務即是利用 POP 通訊協定,讓使用者利用遠端的方式讀取他們的信件。另外 Linux 上亦可使用 IMAP (Internet
Message Access Protocol)來收取信件。POP3 通訊協定通常被用來將伺服器端的信件傳遞到用戶端上,IMAP 則允許使
用者在遠端處理伺服器上的信件(通常搭配 webmail 如, IMP, Twig, OpenWebmail 等使用)。

FTP 伺服器
FTP 伺服器就是就是檔案傳輸協定的伺服器產品,目前 Linux 上也存在有多種 FTP 伺服器與用戶端程式,目前
RedHat 中包含的是 Wu-FTPD 套件。 (建議使用安全性較高的 Proftpd )

網路新聞服務(News)
網路新聞就是 Usenet,這個系統是一個龐大的告示板系統,你可以得到各種資訊,包含有電腦、生活、藝術等等。網
路上的主機透過 Usenet,以 NNTP 通訊協定來互換文章。Linux 中亦有多個軟體可供使用者架設自己的 News 主機。

網域名稱系統服務(DNS)
先前提到 IP 與主機名稱位址的互換,除了用 hosts 檔案外,就是利用 DNS 伺服器。DNS 伺服器的工作方式是階層式
的分工,任一台 DNS 伺服器都有上層的 DNS 伺服器,直到根伺服器。因此,如果本身資料庫中無法得到某個 IP 或
網域的資料,DNS 主機就會再上層的主機查詢,再回應給使用者。目前 Linux 中是利用 bind 套件中的 named 的程式
來完成 DNS 的架設。

動態 IP 定址服務(DHCP, bootp 通訊協定)


由於目前的 IP 數量不夠,因此許多管理人員選擇利用動態的定址方式搭配 NAT 來提供上網服務。

二、DHCP 動態 IP 管理分享
DHCP 全名為 Dynamic Host Configuration Protocol,主要用來動態分派 IP 給每一台連接網路的電腦。在分配 IP 的
同時,亦可同時設定網路遮罩、閘道器位址、網域名稱、DNS 伺服器位置等網路設定的相關資訊。藉此一方面可使 IP
的使用更具彈性,節省資源。亦可減輕網路管理人員的工作,當網路設定修改時,只要在 DHCP 伺服器中修改即可,
不必再到每一部電腦上修改設定。
在 Linux 上架設 DHCP 伺服器相當容易,一般 RedHat 版本在安裝時已將此套件安裝完畢,您也可至 rpmfind.net 或
www.redhat.com 取得相關的 rpm 套件。
A、安裝、設定 DHCP
安裝:rpm –ivh dhcp-3.0pl1-9.i386.rpm
主要的設定檔為 /etc/dhcpd.conf,接著以一個範例,說明各項設定值的意義:
ddns-update-style ad-hoc;
ddns-update-style interim;
default-lease-time 600; //預設 IP 的釋出時間
max-lease-time 7200; //最大的 IP 釋出時間
option subnet-mask 255.255.255.0; //子網路遮罩值
option broadcast-address 192.168.1.255; //子網路廣播位址
option routers 192.168.1.254; //預設闡道器
option domain-name-servers 168.95.1.1; //預設名稱伺服器 (DNS)
option domain-name "gctech.com.tw"; //網域名稱
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100; //可使用的 IP 位址,分別為 10 至 100,及

4
【加慶科技】 - Linux 伺服器管理

range 192.168.1.150 192.168.1.200; //192.168.1.150 至 200


}

/etc/rc.d/init.d/dhcpd start //啟動 dhcpd 伺服器


/etc/rc.d/init.d/dhcpd stop //關閉 dhcpd 伺服器
/etc/rc.d/init.d/dhcpd status //查詢目前 dhcpd 狀況
more /etc/dhcpd.leases //查詢 IP 租約狀況

三、防火牆的概念與設定
IP Masquerade 主要工作就是網路位址轉換 NAT(Netword Address Translation),Linux 可藉由 NAT,將內部的虛擬 位
址轉送為合法 IP 的封包,成為一個內部與外部網路的闡道,內部電腦即可經由轉址服務而連上網際網路。
再進行設定前請先確定內部與外部 IP 位址均已設定完成(此時您的主機應該可 ping 到內外部主機),您可利用二張網
路卡分別連接內部及外部網路,亦可在一張網路卡上同時設定內部及外部位址,以下為一張網路卡的設定:
eth0 Link encap:Ethernet HWaddr 00:48:54:5D:06:AB
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:103719 errors:0 dropped:0 overruns:0 frame:0
TX packets:109294 errors:0 dropped:0 overruns:0 carrier:0
collisions:75 txqueuelen:100
Interrupt:10 Base address:0xe800

eth0:0 Link encap:Ethernet HWaddr 00:48:54:5D:06:AB


inet addr:211.23.164.82 Bcast:211.23.164.87 Mask:255.255.255.248
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:10 Base address:0xe800
接著將封包轉送的功能打開,有二個方法:
echo "1" > /proc/sys/net/ipv4/ip_forwarding
或將/etc/sysconfig/network 中的 FORWARD_IPV4 選項改成 FORWARD_IPV4=true 再重新啟動網路。
iptables: iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQUERADE
完成以上步驟,即可完成 IP Masquerade 的設定

A、ipchains 與 iptables:
IP Chains 是防火牆在 Linux 上的實作版本,架設防火牆是為了預防外部未經授權的使用者存取內部的網路, 或管制
內部電腦資料的進出,任何進出的資料都要經過防火牆,只有通過防火牆規則的封包才能通行。

安裝:一般在 RedHat 中已包含有 iptables 的套件。

Firewall 的架構:
有三個基本的 chain,分別為 INPUT,FORWARD 及 OUTPUT。
INPUT 是 firewall 的第一個 chian,所有的 packet 都會先檢查這個 chain,只有不符合 deny 或 reject 條件的封包

5
【加慶科技】 - Linux 伺服器管理

才會進行 下一個 chain 的檢查。


FORWARD 則是當封包試著穿越 firewall 到另外一部機器時會進行的檢查(例如 NAT 服務的封包)。
OUTPUT 用來檢查所有離開這部 firewall 的封包。
參數 規則 (大寫):
-P -- 變更某個 chain 的預設 policy。
-L -- 列出目前所有 chain 中的規則。
-F -- 清除目前 chain 中的規則。
-A -- 加入一條新的規則。
-I-- 在指定的位置插入一條新的規則。
-D – 刪除指定位置的規則。

B、常用參數說明
!:NOT,如 -s !192.168.2.1 代表不是來自 192.168.2.1 的封包。
-i:指定 interface,指定此規則所應用的介面上。
-j:定義這一條規則的目標(大寫),共有五種。
DENY 丟棄封包,且不通知來源機器。
ACCEPT 接受封包。
REJECT 丟棄封包,並通知來源機器。
REDIRECT 將封包重新導向到另一個 port。
MASQUERADE 封包由 IP MASQUERADE 模組管理。
-p: protocol 可以用名稱或號碼表來示,通常都是用名字來表示,例如 TCP,UDP,或是 ICMP。
-l 將封包的行為記錄下來,通常是放置在/var/log/kern.log。
iptables-save 列出現有防火牆設定
iptables-save > /etc/firewall 儲存目前防火牆的設定(可隨意設定名稱)。
iptables-restore < /etc/firewall 還原防火牆的設定。

以下舉幾個例子,說明規則設定的方式:
iptables –P input DENY //禁止所有封包進入
iptables –A input –s 192.168.1.0/24 –j ACCEPT //接受由 192.168.1.xxx 網路進入的封包
iptables –A input –s 192.168.3.0/24 –j REJECT //拒絕 192.168.3.xxx 網路進入的封包
iptables –A input –d 0/0 80 –p tcp –j DENY //停止所有 port 80 的進出
iptables -F //清除所有設定

四、DNS 設定管理
A、DNS 檔案 (File, RPM Info)
rpm -q bind 版本,說明基本資料
--------------------------------------------------------------------------------
/etc/named.conf DNS 主控設定檔
/var/named/domain.hosts DNS 正查設定檔
/var/named/domain.rev DNS 反查設定檔
/etc/sendmail.cf Sendmail Configuration(cf) 設定檔案

6
【加慶科技】 - Linux 伺服器管理

/var/spool/mqueue Sendmail 郵件(傳送中,問題信)暫存區


/var/spool/mail Sendmail 個人新郵件存檔區
--------------------------------------------------------------------------------
/etc/rc.d/init.d/named restart 重新啟用 named
/etc/rc.d/init.d/sendmail restart, status 重新啟用 sendmail, show PID
kill -HUP 重新啟用 sendmail
DNS SOA,NS,A,MX,CNAME 基本設定 (Basic Setup)
;-------------------------------------------
$TTL 259200 ; minimun Time-To-Live = 3 days
;-------------------------------------------
; Start Of Authority 宣告管轄這個網域的 DNS 其 Domain Name。
;--------------------------------------------
@ IN SOA ns.taching.com.tw. hostmaster.ns.taching.com.tw. (
2001020601 ; serial 修改此檔後請更新
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; For Negative Caching)
;--------------------------------------------
; 指定 NameServer 主機 以下設定兩 master 和 slave
;--------------------------------------------
IN NS ns.taching.com.tw.
IN NS ns2.taching.com.tw.
;--------------------------------------------
; Mail eXchange 郵件主機優先順序設定
;--------------------------------------------
taching.com.tw. IN MX 10 mail.taching.com.tw.
taching.com.tw. IN MX 20 ns.taching.com.tw.
ns IN MX 10 mail.taching.com.tw.
ns IN MX 20 ns.taching.com.tw.
;--------------------------------------------
; Address 宣告 Domain 與 IP Address 的對映關係。
;--------------------------------------------

ns IN A 210.243.165.66
taching.com.tw. IN A 210.243.165.66
mail IN CNAME ns.taching.com.tw.
ftp IN CNAME ns.taching.com.tw.
www IN CNAME ns.taching.com.tw.

7
【加慶科技】 - Linux 伺服器管理

IP 反解檔設定 (Reverse Table Setup)

;-------------------------------------------
; DNS 反解檔(由 IP 反解出 Domain Name)
;-------------------------------------------
$TTL 259200 ; minimun Time-To-Live = 3 days
;-------------------------------------------
; Start Of Authority 宣告管轄這個網域的 DNS
; 其 Domain Name。
;--------------------------------------------
@ IN SOA dns.domain1.com.tw. root.dns.domain1.com.tw. (
2001020701 ; Serial 這是 2001 年 2 月 7 日第一次更改
4H ; Refresh
2H ; Retry
1W ; Expire
1D ) ; For Negative Caching

;--------------------------------------------
; 本網域的主要 Name Server,協助 DNS 的查詢速率
;--------------------------------------------
IN NS ns1.domain1.com.tw. ; 本機 dns
IN NS ns2.domain1.com.tw. ; slave

;--------------------------------------------
; Domain Name Pointer
; 網域內的 IP,全部表列出來。
;--------------------------------------------
65 IN PTR client65.domain1.com.tw.
66 IN PTR client66.domain1.com.tw.
67 IN PTR client67.domain1.com.tw.

DNS 多網域設定,備援伺服器 (Multi-Domain, Slave Setup)


首先在 /etc/named.conf 加入

zone "domain2.com.tw"{
type master;
file "domain2.hosts";
notify yes; };
zone "chuang.com"{
type slave;
file "sec/chuang.com";

8
【加慶科技】 - Linux 伺服器管理

notify yes; };

B、DNS 基本正查與反查的操作
DNS 設定檢查,以 nslookup 指令做各種 DNS 基本正查與反查的操作

------------------------------------------------------------------
以 nslookup 指令做各種基本正查與反查的操作
------------------------------------------------------------------
> server 168.95.1.1 <--- 設訂 DNS D
> ns3.kimo.com.tw
Server: dns.hinet.net
Address: 168.95.1.1

Non-authoritative answer: <--- 表示回應的資料取自 cache


Name: ns3.kimo.com.tw
Address: 210.59.144.3

------------------------------------------------------------------
檢查 Mail eXchange 設定
------------------------------------------------------------------
> set type=mx
> kimo.com.tw
Server: dns.hinet.net
Address: 168.95.1.1
Non-authoritative answer: kimo.com.tw
------------------------------------------------------------------
Non-authoritative 表示回應的資料取自 cache
------------------------------------------------------------------
preference = 10, mail exchanger = smtp.kimo.com.tw <--- MX 10
Authoritative answers can be found from:
kimo.com.tw
nameserver = NS1.kimo.com.tw
kimo.com.tw nameserver = NS2.kimo.com.tw smtp.kimo.com.tw
internet address = 210.59.144.203 NS1.kimo.com.tw
internet address = 210.59.144.1 NS2.kimo.com.tw
internet address = 210.59.145.1

------------------------------------------------------------------
反查檢查
------------------------------------------------------------------
> set type=ptr

9
【加慶科技】 - Linux 伺服器管理

> 3.144.59.210.in-addr.arpa.
Server: dns.hinet.net
Address: 168.95.1.1

3.144.59.210.in-addr.arpa name = NS3.kimo.com.tw


144.59.210.IN-ADDR.ARPA nameserver = NS1.kimo.com.tw
144.59.210.IN-ADDR.ARPA nameserver = NS2.kimo.com.tw
NS1.kimo.com.tw internet address = 210.59.144.1
NS2.kimo.com.tw internet address = 210.59.145.

五、Sendmail 郵件服務管理
A、local-host-names, Relay, 權限設定與管理
/etc/sendmail.cf
搜詢 smtp 找到此行 ----> O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
將 IP 改為主機 IP 或將此行註解起來後重新啟動 sendmail /etc/rc.d/init.d/sendmail restart
重新啟用後即可收信.

/etc/mail/local-host-names
將主機所有代管的信箱名稱寫入一行一個網域, 例如, mail.abc.com.tw

/etc/mail/access
設定完之後, 必須將 access 的設定內容轉成資料庫檔才能使設定生效.
makemap hash /etc/mail/access.db </etc/mail/access

B、設定離線讀信程式 OutLookExpress POP3 / SMTP

請務必把 POP3 及 SMTP 的觀念弄清楚


POP3 : Post Office Protocol 取信的協定
SMTP: Simple Mail Transfer Protocol 送信的協定

開啟 ipop3 服務:
/etc/xinetd.d/ipop3
將 disable = yes 改為 disable = no

POP3 仍設成 Mai 主機, 但 SMTP 必須設為撥接上線時的 ISP 公司的 Mail 主機.
如果要使用 您的 Linux 來發信必需要將遠端 IP 加入 access 檔案並重新 makemap 後才能發信.

C、安全問題: 如何製作匿名信件?
1.先 telnet 到某一台有跑 sendmail 主機, 並指定連上 port 號 25

10
【加慶科技】 - Linux 伺服器管理

telnet hacker.ols3.com.tw 25
該主機會回應自己的 hostname 及所使用的協定. 如下所示:
220 hacker.ols3.com.tw ESMTP Sendmail 8.9.3/8.9.3; Sun, 18 Jul 1999 15:37:13 +08 00
hacker 這台主機回應說它現在正跑 ESMTP (SMTP 的加強版), sendmail 的版本是 8.9.3

2. 偽造自己的 domain
helo fool.com.tw
該主機會回應歡迎的訊息, 如下所示:
250 hacker.ols3.com.tw Hello [192.168.54.4], pleased to meet you

3. 偽造發信人
mail from: jack@fool.com.tw
該主機會回應以下訊息, 表示發信人的位址被接受了.
250 jack@fool.com.tw... Sender ok

4. 指定收信人
rcpt to: ols3@hacker.ols3.com.tw
該主機會回應以下訊息, 表示收信人的位址被接受了.
250 ols3@hacker.ols3.com.tw... Recipient ok

5. 送出信件內容
送出信件內容之前, 應先通知對方:
data
該主機回應如下, 表示你可以開始送出信件內容, 信件結束時用 . 號檔結尾符號
354 Enter mail, end with "." on a line by itself
Hi, this is a email test ...

該主機回應:
250 PAA01122 Message accepted for delivery
表示信件件已被接收了.

6. 離線
quit

以下是這封信的表頭:
Return-Path: <jack@fool.com.tw>
Received: from fool.com.tw (ols3-note.ols3.com.tw [192.168.54.4])
by hacker.ols3.com.tw (8.9.3/8.9.3) with SMTP id PAA01122
for ols3; Sun, 18 Jul 1999 15:46:01 +0800
Date: Sun, 18 Jul 1999 15:46:01 +0800

11
【加慶科技】 - Linux 伺服器管理

From: jack@fool.com.tw
Message-Id: <199907180746.PAA01122@hacker.ols3.com.tw>
Status:

sendmail 會在 header 中記錄下連線當時的主機 IP,因此這便是一條可查詢的線索。

六、MySQL / Apache / PHP 系統設定/安裝


由於 Apache 系統安裝同時必須要考量 PHP/MySQL 之環境設定所以我們將一並介紹 PHP 4 & MySQL 之安裝&設定:

A、安裝 MySQL 資料庫


雖然 RedHat 以有預設的 MySQL 但是由於對 big5 不支援因此必需要重新安裝。 如果是選擇 RPM 的 SRC 套件也是可
行的只要在 spec 檔案內加入 big5 支援即可。 以下範例將採用 tarball 來安裝。
1. 下載 MySQL tarball source: http://www.mysql.com
2. 解壓縮: tar xvzf mysql*.tar.gz
3. 進入 Source 目錄
4. 設定: ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/var --with-charset=big5
( --prefix 指定安裝目錄, --localstatedir 指定資料庫檔目錄, --with-charset 指定語系)
5. 然後再 make && make install 就行了!
6. 開啟預設資料庫/表格: /usr/local/mysql/bin/mysql_install_db
7. 如果/etc/passwd 沒有 mysql (增加一位叫 mysql 的使用者帳號 adduser mysql)
8. 改變 /usr/local/mysql 的擁有者為 mysql: chown -R mysql.mysql /usr/local/mysql
9. 啟動 MySQL: /usr/local/mysql/bin/safe_mysqld --user=mysql &
10. 設定 root 的密碼: mysqladmin -u root password 'superman'
11. 設定開機啟動: 將第 9 加入 /etc/rc.d/rc.local 最後一行

B、安裝 PHP + Apache


1.下載 PHP:http://www.php.net 下載 PHP 4 http://www.apache.org
2.解壓 tar –xzvf php*.tar.gz tar -xvzf apache*.tar.gz
3.先設定 Apache cd apache_1.3.12; ./configure --prefix=/usr/local/apache
--prefix 是指定安裝的目錄位置
4.設定並安裝 PHP4
cd php-4.0.2
./configure --with-mysql --with-apache=../apache_1.3.12 --enable-track-vars
or
./configure --with-mysql --with-apache=../apache_1.3.12 --enable-track-vars --without-gd
make
make install
5.設定並安裝 Apache
cd ..
cd apache_1.3.12
./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a
make
make install
6.cd php-4.0.2
cp php.ini-dist  /usr/local/lib/php.ini
src/modules/php4/libphp4.a 一開始雖不存在,但在編譯的過程自動會產生!
7.修改 /usr/local/apache/conf 中的 httpd.conf
加入以下幾列:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
這樣一來,PHP 程式的副檔名,用 .php 或 .php3 或 .phtml 皆可!
修改 DirectoryIndex 變成:
預設首頁檔名,增加了 index.php index.php3 index.phtml
DirectoryIndex index.html index.php index.php3 index.phtml index.shtml
8.將原有的網頁搬家
cp -Rf /home/httpd/html/* /usr/local/apache/htdocs
cp -Rf /home/httpd/cgi-bin /usr/local/apache

12
【加慶科技】 - Linux 伺服器管理

或者您自行把網頁放入 /usr/local/apache/htdocs 中
把 cgi-bin 的檔案放入 /usr/local/apache/cgi-bin 中
9.先殺原有的 Apache
/etc/rc.d/init.d/httpd stop
10.啟動新的 Apache
/usr/local/apache/bin/apachectl start
10. 設定開機自動載入新的 Apache 將 /usr/local/apache/bin/apachectl start
放入 /etc/rc.d/rc.local 檔末即可

七、Apache Web Server 網站建置與管理


初學者在剛建立網站時可能還不會考慮到資料庫的問題但是在單調的 HTML 網頁中您一定很快的就會發現動
態資料庫的魅力。 在參考下列安裝設定後您只需要 10 分鐘就能把 PHP 動態網站架設起來。 PS: MySQL 雖然是 GPL
免費軟體但一點也不比 Oracle/Sybase 遜色喔! 以下是 MySQL3.23.36 Benchmark (截於 mysql.txt 說明檔) 供您參考:

查詢 2 百萬筆 single thread index data(在 NT4.0 上)的效能比較表


資料庫 秒數
Mysql 367
mysql_odbc 464
Db2_odbc 1206
ms-sql_odbc 1634
oracle_odbc 20800
sybase_odbc 17614

設定檔案: 預設 apache /etc/httpd/conf/httpd.conf


重新安裝 apache 後設定檔案在: /usr/local/apache/conf/httpd.conf
幾個重要設定:
Port 80
ServerName www.abc.com.tw
DocumentRoot /www
ServerRoot /etc/httpd
UserDir public_html
DirectoryIndex index.html index.htm index.php index.php4
ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/

B、單一 IP 管理多網域網站 (httpd.conf)


NameVirtualHost 210.243.165.66 // 虛擬主機名稱在 DNS 內要指到此 IP

<VirtualHost 210.243.165.66>
DocumentRoot /home/taichico/html
ServerName www.ABC.com.tw
ScriptAlias /cgi-bin/ /home/taichico/cgi-bin/
ErrorLog /home/taichico/html/logs/error-log
TransferLog /home/taichico/html/logs/access_log
</VirtualHost>

C、權限 & 密碼 設定
<VirtualHost 210.243.165.66>
DocumentRoot /www/taching/cam
ServerName cam.taching.com.tw
<Directory /www/taching/cam>
AuthName "保密區 – 閒人勿近"
AuthType Basic
AuthUserFile /www/taching/cam/users
require valid-user

13
【加慶科技】 - Linux 伺服器管理

</Directory>
</VirtualHost>

以上的範例在 /www/taching/cam 的目錄下設定權限,唯有正式帳號及密碼才可登入。


AuthUserFile 密碼檔案
初次建立利用: htpasswd –cb users denny superman
新增 user mary : htpasswd –b users mary superwoman

八、Samba 實用技巧 (Linux<->Windows 檔案分享)


對於一些習慣了 MS Windows 的使用者來說﹐能否和 Linux 分享資源呢﹖此問題利用 SAMBA 服務就能做到﹗通過
SAMBA﹐您不但可以分享到檔案﹐也可以分享到諸如印表機等資源。 更甚者﹐它還可以擔當 Microsoft 網路的 PDC
角色﹗

首先先確定在 /etc/services 檔案裡面這些句子沒有被註解掉﹕


# NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udp

A、/etc/smb.conf 基本設定
接下來的範例將使用 NT PDC 為登入密碼主機,請將原始 smb.conf 做好備份. 更換以下 smb.conf。 當然您要先注意
一些註解的部份修改.
/etc/smb.conf 或是 /etc/samba/smb.conf
[global]
; 群組 = NT-Domain-Name or Workgroup-Name
workgroup = nt
; 這台主機的名稱
netbios name = LinuxServer
; 這台主機的備註
server string = Linux Samba Server
; 記錄檔 及大小
log file = /var/log/samba/log.%m
max log size = 50
; 使用 NT server 的密碼認證
security = server
; NT 主機名稱
password server = altos
; 向工作站宣佈 SAMBA 為此網域之 Primary Domain Controller.
domain logons = no
; 主機效能微調
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
; 內部網域的 IP 的範圍
interfaces = 192.168.12.2/24 192.168.13.2/24
; 允許讀取的機器 及 區段
hosts allow = 192.168.1. 192.168.2. 127. 203.69.118. 210.243.165.
; 設定中文 BIG5 字碼環境
client code page = 950
valid chars = 0xb9
; 資源分享設定
[homes]
comment = User Directories
writable = yes
browseable = no
read only = no
# 新建檔案安全權限 700 只供 owner 可 rwx
create mode = 0700

14
【加慶科技】 - Linux 伺服器管理

[tmp]
comment = Temporary file space
# 開放之目錄
path = /tmp
read only = no
public = yes
# 新建檔案安全權限 777 全部用戶都可 rwx
create mask = 0777

; 專屬目錄, 只允許 staff 群主組進入 請先確定有此目錄


[admin]
comment = 管理員專區
path = /web
public = yes
writable = yes
printable = no
write list = @staff
# 新建檔案安全權限 700 owner 可 rwx
create mode = 0700

*** 可以啟動了, /etc/rc.d/init.d/samba start ***


B、除錯及問題排除方式 TroubleShooting
1.您可以利用 testparm 檢查 smb.conf 有無錯誤: testparm smb.conf
2.先執行下列指令查看有無與網路上的方鄰連線: nmblookup -S 網域名稱
3.檢查網路連線問題: ping sambaserver
4.檢查資源分享狀況 smbclient -L BIGSERVER
# > smbclient -L ns
Added interface ip=210.243.165.66 bcast=210.243.165.127 nmask=255.255.255.192
Password:
Domain=[TC] OS=[Unix] Server=[Samba 2.0.6]

Sharename Type Comment


--------- ---- -------
Temp Disk Temporary file space
LinuxDocs Disk Linux Howto
IPC$ IPC IPC Service (Linux Samba Server)

Server Comment
--------- -------
NS Linux Samba Server

Workgroup Master
--------- -------
NT ALTOS
TC NS
5.查看 nmdb 有無正常 : nmblookup -B server __SAMBA__
# nmblookup -B nsnmblookup -B server __SAMBA__
Sending queries to 192.168.1.1

15
【加慶科技】 - Linux 伺服器管理

192.168.1.1 __SAMBA__<00>
6.檢查分享的連線 smbclient '\\BIGSERVER\TMP” 然後輸入 password
7.在 Windows 下 瀏覽 samba 主機: net view \\sambaserver
在 Windows 下連線 samba 目錄\tmp 為磁碟機: net use x: \\sambaserver\tmp

16

You might also like