摘要:該文主要圍繞Linux下中小企業(yè)服務(wù)器的配置展開,主要對(duì)企業(yè)內(nèi)部典型服務(wù)器如Web、FTP 、EMAIL進(jìn)行配置。
關(guān)鍵詞:Linux;DNS;FTP;SendMail Apache
中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)36-2765-03
Configuration of Small and Medium Enterprises' Server Based on Linux
MA Xue-mei1,2
(1.Xidian University, Xi'an 710068,China;2.Ningxia TeachersUniversity,Guyuan 756000,China)
Abstract: The main focus of this article is the configuration of small and medium enterprises' server under Linux operating system ,internal server models, such as Web, FTP, EMAIL configured.
Key words: linux;DNS;FTP;sendMail apache
1 引言
隨著企業(yè)業(yè)務(wù)的擴(kuò)大,地域分布越來越廣,企業(yè)在節(jié)約成本的基礎(chǔ)上,都建立自己的企業(yè)網(wǎng)絡(luò),以便于企業(yè)內(nèi)部和外部的溝通交流,可使得企業(yè)運(yùn)作成本大大降低,企業(yè)內(nèi)部的信息安全也會(huì)得到更好的保障。企業(yè)網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn)包括硬件需求與軟件配置兩方面,良好的硬件設(shè)施是企業(yè)網(wǎng)絡(luò)建立的基礎(chǔ),由于企業(yè)需求不同,其具體解決方案也不相同;而軟件及其相應(yīng)的設(shè)置則決定了網(wǎng)絡(luò)能否通暢,能否實(shí)現(xiàn)企業(yè)內(nèi)外部的信息溝通。在網(wǎng)絡(luò)操作系統(tǒng)的選擇中,考慮到企業(yè)的需要,選擇了目前比較流行且經(jīng)濟(jì)的Linux作為網(wǎng)絡(luò)平臺(tái)。Linux也是多用戶、多任務(wù)的操作系統(tǒng),相比Windows系列操作系統(tǒng)平臺(tái)具有系統(tǒng)穩(wěn)定、可移植性好、網(wǎng)絡(luò)功能強(qiáng)大、安全性高等優(yōu)點(diǎn),而且Linux的發(fā)行版中也附帶多套服務(wù)器軟件,無論是架設(shè)網(wǎng)頁服務(wù)器、郵件服務(wù)器,還是FTP服務(wù)器,都可以輕而易舉地實(shí)現(xiàn)。
2 實(shí)施步驟
搭建Linux服務(wù)器是一個(gè)系統(tǒng)工程,涉及到硬件購置、軟件安裝、域名申請(qǐng)、網(wǎng)絡(luò)服務(wù)提供等,在此我們僅介紹Linux操作系統(tǒng)下企業(yè)內(nèi)部服務(wù)器的配置。
2.1 DNS設(shè)置
DNS全稱Domain Name System,即域名系統(tǒng),是網(wǎng)絡(luò)建設(shè)中首要解決的問題之一,是實(shí)現(xiàn)web、WWW、FTP等服務(wù)的基礎(chǔ),其作用是實(shí)現(xiàn)IP地址與域名之間的轉(zhuǎn)換[1]。網(wǎng)絡(luò)中提供這種服務(wù)的主機(jī)稱為域名服務(wù)器。這樣無論分配的IP地址是多少,都可以通過一個(gè)固定的域名來訪問我們的Linux服務(wù)器。這里以Red Hat Linux為例建立應(yīng)用于以下情況的域名服務(wù)器:擁有一個(gè)C類地址段202.102.240.64~95,域名注冊(cè)為ylangt.net,域名服務(wù)器IP地址為202.102.240.65,主機(jī)名為ps1,需要解析的部分服務(wù)器有Web服務(wù)器www.ylangt.net(202.102.240.73)、郵件服務(wù)器mail.ylangt.net(202.102.240.77)、FTP服務(wù)器ftp.ylangt.net(202.102.240.79)。
配置過程:建立named控制文件
option{directory \"/var/named\";};//指定數(shù)據(jù)域數(shù)據(jù)文件都存放在/var/named目錄下
zone \".\"{type hint;file\"named.ca\";};//定義根域信息
zone \" 0.0.127.in-addr.arps\"{type master;file\"named.local\";};//定義本地回路的正反向解析
zone \"ylangt.net\"{type master;file \"db.ylangt.net\";};//設(shè)置域名ylangt.net的相關(guān)信息,type指定該域性質(zhì),master是指該服務(wù)器為主域服務(wù)器,hint指根域。
zone \"240.102.202.in-addr.arps\"{type master;file\"db.240.102.202\";};}
創(chuàng)建區(qū)數(shù)據(jù)文件/var/named/named.myhome.com.cn;// 該文件映射主機(jī)域名到IP地址
創(chuàng)建反向區(qū)數(shù)據(jù)文件/var/named/ named.202.102.240;// 該文件映射IP地址到主機(jī)域名。
建立本地反向區(qū)文件/var/named/named.local
建立緩存文件/var/named/named.ca;指定 named從該文件中獲得Internet的頂層“根”服務(wù)器地址,但這個(gè)文件通常會(huì)發(fā)生變化,所以建議最好從Internet下載最新的版本。
建立純解析配置文件/etc/resolv.conf;
search yangt.net//指定客戶默認(rèn)域名,
nameserver 202.102.240.65//指定DNS服務(wù)器的IP地址。
啟動(dòng)named守護(hù)程序
#/etc/rc.d/init.d/named restart。
2.2 企業(yè)FTP設(shè)置
FTP(File Transfer Protocol)即文件傳輸協(xié)議,它定義了網(wǎng)絡(luò)上從一臺(tái)計(jì)算機(jī)向另一臺(tái)計(jì)算機(jī)進(jìn)行文件傳輸?shù)姆绞健@肍TP協(xié)議,我們可以在FTP服務(wù)器和FTP客戶端之間進(jìn)行雙向數(shù)據(jù)傳輸,既可以把數(shù)據(jù)從FTP服務(wù)器上下載到本地客戶端,又可以從客戶端上傳數(shù)據(jù)到遠(yuǎn)程FTP服務(wù)器。
vsFtpd是目前Linux最好的FTP服務(wù)器工具之一,其中vs就是“Very Secure”(很安全)的縮寫,它的最大優(yōu)點(diǎn)就是安全,同時(shí)還具有體積小,可定制強(qiáng),效率高的優(yōu)點(diǎn)[3]。一般Linux系統(tǒng)會(huì)默認(rèn)安裝vsftpd服務(wù)器。vsFtpd服務(wù)器的配置文件為/etc/vsftpd.conf,其配置選項(xiàng)很多,在此只介紹比較重要的配置。
直接啟動(dòng)VSFTP 服務(wù)
[root@relay vsFtpd]# /sbin/service vsFtpdstart
StartingvsFtpdforvsFtpd: OK ]
為安全起見,先更換提供服務(wù)的端口,即將預(yù)設(shè)的端口由21更換為其他內(nèi)容,如1111,當(dāng)然還可
以用端口來區(qū)隔不同的Ftp 服務(wù)。修改/etc/vsFtpd/vsFtpd.conf,新增一行 listen_Port=1111,然后重新啟動(dòng)vsFtpd使設(shè)置生效。
一般用戶的預(yù)設(shè)目錄為/home/username,可以限定用戶變更目錄的權(quán)限,即不能在使用Ftp 時(shí)切換到上一層目錄/home,則可進(jìn)行如下設(shè)置:
修改/etc/vsFtpd/vsFtpd.conf, 將#chroot_list_file=/etc/vsFtpd.chroot_list
改為 chroot_list_file=/etc/vsFtpd/chroot_list
然后新增一個(gè)文件: /etc/vsFtpd/chroot_list內(nèi)容增加兩行: user1
重新啟動(dòng)vsFtpd后配置生效。
在默認(rèn)安裝的情況下,系統(tǒng)只提供匿名用戶訪問,若不希望使用者匿名登入,可取消anonymous 登入,則可修改/etc/vsFtpd/vsFtpd.conf 將 anonymous_enable=YES 改為 anonymous_enable=NO 。
一般啟動(dòng)vsFtp 時(shí),我們會(huì)看到一個(gè)名為vsFtpd 的進(jìn)程,要使每一個(gè)聯(lián)機(jī)都能以獨(dú)立的進(jìn)程呈現(xiàn),可以修改/etc/vsFtpd/vsFtpd.conf ,新增一行 setproctitle_enable=YES 然后重新啟動(dòng)vsFtpd,使用ps -ef 的指令即可看到不同使用者聯(lián)機(jī)的情況。
設(shè)置可以限制傳輸文件的速度:修改/etc/vsFtpd/vsFtpd.conf在其中增加下面內(nèi)容
anon_max_rate=50000 //限制匿名登入者所能使用的最高速度為50KBytes/s
local_max_rate=200000 //限制本機(jī)使用者最高速度為200KBytes/s
user_config_dir=/etc/vsFtpd/userconf //不同使用者限制不同的速度
假設(shè)use1 所能使用的最高速度為250KBytes/s,use2 所能使用的最高速度為500KBytes/s。
mkdir /etc/vsFtpd/userconf //新增一個(gè)目錄/etc/vsFtpd/userconf
然后在/etc/vsFtpd/userconf 之下新增一個(gè)名為use1 的文件,內(nèi)容為: local_max_rate=250000
在/etc/vsFtpd/userconf 之下新增一個(gè)名為use2 的文件,內(nèi)容為: local_max_rate=500000
重新啟動(dòng)vsFtpd, FTP服務(wù)器基本配置結(jié)束,以命令行方式可正常訪問FTP服務(wù)器。
Linux下可設(shè)置多用戶登陸名和密碼,但是帳號(hào)越多,系統(tǒng)安全性越差,所以必須要設(shè)置其登陸的目錄。在chroot vsFtpd.conf下添加
chroot_list_enable=YES
chroot_list_file=/etc/vsFtpd.chroot_list
然后在/etc下建一個(gè)文件vsFtpd.user_list,內(nèi)容就是要限制的用戶名。如果有特別需要訪問其他目錄,可以配合mount -bind命令來做。接著建立系統(tǒng)用戶Ftpuser,將其加入Ftp組并將/etc/passwd中記錄的最后一個(gè)字段改成/sbin/nologin,即禁止本地登錄。設(shè)置/var/Ftp的所有者和所有組為root,權(quán)限為755,這樣其他人在瀏覽時(shí)才有權(quán)限訪問,否則不能訪問。最后設(shè)置/var/Ftp/pub的所有者為root,所有組為Ftp,權(quán)限為775。 vsFtpd的基本配置完成。
在默認(rèn)情況下,系統(tǒng)對(duì)每個(gè)用戶所擁有的磁盤空間和文件數(shù)目是沒有限制的,這樣很容易被惡意或無惡意用戶無限上傳數(shù)據(jù),從而造成系統(tǒng)崩潰[1]。因此必須進(jìn)行磁盤配額限制。使用quota可以實(shí)現(xiàn)磁盤限額。假設(shè)/var/Ftp在根分區(qū)/(/dev/sda6)中,則將/etc/fstab中根分區(qū)的記錄的第4個(gè)字段改成defaults,usrquota,如下:LABEL=/ / ext3 defaults,usrquota 1 2,接著重啟系統(tǒng),再輸入命令:quotacheck -avu #檢查啟用了配額的文件系統(tǒng),并為每個(gè)文件系統(tǒng)建立一個(gè)當(dāng)前磁盤用的表
#quotacheck –avu //生成每個(gè)啟用了配額的文件系統(tǒng)的當(dāng)前磁盤用量表
#edquota Ftpuser//為用戶Ftpuser設(shè)置磁盤配額
這時(shí)系統(tǒng)會(huì)在默認(rèn)文本編輯器(vi)中打開配額文件,顯示如下內(nèi)容:
Disk quotas for user Ftpuser (uid 502):
Filesystem blockssofthardinodessofthard
/dev/sda6 0 0 0 0 0 0
第一列是啟用了配額的文件系統(tǒng)的名稱。第二列顯示了用戶當(dāng)前使用的塊數(shù)。隨后兩列設(shè)置用戶在該文件系統(tǒng)上的軟硬塊限度。inodes 列顯示了用戶當(dāng)前使用的i節(jié)點(diǎn)數(shù)量。最后兩列用來設(shè)置用戶在該文件系統(tǒng)上的軟硬i節(jié)點(diǎn)限度。硬限是用戶或組群可以使用的磁盤空間的絕對(duì)最大值。達(dá)到了該限度后,磁盤空間就不能再被用戶或組群使用了。軟限定義了可被使用的最大磁盤空間量。和硬限不同的是,軟限可以在一段時(shí)期內(nèi)被超過,這段時(shí)期被稱為過渡期。過渡期可以用秒鐘、分鐘、小時(shí)、天數(shù)、周數(shù)、或月數(shù)表示。如果以上值中的任何一個(gè)被設(shè)置為 0,則此限度就不會(huì)被設(shè)置。按需要修改后存盤退出。
校驗(yàn)用戶的配額是否被設(shè)置則使用命令:quota testuser,使用edquota -t來設(shè)置過渡期,此命令相似,這個(gè)命令會(huì)在文本編輯器中打開當(dāng)前的文件系統(tǒng)配額:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace periodInode grace period
/dev/sda6 7days 7days
修改后存盤退出.這樣我們?yōu)镕tpuser增添了磁盤配額。一個(gè)比較完整的FTP站點(diǎn)配置完成。
2.3 企業(yè)Email設(shè)置
Linux下企業(yè)郵件服務(wù)器采用SendMail實(shí)現(xiàn),其配置文件位于/etc/mail/SendMail.cf,在創(chuàng)建的過程中還需要一個(gè)模板文件,Linux自帶這樣一個(gè)模板文件Sendmail.mc,故可以直接修改Sendmail.mc模板來定制sendmail.cf文件。具體配置如下:
首先修改/etc/mail/SendMail.cf文件來配置SendMail的監(jiān)聽端口以接收來自外部的連接:
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
更改為 O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA
然后設(shè)定SendMail允許接收的域名,可以在/etc/mail/local-host-names文件中設(shè)定。直接輸入域名即可:# local-host-names - include all aliases for your machine here.yangt.net
重新啟動(dòng)SendMail服務(wù):/etc/init.d/SendMailrestart。這樣SendMail就可以接收來自多個(gè)域的信件了。如果增加新的域,只需修改此文件即可。
這樣,郵件服務(wù)系統(tǒng)基本配置完成,可以正常工作。接下來創(chuàng)建具體的帳戶。
限制單個(gè)用戶郵箱容量。 如果對(duì)用戶的郵件容量不加限制,服務(wù)器的硬盤是不堪重負(fù)的。這可以使用“郵件限額”功能來實(shí)現(xiàn):因?yàn)殡娮余]件的暫存空間是位于/var/spool/mail目錄下的,所以只需通過磁盤配額設(shè)定每一個(gè)郵件帳戶在此目錄下能使用的最大空間即可。
可以通過使用別名為單一用戶設(shè)定多個(gè)郵件地址,別名在aliases文本文件中定義,該文件的位置由SendMail.cf指定,一般位于/etc目錄下。
經(jīng)過以上設(shè)置后,只能用Outlook Express正常發(fā)送郵件,但不能用其從服務(wù)器端收取郵件,因?yàn)閟endmail默認(rèn)狀態(tài)并不具備POP3功能,我們還得自己安裝它。POP3服務(wù)器安裝好并啟用后,先修改/etc/xinetd.d/ipop3文件,將其中的“disable=yes”改為“disable=no”后保存;然后重新啟動(dòng)xinetd程序來讀取這個(gè)修改過的配置文件,使之生效:
[root@ahpeng root]#/etc/rc.d/init.d/xinetd reload
此時(shí)Linux才是真正的郵件服務(wù)器。
2.4 Web設(shè)置
Apache是Web服務(wù)器的最佳選擇。 Apache對(duì)Linux的支持相當(dāng)完美,集成代理服務(wù)器和Perl編程腳本,對(duì)用戶的訪問會(huì)話過程可以進(jìn)行跟蹤,可以對(duì)服務(wù)器日志定制,還支持虛擬主機(jī)及HTTP認(rèn)證等。安裝Linux系統(tǒng)的過程中選中Web服務(wù),則Apache會(huì)自動(dòng)安裝。要使WEB服務(wù)器正常運(yùn)行,就需要對(duì)以下進(jìn)行配置。傳統(tǒng)上主要對(duì)三個(gè)配置文件httpd.conf,access.conf和srm.conf進(jìn)行配置[3],但新版本的Apache中,所有的設(shè)置都放在httpd.conf中,因此只需要設(shè)置這個(gè)文件即可。
httpd.conf首先定義了一些決定服務(wù)器啟動(dòng)環(huán)境及服務(wù)器運(yùn)行方式的參數(shù)。
ServerTypestandalone/inetd:用來指定WEB服務(wù)器以何種方式運(yùn)行。缺省方式為standalone,它表示W(wǎng)EB服務(wù)進(jìn)程以一個(gè)單獨(dú)的守候進(jìn)程的方式在后臺(tái)偵聽是否有客戶端的請(qǐng)求,如果有就生成一個(gè)子進(jìn)程來為其服務(wù);inetd方式則使用inted來監(jiān)視連接請(qǐng)求并啟動(dòng)服務(wù)器,在此采用默認(rèn)方式。
ServerRoot:用來指定服務(wù)器的配置及日志文件所在目錄。設(shè)置為:ServerRoot /etc/httpd。
Server Admin: 設(shè)置WEB管理員的E-Mail地址.設(shè)置為:Server Admin liygt@yangt.net。
Port:用來設(shè)置主服務(wù)器進(jìn)程偵聽的端口。設(shè)置為: Port [number] (缺省為80)。
ErrorLog:用來指定錯(cuò)誤記錄的文件名稱和路徑。設(shè)置為:ErrorLog /var/httpd/error.log。
下面兩個(gè)參數(shù)則是告訴服務(wù)器在WWW站點(diǎn)上提供的資源及如何提供。
DocumentRoot: 用來指定主文檔的地址。設(shè)置為:DocumentRoot /home/httpd/html。
DirectoryIndex:用來指定首頁文件的名稱。首頁一般都以“index.html”或“index.htm”作為文件名。當(dāng)設(shè)置為這兩種文件名之后,只要用戶發(fā)出WEB請(qǐng)求,即將調(diào)入以“index.html”或“index.htm”命名的主頁。格式如:DirecotryIndex index.html index.htm。
采用用戶名/口令的認(rèn)證方式保證Apache服務(wù)器的安全。經(jīng)過以上簡單的配置后,WEB服務(wù)器已經(jīng)具備基本功能。使用命令/etc/rc.d/init.d/httpd restart重啟WEB服務(wù),使所做配置生效。
3 存在問題及結(jié)論
以上配置均是企業(yè)服務(wù)器配置過程中最主要的部分,基本保證企業(yè)內(nèi)部和外部都能訪問Web站點(diǎn),F(xiàn)tp站點(diǎn)及企業(yè)郵局。當(dāng)然還有很多性能配置需要在網(wǎng)絡(luò)運(yùn)行過程中逐漸完善。
參考文獻(xiàn):
[1] 盧軍.在企業(yè)網(wǎng)中如何設(shè)置DNS[J].無線電通信技術(shù),2002(5):8-10.
[2] 閻秀富.用vsftpd構(gòu)建FTP服務(wù)器[J].微電腦世界,2005,(5).
[3] 裴植,肖薇.紅旗Red Hat Linux開發(fā)及網(wǎng)絡(luò)應(yīng)用[M].北京:人民郵電出版社,2001.