RedHat6.2 服務器配置方案
RedHat6.2 服務器配置方案下面我將向大家介紹如下幾種服務器端軟件的配置方法及其工作原理:apache,dhcp,dns,ppp,sendmail,samba,squid,isdn,mysql
RedHat6.2 服務器配置方案
下面我將向大家介紹如下幾種服務器端軟件的配置方法及其工作原理:
apache,dhcp,dns,ppp,sendmail,samba,squid,isdn,mysql ,tomcat ,php 。這些配置已經(jīng)基本上含蓋了一個中小型企業(yè)管理和辦公所需要的所有服務。也就是說,如過你掌握了它們的配置方案和管理方法,你也就將成為一名合格的中小型企業(yè)局域網(wǎng)的Linux Server 管理員。需要另外強調(diào)的一點是,這些配置文件中的可配置項太多,有許多是我們用不到的,所以在以后的文章中,我將選取其中重要的配置項介紹給大家。 技巧:
1.可以使用 rpm -qf named.conf 來查詢該文件屬于那個RPM 包。
2. 可以使用 rpm -qpl caching-nameserver-6.2-2.noarch.rpm來查看一個RPM 包中包含哪些文件。
3. 可以使用 grep '^[A-Z]' httpd.conf 來將某個配置文件的注釋去掉,因為大多數(shù)配置文件的
可配置項都是大寫字母開頭,所以只要巧妙運用grep 的參數(shù)將配置文件中以大寫字母A-Z 開頭的
行導出到一個文件里就可以了,但是如果配置文件里有小寫字母開頭的配置項,象named.conf 那樣的就不能用了。
4.可以在Linux 下執(zhí)行ntsysv 來選擇服務器所啟動的服務項目。
注: 在大多數(shù)Linux 的發(fā)布版中,筆者經(jīng)過了充分的考慮,覺得無論從系統(tǒng)的穩(wěn)定性、易用
性到適用范圍的廣泛性,在發(fā)布版中首選RedHat ,所以在下面的文章中,我將以紅帽6.2為例,幫助大家成為一名出色的Linux Server Administer。
在本文的寫作過程中,得到了許多聯(lián)想電腦公司同仁的支持。在此,我對軟件事業(yè)部田日輝、曹宜、石京海、黃景昌,服務器器網(wǎng)絡事業(yè)部黃后生等表示衷心的感謝。
由于本文作者水平有限,難免有一些錯誤,請各位同仁一定指正。
RedHat6.2服務器配置方案(二) DNS
1.1 簡 介
在TCP/IP網(wǎng)絡中最基本的服務就是域名解析,即用戶可以從IP 和URL 兩種方式訪問你的網(wǎng)站。而且域名解析還應為用戶提供命名服務,即用戶執(zhí)行ftp 192.168.10.1 和執(zhí)行ftp thj是一樣的。
1.2 所需系統(tǒng)資源
1.2.1 配置文件:
文件名 來源
/etc/named.conf caching-nameserver-6.2-2.noarch.rpm
/etc/named.boot caching-nameserver-6.2-2.noarch.rpm
/etc/hosts 系統(tǒng)自帶
/etc/host.conf 系統(tǒng)自帶
/etc/resolv.conf 系統(tǒng)自帶
/etc/nsswitch.conf glibc-2.1.3-15
/var/named/named.local caching-nameserver-6.2-2.noarch.rpm
/var/named/named.ca caching-nameserver-6.2-2.noarch.rpm
/var/named/name2ip.conf 管理員創(chuàng)建
/var/named/ip2name.conf 管理員創(chuàng)建
1.2.2 相關(guān)工具:
文件名 來源
/etc/rc.d/init.d/named bind-8.2.2_P5-9
/usr/bin/nslookup bind-8.2.2_P5-9
/usr/sbin/ndc bind-8.2.2_P5-9
1.3 配置方案
對于DNS 服務器的配置需要涉及5個主要文件,另外還有四個文件也與DNS 有關(guān):
1./etc/named.conf configuration文件
作用:定義了域數(shù)據(jù)庫信息的基本參數(shù)和源點,該文件可以存放在本地或遠程的服務器上。
實例:
options {
directory "/var/named";
,#定義了named 要讀寫文件的路徑
};
zone "." {
type hint;
#表明在啟動時被用來初始化域名服務器的文件是一個線索文件,
每一個服務器都有一個線索區(qū)。
file "named.ca";
#指定所要讀取的文件名
};
zone "0.0.127.in-addr.arpa"{
type master;
#表明服務器是主域名服務器
file "named.local";
};
zone "mycompany.com" in {
type master;
file "name2ip.conf";
};
zone "10.168.192.in-addr.arpa" {
type master;
file "ip2name.conf";
};
2./var/named/name2ip.conf 正向解析文件
作用:用來定義域信息,實現(xiàn)主機名和地址之間的鏡像、識別mail 服務器和提供各種域信息。 實例:
@ IN SOA thj.mycompany.com. root.thj.mycompany.com.
#所有的區(qū)文件都以SOA 開頭,@指定當前的信息源,thj.mycompany.com
這個值可以將域名和named.conf 連接起來。通常只有一個@符號。
( 2000062900 ;serial #序列號
28800 ; refresh #刷新周期, 以秒為單位
14400 ; retry #循環(huán)周期
3600000; expire #中止時間
86400 ); minuum #time-to-live 的時間
IN NS thj.mycompany.com.
#定義域名服務器
IN MX 10 thj.mycompany.com.
#定義郵件服務器,10表示優(yōu)先級,越小越高
localhost IN A 127.0.0.1
#實現(xiàn)域到IP 的映射
thj IN A 192.168.10.1
www CNAME thj
#CNAME 前后兩者為等價名
mail CNAME thj
3./var/named/ip2name.conf 反向解析文件
作用:實現(xiàn)IP 地址很域名的映射
實例:
@ IN SOA thj.mycompany.com. root.thj.mycompany.com.
( 2000062900 ;serial
28800 ; refresh
14400 ; retry
3600000; expire
86400 ); minuum
IN NS thj.mycompany.com.
IN MX 10 thj.mycompany.com.
1 IN PTR thj.mycompany.com.
#定義逆向關(guān)系,即192.168.10.1 與 thj.mycompany.com 之間
的映射,也可以用作定義一個反轉(zhuǎn)域。
4./var/named/named.local 本地主機解析文件
,作用:解析回送地址localhost 即127.0.0.1,回送地址是一種特殊的約定,即允許在處理本地機地址時與處理遠程機地址的方法一樣,這樣可以簡化處理過程,不必將數(shù)據(jù)發(fā)送到物理網(wǎng)絡上。
實例:
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
5./var/named/named.ca 線索文件
作用:初始化緩沖區(qū)的信息。該文件不需要管理員更改,而是系統(tǒng)自帶。
實例:
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
6./etc/hosts
作用:實現(xiàn)與網(wǎng)上其他主要計算機的映射,它通常是當作DNS 的備份出現(xiàn)的,也就是說,當DNS 系統(tǒng)出現(xiàn)問題的時候才使用Hosts 表。
實例:
127.0.0.1 localhost localhost.localdomain localhost
192.168.10.1 thj.mycompany.com thj
#由于每臺服務器都會有幾個域名與IP 的對應關(guān)系是永久的, 所以Hosts 表中存放的應該是它們。
7./etc/resolv.conf
作用:指定域名服務器的IP 和搜索順序。
實例:
domain
#定義本地域名。
search mycompany.com
#簡化用戶輸入的主機名,即當用戶輸入thj 時,使得DNS 可以把它
成功地解析為thj.mycompany.com 。它與domain 是互斥的,無論誰出
現(xiàn)都是用來定義search 列表的。
nameserver 192.168.10.1
,#定義域名服務器的IP, 最多三個,建議一般使用兩個。
8./etc/hosts.conf
作用:如何實現(xiàn)hosts 表與DNS 的關(guān)系和接口。
實例:
order hosts,bind
#解析域名的順序
multi on
#允許一臺計算機擁有多個IP
9./etc/nsswitch.conf
作用:用于處理Hosts 表和DNS 的順序
實例:
passwd: files nisplus nis
shadow: files nisplus nis
group: files nisplus nis
hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: nisplus
publickey: nisplus
automount: files nisplus
aliases: files nisplus
1.4 測試及管理方法
1. 管理員修改完DNS 的配置文件,需要執(zhí)行/etc/rc.d/init.d/named restart來是更改生效。
2. ndc工具:用來向named 進程發(fā)送信號
3. nslookup:測試正向、反向的解析是否正常
1.5 本章小結(jié)
DNS 服務是許多服務的基礎,所以配置一臺Linux Server應該從DNS 開始,并要從一開始就對你的服務器配置成什么樣子有一個整體的把握,這樣才能保證配置之間能夠相互協(xié)調(diào),避免錯誤的發(fā)生。 RedHat6.2服務器配置方案(三) Apache
第二章 Apache
2.1 簡 介
Apache 是世界排名第一的Web 服務器,根據(jù)著名的Web 服務器調(diào)查公司Netcraft 的調(diào)查,世界上百分之五十以上的Web 服務器都在使用Apache 。
縱觀Apache ,它為我們的網(wǎng)絡管理員提供了豐富多彩的功能,包括目錄索引、目錄別名、內(nèi)容協(xié)商、可配置的HTTP 錯誤報告、CGI 程序的SetUID 執(zhí)行、子進程資源管理、服務器端圖象映射、重寫URL 、URL 拼寫檢查以及聯(lián)機手冊man 等。也就是說,如果您在Linux Server上成功安裝配置了Apache 之后,您的計算機也將隨著Apache 的生效而搖身一變, 成為一臺名副其實的Web Server,這種變化的確是激動人心的。伴隨著自由軟件發(fā)展的強大動力,我們有理由相信Apache 的未來是一片光明的。
,在Internet 時代,外部主頁的發(fā)布已經(jīng)成為樹立公司形象的一個重要手段,而內(nèi)部主頁也成為公司管理的主要方式。但是,要想實現(xiàn)這些功能,首先應該把我們的Linux Server配置成為一臺強大的Web Server。時至今日,全球應用最廣泛的Web 服務器軟件就是Apache ,本章將詳細介紹如何配置Apache 服務器。希望各位同仁能夠通過閱讀本片文章達到理論實踐雙豐收的目的,在很短的時間里迅速成為一名出色的網(wǎng)絡管理員。
2.2 所需系統(tǒng)資源
2.2.1 配置文件:
文件 來源
/etc/httpd/conf/httpd.conf apache-1.3.12-2.i386.rpm
/etc/httpd/conf/access.conf apache-1.3.12-2.i386.rpm
/etc/httpd/conf/srm.conf apache-1.3.12-2.i386.rpm
2.2.2相關(guān)工具:
文件 來源
/etc/rc.d/init.d/httpd apache-1.3.12-2.i386.rpm
2.3 配置方案
與Apache 配置相關(guān)的文件共有3個:
/etc/httpd/conf/httpd.conf 主配置文件
作用:定義HTTP 協(xié)議的設置值和針對該服務器的操作,還包括定義三個文件的目錄
實例:
ServerType standalone
#定義WebServer 的啟動方式為standalone ,以增強其對大量訪問的及時響應性
ServerRoot "/etc/httpd"
#指定包含httpd 服務器文件的目錄
LockFile /var/lock/httpd.lock
PidFile /var/run/httpd.pid
ScoreBoardFile /var/run/httpd.scoreboard
Timeout 300
#響應超時量,單位為秒
KeepAlive On
#允許用戶建立永久連接
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
#要保留的空閑服務器進程的最小值
MaxSpareServers 20
#要保留的空閑服務器進程的最大值
StartServers 8
#系統(tǒng)啟動時的守護進程數(shù)
MaxClients 150
#所能提供服務的最大客戶端編號,大于它的部分被放入請求隊列之中
MaxRequestsPerChild 100
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule env_module modules/mod_env.so
LoadModule config_log_module modules/mod_log_config.so
LoadModule agent_log_module modules/mod_log_agent.so
LoadModule referer_log_module modules/mod_log_referer.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
LoadModule includes_module modules/mod_include.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule asis_module modules/mod_asis.so
LoadModule imap_module modules/mod_imap.so
LoadModule action_module modules/mod_actions.so
,LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule anon_auth_module modules/mod_auth_anon.so
LoadModule db_auth_module modules/mod_auth_db.so
LoadModule digest_module modules/mod_digest.so
LoadModule proxy_module modules/libproxy.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule perl_module modules/libperl.so
LoadModule php3_module modules/libphp3.so
ClearModuleList
AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_log_agent.c
AddModule mod_log_referer.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_auth_db.c
AddModule mod_digest.c
AddModule mod_proxy.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_perl.c
AddModule mod_php3.c
Port 80
#定義服務器所使用的TCP 的端口號
User nobody
Group nobody
#以上兩行是分配給httpd 的新用戶的文件權(quán)限,出于安全的考慮把它們的權(quán)限設置成為最低。 ServerAdmin root@localhost
#設置Web 管理員的郵件地址
ServerName thj
#定義客戶端從服務器讀取數(shù)據(jù)時返回給客戶端的主機名,其缺省值是localhost
DocumentRoot "/home/httpd/html"
#設置所有Apache 所提供的文檔的根目錄,比如說,用戶對www.mycompany.com/index.html的訪問請求,Apache 對它的響應就是/home/httpd/html/index.html
UserDir public_html
DirectoryIndex index.html index.htm index.shtml index.cgi
#設置多種成功訪問主頁的方式, 為的是提高系統(tǒng)的容錯性
AccessFileName .htaccess
UseCanonicalName On
TypesConfig /etc/mime.types
DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/httpd/error_log
,LogLevel warn
#定義那些錯誤類型被記錄到錯誤日志中
LogFormat "h l u t "r" >s b "{Referer}i" "{User-Agent}i"" combined #所有的LogFormat 都用來定義日志中的條目
LogFormat "h l u t "r" >s b" common
LogFormat "{Referer}i -> U" referer
LogFormat "{User-agent}i" agent
CustomLog /var/log/httpd/access_log common
ServerSignature On
Alias /icons/ "/home/httpd/icons/"
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
IndexOptions FancyIndexing
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README
HeaderName HEADER
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
AddLanguage en .en
AddLanguage fr .fr
AddLanguage de .de
AddLanguage da .da
AddLanguage el .el
AddLanguage it .it
LanguagePriority en fr de
AddType application/x-tar .tgz
AddType text/html .shtml
AddHandler server-parsed .shtml
AddHandler imap-file map
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4.0" force-response-1.0
BrowserMatch "Java/1.0" force-response-1.0
BrowserMatch "JDK/1.0" force-response-1.0
Alias /doc/ /usr/doc/
CacheSize 5
#定義緩存區(qū)大小,以KB 為單位??梢愿鶕?jù)需要和硬盤空間大小進行設置
CacheGcInterval 4
#每隔4小時檢查緩存區(qū),如果已經(jīng)超過CacheSize 就刪除文件
CacheMaxExpire 24
#HTTP 文件最多被保持24小時
CacheLastModifiedFactor 0.1
#定義HTTP 文件失效期,缺省是0.1 ,意思是說失效期=離最近一次修改的時間X 〈factor 〉, 比如離最近一次修改的時間是5小時,那么失效期就是5X0.1=0.5小時
,CacheDefaultExpire 1
#這一指令提供一個缺省的時間(小時)來銷毀緩存的文件,這些文件的最后更改時間不詳。
CacheMaxExpire 命令不覆蓋這一設置
2.4 測試及管理方法
1.每當管理員更改了Apache 的設置之后,都應執(zhí)行/etc/rc.d/init.d/httpd restart使得更改生效。
2.Apache 提供大量的日志文件,當Apache 出錯的時候,管理員可以根據(jù)htppd.conf 中的ErrorLog 定義的路徑來診斷。具體方法是:tail -f /var/log/httpd/apache/error_log
2.5 本章小節(jié)
Web 服務是Internet 服務器最基本的服務,Linux 發(fā)行版中包含的Apache 軟件是性能優(yōu)良的Web 服務器,也是Internet 上最流行的Web 服務器,由于它時刻都經(jīng)歷著無數(shù)使用者的測試,所以現(xiàn)行的Apache 的默認選項已經(jīng)是十分適合我們大家的了,你只需要更改其中幾個與當前應用環(huán)境緊密相關(guān)的選項就可以達到你的目的了。
RedHat6.2服務器配置方案(六) Squid
藍森林 http://www.lslnet.com 2000年11月13日 18:22
第五章 Squid
5.1 簡 介
作為一種免費的網(wǎng)絡操作系統(tǒng),Linux 越來越受到廣大網(wǎng)絡愛好者的歡迎,目前因特網(wǎng)(Internet )上運行的主機有相當一部分采用的就是linux 操作系統(tǒng),而且中國已經(jīng)把linux 操作系統(tǒng)作為政府上網(wǎng)年的指定網(wǎng)絡操作系統(tǒng),種種跡象表明,linux 操作系統(tǒng)正在逐漸走向成熟。在本章我將向大家介紹一種能在Linux 系統(tǒng)下使用的比較優(yōu)秀的代理服務器軟件的配置方法。
眾所周知,當今因特網(wǎng)發(fā)展速度極其迅猛,IP 地址資源非常緊張。而如果您想訪問因特網(wǎng),共享因特網(wǎng)的豐富資源,您的機器必須擁有一個標準的IP 地址。在因特網(wǎng)上,IP 地址是識別您的機器的唯一標志。目前,有兩種方式可以讓您的機器擁有標準的IP 地址:一種是局域網(wǎng)通過專線接入因特網(wǎng),您的機器可以擁有靜態(tài)的IP 地址。所謂靜態(tài)IP 地址,就是對使用者來說,是固定不變的IP 地址,這個IP 地址給您使用后,其他人就不能再用了。一種是通過電話線撥號或ISDN 撥號等方式接入因特網(wǎng),您的機器可以在您撥號上網(wǎng)的在線期間從ISP 的訪問服務器的IP 地址池中獲得一個臨時的標準IP 地址,這個IP 地址在您下線后就不歸您使用了,而您下次撥號再上網(wǎng),很可能分配給您的機器的是另外一個臨時的IP 地址了。這種臨時分配的IP 地址,稱為動態(tài)IP 地址。無論是靜態(tài)地址還是動態(tài)地址,在您的機器訪問因特網(wǎng)時,使用起來沒有什么區(qū)別。
現(xiàn)在因特網(wǎng)發(fā)展速度這么快,而IP 地址資源又這么緊張,這不能不說是一個尖銳的矛盾。雖說Ipv6正在開發(fā)中,但遠水不解近渴,好多的企業(yè)、公司內(nèi)部的Intranet 現(xiàn)在就想接入因特網(wǎng)這個浩瀚的資源海洋,但又苦于沒有充足的IP 地址資源,怎么辦?還好,有代理服務這個好東西。代理服務是指由一臺擁有標準IP 地址的機器代替若干沒有標準IP 地址(以下稱內(nèi)部地址)的機器和因特網(wǎng)上的其他主機打交道,提供代理服務的這臺機器稱為代理服務器。擁有內(nèi)部地址的機器想到因特網(wǎng)上查找資料時,先把這個請求發(fā)給擁有標準IP 地址的代理服務器,由代理服務器把這個請求通過它的標準IP 地址發(fā)到請求的目標地址。然后目標地址的服務器把返回的結(jié)果發(fā)回給代理服務器,代理服務器再原封不動的把資料發(fā)給最初那臺擁有內(nèi)部IP 地址的機器。這樣就完成了一次內(nèi)部機器訪問因特網(wǎng)的一個過程。若干擁有內(nèi)部地址的機器就組成了內(nèi)部網(wǎng),代理服務器的作用就是勾通內(nèi)部網(wǎng)和因特網(wǎng),解決內(nèi)部網(wǎng)訪問因特網(wǎng)的問題。而且這種代理是不可逆的,因特網(wǎng)上的主機不能訪問任何一臺擁有內(nèi)部地址的機器,這樣又可以保障內(nèi)部資料的安全性。 能夠完成這種代理功能的服務器軟件有好多,我給大家推薦一種能在linux 下使用的比較優(yōu)秀的代理服務器軟件Squid 。之所以說它比較優(yōu)秀,是因為它可以在代理服務器上作一個很大的緩存,可以把好多常去的網(wǎng)站內(nèi)容存儲到緩存中,這樣,內(nèi)部網(wǎng)的機器再訪問那些網(wǎng)站,就可以從緩存里調(diào)用了。這樣一方面可以加快內(nèi)部網(wǎng)瀏覽因特網(wǎng)的速度,這就是所謂的提高客戶機的訪問命中率, 另一方面,Squid 不僅僅支持HTTP 協(xié)議,而且還支持FTP,GOPHER,SSL 和WAIS 等協(xié)議考慮到簡捷實用的原則,我們本章只向大家介紹如何設置HTTP 代理,而其他的代理大同小異,各位理解了HTTP 的配置也就明白應該如何配置其他的代理了。
5.2 所需系統(tǒng)資源
,5.2.1 配置文件:
文件 來源
/etc/squid/squid.conf squid-2.3.STABLE1-5
5.2.2 相關(guān)工具:
文件 來源
/etc/rc.d/init.d/squid squid-2.3.STABLE1-5
/etc/spool/squid squid-2.3.STABLE1-5
5.3 配置方案
1./etc/squid/squid.conf squid主配置文件
作用:包括了全部的squid 配置選項,管理員只需編輯此文件便可達到提供代理服務的目的。 實例:
#HTTP協(xié)議代理默認代理端口
cache_mem 42 MB
#開劈一塊內(nèi)存區(qū)域作為緩沖
cache_dir ufs /home/squid/cache 2048 16 256
#開劈一塊硬盤空間,作為硬盤緩沖區(qū),這塊區(qū)域的分布是連續(xù)的,邏輯關(guān)系由管理員設定 cache_access_log /var/log/squid/access.log
#該log 文件是用來描述每次客戶請求HTTP 內(nèi)容時,高速緩存命中或未命中的項目。同時描述提出請求的主機身份及它們所需的內(nèi)容。
cache_log /var/log/squid/cache.log
#用于描述當squid 守護進程啟動時,可看到有多少內(nèi)存、交換空間,高速緩存目錄的位置,所接受的連接類型及接受連接的端口。
cache_store_log /var/log/squid/store.log
#用于描述頁面從高速緩存中被調(diào)入調(diào)出的情況。
pid_filename /var/run/squid.pid
#管理員可以通過查看此文件了解當前執(zhí)行的squid 進程。
dns_nameservers 192.168.10.1
#定義域名解析服務器的地址
acl all src 0.0.0.0/0.0.0.0
#定義all
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
#對所有來自子網(wǎng)的HTTP 請求均不作限制
#禁止來自!Safe_ports的HTTP 請求
icp_access allow all
miss_access allow all
cache_mgr root@mycompany.com
#設置cache 管理員的郵件箱地址
acl whitehouse dst 209.67.27.247
#設置地址變量
acl BAD dst whitehouse
#設置禁止訪問的外部地址變量
acl whitehouseurl url_regex http://www.whitehouse.com
#設置禁止訪問的外部URL
acl BAD dst whitehouseurl
#管理員可以通過IP 和URL 兩種方式實現(xiàn)對外部網(wǎng)站的屏蔽
reference_age 1 week
#設置緩沖區(qū)的更新周期
maximum_object_size 4096 KB
#設置允許被緩存的一次性最大請求
,2./etc/rc.d/rc.local
echo 1 > /proc/sys/net/ipv4/ip_forward
#增加該行的意思是,打開ip_forward,使得系統(tǒng)能夠支持IP 轉(zhuǎn)發(fā)。
ipchains -I forward -s 192.168.10.0/24 -d 0/0 -j MASQ
#設置透明代理的一種方式。
5.4 測試及管理方法
1.管理員更改了配置選項之后需要執(zhí)行/etc/rc.d/init.d/squid restart使得更改生效。
2.在客戶端的IE 瀏覽器中需要設置代理服務器為192.168.10.1,端口為3128。
3.在配置文件中設定的cache_dir 需要通過squid -z 使得這個目錄生效, 當然,在squid -z 之前先要更改這個目錄的權(quán)限:chmod 0777 /home/squid/cache。
5.5 本章小節(jié)
看完本章之后,我想各位一定有個深切的感受,squid 的配置文件十分的長,而且能干的事情實在是太多了,但是我們作為一名合格的管理員應該從需求方案出發(fā),以客戶的需求為導向,配置出我們自己需要的服務器,這樣不但可以滿足需要,還能大大減少我們的工作量,配置squid 就是一個鮮明的例子。 第十二章 MySQL
簡 介
MySQL 是一個真正的多用戶、多線程SQL 數(shù)據(jù)庫服務器。SQL (結(jié)構(gòu)化查詢語言)是世界上最流行的和標準化的數(shù)據(jù)庫語言。MySQL 是以一個客戶機/服務器結(jié)構(gòu)的實現(xiàn),它由一個服務器守護程序mysqld 和很多不同的客戶程序和庫組成。
SQL 是一種標準化的語言,它使得存儲、更新和存取信息更容易。例如,你能用SQL 語言為一個網(wǎng)站檢索產(chǎn)品信息及存儲顧客信息,同時MySQL 也足夠快和靈活以允許你存儲記錄文件和圖像。
MySQL 主要目標是快速、健壯和易用。最初是因為我們需要這樣一個SQL 服務器,它能處理與任何可不昂貴硬件平臺上提供數(shù)據(jù)庫的廠家在一個數(shù)量級上的大型數(shù)據(jù)庫,但速度更快,MySQL 就開發(fā)出來。自1996年以來,我們一直都在使用MySQL ,其環(huán)境有超過 40 個數(shù)據(jù)庫,包含 10,000個表,其中500多個表超過7百萬行,這大約有100 個吉字節(jié)(GB)的關(guān)鍵應用數(shù)據(jù)。
MySQL 建立的基礎是業(yè)已用在高要求的生產(chǎn)環(huán)境多年的一套實用例程。盡管MySQL 仍在開發(fā)中,但它已經(jīng)提供一個豐富和極其有用的功能集。
MySQL 的官方發(fā)音是"My Ess Que Ell"(不是 MY-SEQUEL )。
第一節(jié) MySQL的安裝
1.1 所需資源
MySQL-3.22.32-1.i386.rpm
MySQL-client-3.22.32-1.i386.rpm
1.2 安裝方法
第一步:rpm -ivh MySQL-3.22.32-1.i386.rpm
第二步:rpm -ivh MySQL-3.22.32-1.i386.rpm
第三步:執(zhí)行mysql ,啟動MySQL monitor就可以使用mysql 數(shù)據(jù)庫了。
第二節(jié) MySQL的使用
2.1 啟動MySQL 守護進程
/etc/rc.d/init.d/mysql start
2.2 關(guān)閉MySQL 守護進程
/etc/rc.d/init.d/mysql stop
2.3 檢查MySQL 服務器是否已經(jīng)運行
2.3.1 檢查MySQL 的屬性
/usr/bin/mysqladmin variables
2.3.2 檢查MySQL 的版本信息
/usr/bin/mysqladmin version
2.3.3 檢查MySQL 的運行狀態(tài)