Linux 網(wǎng)站配置說明(一)2004-7-2 14:26:00 1.前言 本文以網(wǎng)站基本配置過程為實(shí)例,講解用 Linux 做為OS,構(gòu)架一個完整 Web 服務(wù)器過程。照著步驟,仔細(xì)實(shí)踐,相信可以在極短時間內(nèi)建筑起一個比較安全、穩(wěn)健的 Web 服務(wù)器。 整個環(huán)境是在 Internet 上做,dedaozhi的基本參數(shù)是,IP地址:202.98.10.100,域名是:dedaozhi.com.cn,dedaozhi.net.cn 等。服務(wù)器所使用的OS為:Redhat Linux 7.X. 缺省安裝時選擇定制安裝,選擇軟件包時除了 Sendmail 之外,不選擇任何的服務(wù)器軟件,同時應(yīng)該安裝C、C++開發(fā)包。我們將要手工編譯安裝的軟件包有: Apache 1.3.12 #WEB服務(wù)器,提供HTTP服務(wù); Resin 1.2.b1 #JSP解釋器,提供JSP/SERVLET解釋服務(wù); PHP 4.0p2 #PHP解釋器,提供PHP解釋服務(wù); Mysql 3.22.32 #數(shù)據(jù)庫服務(wù)器,提供數(shù)據(jù)庫存儲服務(wù); Proftpd 1.2.0rc2 #匿名FTP服務(wù)器,提供文件傳輸服務(wù); Bind 8.2.2p5 #域名服務(wù)器(DNS),提供域名解析服務(wù); Openssh-2.1.1.p4 #安全外殼,用于代替系統(tǒng)缺省的TELNET服務(wù); Postfix-19991231-pl09 #郵件傳遞服務(wù)器(MTA),提供郵件發(fā)送服務(wù); 我把所有的自行編譯的軟件都放置于 /usr/local/servers ,也就是說配置是所使用的參數(shù) --prefix 將指向 /usr/local/servers/packages(其中packages為軟件包的名稱,如 Web 服務(wù)器將使用 apache)。 本文將以安裝手冊的形式出現(xiàn),力求簡單明了,可以指導(dǎo)您迅速的將一臺只有基本操作系統(tǒng)(Linux)的計(jì)算機(jī)安裝成為一臺可以提供郵件(MAIL)、域名(DNS)、文件傳輸(FTP)、Web、JSP編程環(huán)境、PHP編程環(huán)境及數(shù)據(jù)庫支持的Web服務(wù)器。 在進(jìn)行實(shí)際操作前,強(qiáng)烈建議您看完全部內(nèi)容。因?yàn)榉?wù)器的安裝過程中要注意的問題非常多,如果您只是看了一部分就開始實(shí)際操作,有可能會導(dǎo)致問題的出現(xiàn)。 2.基礎(chǔ)網(wǎng)絡(luò)配置 2.1.網(wǎng)卡的安裝與設(shè)置 使用 netconf 按照以下的步驟: 1.使用方向鍵↓選擇Basic host information并按回車 2.填寫 Host name,一般情況下是www,如果您是用來做Web服務(wù)器的話 3.使用方向鍵↓將光標(biāo)移動至 Adaptor 1 的范圍內(nèi) 4.選擇 Enabled 選項(xiàng),使網(wǎng)卡有效 5.使用方向鍵將光標(biāo)移動至Config Mode內(nèi),選擇IP地址方式,對于Web服務(wù)器應(yīng)該選擇 Manual 6.我們的Web服務(wù)器的主域名是dedaozhi.com.cn 所以在 Primary name+domain 這一項(xiàng)里面應(yīng)該輸入: dedaozhi.com.cn,而別名 (Aliases)可以不輸入. 7.IP地址(IP address)應(yīng)該輸入Web服務(wù)器的IP地址,這里我們輸入: 202.98.10.100 8.我們假設(shè)Web服務(wù)器是安裝在一個C類的子網(wǎng)內(nèi),所以子網(wǎng)掩碼(Netmask)應(yīng)該選擇255.255.255.0(將光標(biāo)放置于Netmask內(nèi)輸入,按ctrl+x鍵將會彈出一個列表框在其中選擇即可。提示:在所有有v字樣的列表框內(nèi)都可以按ctrl+x鍵選擇) 9.Linux里面每一個以太網(wǎng)設(shè)備都必須有一定設(shè)備名,將光標(biāo)放置于Net device輸入框內(nèi)按鍵盤ctrl+x鍵選擇設(shè)備名,在Linux里面第一個以太網(wǎng)設(shè)備的名稱應(yīng)該選擇eth0。 10.在設(shè)備名選擇完之后,應(yīng)該為此設(shè)備選擇一個驅(qū)動程序,使Linux的內(nèi)核可以驅(qū)動它正常的工作。這里假設(shè)我們的網(wǎng)卡的ne2000兼容的10M網(wǎng)卡。使用ctrl+x選擇ne即可。 11.在驅(qū)動選擇完成之后,要看網(wǎng)卡的具體情況確定是否需要輸入中斷號和端口號。這里我們的網(wǎng)卡的NE2000 ISA的網(wǎng)卡,沒有PNP功能我們只有自己手工的將中斷號和端口號輸進(jìn)去。 12.至了這里,網(wǎng)卡的參數(shù)我們已經(jīng)設(shè)置完成,用TAB鍵將鍵盤移動到Accept處按鍵盤的回車鍵保存設(shè)置。并退出netconf,重新啟動Linux之后用以下的命令查看網(wǎng)卡工作是否正常: 2.2.IP地址的修改 使用netconf按照以下的步驟: 1.Basic host information 2.填寫 Host name,一般情況下是www,如果您是用來做Web服務(wù)器的話, 3.使用方向鍵↓將光標(biāo)移動至 Adaptor 1范圍內(nèi)的IP address輸入框內(nèi),輸入您想要更改的IP地址,輸入完成之后用TAB鍵移動至Accept按鈕處按回車即可。 4.使用手工的方式修改可以用以下的命令:# ifconfig eth0 202.98.10.100,其中eth0是設(shè)備的名稱,202.98.10.100是IP地址。 2.3.缺省DNS服務(wù)器地址的設(shè)置 直接使用vi修改/etc/resolv.conf,查看其中是否存在nameserver的參數(shù),如果沒有手工添加進(jìn)去,如果有的話直接修改其后的IP地址即可。其格式為:nameserver 127.0.0.1 其中127.0.0.1為DNS服務(wù)器的地址,由于本站配置了DNS服務(wù)器,所以可以用本地地址,也可寫為202.98.10.100。 3.服務(wù)器安全 做為Web服務(wù)器,我們首先要考慮的一條就是安全。Linux在安裝完成之后,缺省的情況下會打開一些端口以提供一些基礎(chǔ)如:Telnet、Finger等服務(wù)。 對于我們來說是沒有任何用處的,說不定還會導(dǎo)致一些安全問題。為此,在服務(wù)器的建設(shè)初始,我就考慮將這些對我們?nèi)粘9ぷ鳑]有起到作用的服務(wù)關(guān)閉掉。在這一部分,我們將會介紹如何使用 openssh 和 proftpd 代替 inetd 最常用的兩個服務(wù)telnetd 和 ftpd,從而實(shí)現(xiàn)最終將 inetd 從系統(tǒng)同刪除掉。 在進(jìn)行具體的操作前,強(qiáng)烈建議您先為自己添加一個獨(dú)立用戶,一般來說我是這樣處理的。添加一個組名為 ftpusers,再添加一個用戶 myuser 其組為 ftpusers。相應(yīng)的命令為: #groupadd ftpusers 此用戶將用于進(jìn)行常規(guī)的維護(hù),與測試,象Telnet、FTP這些工作的測試。 3.1.安裝 openssh 1、下載軟件包: 從 http://www.openssl.org 下載 openssl 0.9.5a 從 http://www.freessh.org 下載 openssh-2.1.1.p4 下載的軟件包放置于 /usr/local/src。 2、將軟件包解壓縮 # cd /usr/local/src 3、編譯并安裝 openssl和openssh # cd /usr/local/src 編譯(make)過程所需的時間比較長,在我的PIII600+128MB SCSI硬盤的機(jī)器上編譯的過程需要差不多五分鐘。所以請耐心等候其編譯完成。在完成 openssl 的編譯與安裝之后,我們就可以開始編譯與安裝 openssh。步驟如下: # cd /usr/local/src 4、測試sshd 啟動 sshd: # /etc/rc.d/init.d/sshd start 如果出現(xiàn): Starting sshd: [ OK ] 則證明 sshd 已經(jīng)正確的安裝并已經(jīng)在后臺運(yùn)行,如果出現(xiàn)其它的提示,請檢查您的安裝步驟是否正確。sshd 正確啟動之后,我們試試用其客戶端看是否可以正確的聯(lián)接至服務(wù)器: # cd /usr/local/servers/openssh/bin 使用此命令之后正常情況下會要求您輸入root的密碼,您輸入之后如果可以成功的進(jìn)入則證明 sshd 已經(jīng)成功的安裝完成了。 ssh的win32客戶端可以從http://www.sorted.org/~chris/ssh/putty.exe 下載。方便您在Windows里面遠(yuǎn)程控制網(wǎng)站服務(wù)器。 3.2.安裝ProFTPD 1、下載軟件包 從 http://www.proftpd.net 下載proftpd-1.2.0rc2.tar.gz,下載的軟件包放置于: /usr/local/src。. 2、將下載的軟件包解壓縮 # cd /usr/local/src 3、編譯并安裝proftpd # ./configure --prefix=/usr/local/servers/proftpd 4、修改 /etc/inetd.conf 將其中的 ftp 服務(wù)關(guān)閉掉 使用 vi /etc/inetd.conf 打開 inetd 配置文件,搜索 ftp,在 ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l –a 這一行的最前面插入一個 # 號,修改之后的結(jié)果如下: # ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l –a 在vi環(huán)境下使用 :wq 存盤退出以后,使用 killall -HUP inetd 重新啟動 inetd,使所做的修改生效。 5、生成ProFTPD啟動文件 # cd /etc/rc.d/init.d 說明:chkconfig,是一個在Linux里面用于修改服務(wù)器(daemon)運(yùn)行環(huán)境的小程序,其命令格式為 chkconfig [–level 6、為ProFTPD創(chuàng)建PAM文件 使用 vi 在 /etc/pam.d 創(chuàng)建一個名為 ftp 的文件,其內(nèi)容為: auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed 7、修改ftp用戶的shell,并創(chuàng)建其主目錄 # usermod –s /bin/bash ftp 檢查/home/ftp 是否存在,如果不存在使用以下的命令創(chuàng)建: # mkdir /home/ftp 如果您不希望匿名登錄有效,本節(jié)可以不做. 8、修改ProFTPD的啟動參數(shù) # vi /usr/local/servers/proftpd/etc/proftpd.conf 9、啟動ProFTPD # /etc/rc.d/init.d/proftpd start 如果出現(xiàn):Starting proftpd daemon: [ OK ] 則證明ProFTPD已經(jīng)正確的安裝并已經(jīng)在后臺運(yùn)行,如果出現(xiàn)其它的提示,請檢查您的安裝步驟是否正確。 10、測試ftp的聯(lián)接是否正常 ftp localhost 使用我們先前創(chuàng)建的用戶登錄。 如果無法聯(lián)接,則檢查您的ProFTPD是否已經(jīng)在運(yùn)行(可以用 ps –ax | grep “proftpd” 查看是否有ProFTPD進(jìn)程)。 3.3.關(guān)閉因特網(wǎng)超級服務(wù)器(inetd) 經(jīng)過以上的步驟,我們已經(jīng)實(shí)現(xiàn)了使用openssh代替telnetd實(shí)現(xiàn)遠(yuǎn)程登錄,用proftpd代替in.ftpd提供匿名文件傳輸服務(wù)。Inetd 提供的基礎(chǔ)功能,我們都已經(jīng)實(shí)現(xiàn),現(xiàn)在可以將inetd徹底的關(guān)閉掉。使用以下的命令: # /etc/rc.d/init.d/inet stop 經(jīng)過以上的命令之后就可以將inet關(guān)閉掉,并且在下次啟動時系統(tǒng)也不會自動啟動inetd服務(wù) |
Linux 網(wǎng)站配置說明(一)2004-7-2 14:26:00 1.前言 本文以網(wǎng)站基本配置過程為實(shí)例,講解用 Linux 做為OS,構(gòu)架一個完整 Web 服務(wù)器過程。照著步驟,仔細(xì)實(shí)踐,相信可以在極短時間內(nèi)建筑起一個比較安全、穩(wěn)健的 Web 服務(wù)器。 整個環(huán)境是在 Internet 上做,dedaozhi的基本參數(shù)是,IP地址:202.98.10.100,域名是:dedaozhi.com.cn,dedaozhi.net.cn 等。服務(wù)器所使用的OS為:Redhat Linux 7.X. 缺省安裝時選擇定制安裝,選擇軟件包時除了 Sendmail 之外,不選擇任何的服務(wù)器軟件,同時應(yīng)該安裝C、C++開發(fā)包。我們將要手工編譯安裝的軟件包有: Apache 1.3.12 #WEB服務(wù)器,提供HTTP服務(wù); Resin 1.2.b1 #JSP解釋器,提供JSP/SERVLET解釋服務(wù); PHP 4.0p2 #PHP解釋器,提供PHP解釋服務(wù); Mysql 3.22.32 #數(shù)據(jù)庫服務(wù)器,提供數(shù)據(jù)庫存儲服務(wù); Proftpd 1.2.0rc2 #匿名FTP服務(wù)器,提供文件傳輸服務(wù); Bind 8.2.2p5 #域名服務(wù)器(DNS),提供域名解析服務(wù); Openssh-2.1.1.p4 #安全外殼,用于代替系統(tǒng)缺省的TELNET服務(wù); Postfix-19991231-pl09 #郵件傳遞服務(wù)器(MTA),提供郵件發(fā)送服務(wù); 我把所有的自行編譯的軟件都放置于 /usr/local/servers ,也就是說配置是所使用的參數(shù) --prefix 將指向 /usr/local/servers/packages(其中packages為軟件包的名稱,如 Web 服務(wù)器將使用 apache)。 本文將以安裝手冊的形式出現(xiàn),力求簡單明了,可以指導(dǎo)您迅速的將一臺只有基本操作系統(tǒng)(Linux)的計(jì)算機(jī)安裝成為一臺可以提供郵件(MAIL)、域名(DNS)、文件傳輸(FTP)、Web、JSP編程環(huán)境、PHP編程環(huán)境及數(shù)據(jù)庫支持的Web服務(wù)器。 在進(jìn)行實(shí)際操作前,強(qiáng)烈建議您看完全部內(nèi)容。因?yàn)榉?wù)器的安裝過程中要注意的問題非常多,如果您只是看了一部分就開始實(shí)際操作,有可能會導(dǎo)致問題的出現(xiàn)。 2.基礎(chǔ)網(wǎng)絡(luò)配置 2.1.網(wǎng)卡的安裝與設(shè)置 使用 netconf 按照以下的步驟: 1.使用方向鍵↓選擇Basic host information并按回車 2.填寫 Host name,一般情況下是www,如果您是用來做Web服務(wù)器的話 3.使用方向鍵↓將光標(biāo)移動至 Adaptor 1 的范圍內(nèi) 4.選擇 Enabled 選項(xiàng),使網(wǎng)卡有效 5.使用方向鍵將光標(biāo)移動至Config Mode內(nèi),選擇IP地址方式,對于Web服務(wù)器應(yīng)該選擇 Manual 6.我們的Web服務(wù)器的主域名是dedaozhi.com.cn 所以在 Primary name+domain 這一項(xiàng)里面應(yīng)該輸入: dedaozhi.com.cn,而別名 (Aliases)可以不輸入. 7.IP地址(IP address)應(yīng)該輸入Web服務(wù)器的IP地址,這里我們輸入: 202.98.10.100 8.我們假設(shè)Web服務(wù)器是安裝在一個C類的子網(wǎng)內(nèi),所以子網(wǎng)掩碼(Netmask)應(yīng)該選擇255.255.255.0(將光標(biāo)放置于Netmask內(nèi)輸入,按ctrl+x鍵將會彈出一個列表框在其中選擇即可。提示:在所有有v字樣的列表框內(nèi)都可以按ctrl+x鍵選擇) 9.Linux里面每一個以太網(wǎng)設(shè)備都必須有一定設(shè)備名,將光標(biāo)放置于Net device輸入框內(nèi)按鍵盤ctrl+x鍵選擇設(shè)備名,在Linux里面第一個以太網(wǎng)設(shè)備的名稱應(yīng)該選擇eth0。 10.在設(shè)備名選擇完之后,應(yīng)該為此設(shè)備選擇一個驅(qū)動程序,使Linux的內(nèi)核可以驅(qū)動它正常的工作。這里假設(shè)我們的網(wǎng)卡的ne2000兼容的10M網(wǎng)卡。使用ctrl+x選擇ne即可。 11.在驅(qū)動選擇完成之后,要看網(wǎng)卡的具體情況確定是否需要輸入中斷號和端口號。這里我們的網(wǎng)卡的NE2000 ISA的網(wǎng)卡,沒有PNP功能我們只有自己手工的將中斷號和端口號輸進(jìn)去。 12.至了這里,網(wǎng)卡的參數(shù)我們已經(jīng)設(shè)置完成,用TAB鍵將鍵盤移動到Accept處按鍵盤的回車鍵保存設(shè)置。并退出netconf,重新啟動Linux之后用以下的命令查看網(wǎng)卡工作是否正常: 2.2.IP地址的修改 使用netconf按照以下的步驟: 1.Basic host information 2.填寫 Host name,一般情況下是www,如果您是用來做Web服務(wù)器的話, 3.使用方向鍵↓將光標(biāo)移動至 Adaptor 1范圍內(nèi)的IP address輸入框內(nèi),輸入您想要更改的IP地址,輸入完成之后用TAB鍵移動至Accept按鈕處按回車即可。 4.使用手工的方式修改可以用以下的命令:# ifconfig eth0 202.98.10.100,其中eth0是設(shè)備的名稱,202.98.10.100是IP地址。 2.3.缺省DNS服務(wù)器地址的設(shè)置 直接使用vi修改/etc/resolv.conf,查看其中是否存在nameserver的參數(shù),如果沒有手工添加進(jìn)去,如果有的話直接修改其后的IP地址即可。其格式為:nameserver 127.0.0.1 其中127.0.0.1為DNS服務(wù)器的地址,由于本站配置了DNS服務(wù)器,所以可以用本地地址,也可寫為202.98.10.100。 3.服務(wù)器安全 做為Web服務(wù)器,我們首先要考慮的一條就是安全。Linux在安裝完成之后,缺省的情況下會打開一些端口以提供一些基礎(chǔ)如:Telnet、Finger等服務(wù)。 對于我們來說是沒有任何用處的,說不定還會導(dǎo)致一些安全問題。為此,在服務(wù)器的建設(shè)初始,我就考慮將這些對我們?nèi)粘9ぷ鳑]有起到作用的服務(wù)關(guān)閉掉。在這一部分,我們將會介紹如何使用 openssh 和 proftpd 代替 inetd 最常用的兩個服務(wù)telnetd 和 ftpd,從而實(shí)現(xiàn)最終將 inetd 從系統(tǒng)同刪除掉。 在進(jìn)行具體的操作前,強(qiáng)烈建議您先為自己添加一個獨(dú)立用戶,一般來說我是這樣處理的。添加一個組名為 ftpusers,再添加一個用戶 myuser 其組為 ftpusers。相應(yīng)的命令為: #groupadd ftpusers 此用戶將用于進(jìn)行常規(guī)的維護(hù),與測試,象Telnet、FTP這些工作的測試。 3.1.安裝 openssh 1、下載軟件包: 從 http://www.openssl.org 下載 openssl 0.9.5a 從 http://www.freessh.org 下載 openssh-2.1.1.p4 下載的軟件包放置于 /usr/local/src。 2、將軟件包解壓縮 # cd /usr/local/src 3、編譯并安裝 openssl和openssh # cd /usr/local/src 編譯(make)過程所需的時間比較長,在我的PIII600+128MB SCSI硬盤的機(jī)器上編譯的過程需要差不多五分鐘。所以請耐心等候其編譯完成。在完成 openssl 的編譯與安裝之后,我們就可以開始編譯與安裝 openssh。步驟如下: # cd /usr/local/src 4、測試sshd 啟動 sshd: # /etc/rc.d/init.d/sshd start 如果出現(xiàn): Starting sshd: [ OK ] 則證明 sshd 已經(jīng)正確的安裝并已經(jīng)在后臺運(yùn)行,如果出現(xiàn)其它的提示,請檢查您的安裝步驟是否正確。sshd 正確啟動之后,我們試試用其客戶端看是否可以正確的聯(lián)接至服務(wù)器: # cd /usr/local/servers/openssh/bin 使用此命令之后正常情況下會要求您輸入root的密碼,您輸入之后如果可以成功的進(jìn)入則證明 sshd 已經(jīng)成功的安裝完成了。 ssh的win32客戶端可以從http://www.sorted.org/~chris/ssh/putty.exe 下載。方便您在Windows里面遠(yuǎn)程控制網(wǎng)站服務(wù)器。 3.2.安裝ProFTPD 1、下載軟件包 從 http://www.proftpd.net 下載proftpd-1.2.0rc2.tar.gz,下載的軟件包放置于: /usr/local/src。. 2、將下載的軟件包解壓縮 # cd /usr/local/src 3、編譯并安裝proftpd # ./configure --prefix=/usr/local/servers/proftpd 4、修改 /etc/inetd.conf 將其中的 ftp 服務(wù)關(guān)閉掉 使用 vi /etc/inetd.conf 打開 inetd 配置文件,搜索 ftp,在 ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l –a 這一行的最前面插入一個 # 號,修改之后的結(jié)果如下: # ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l –a 在vi環(huán)境下使用 :wq 存盤退出以后,使用 killall -HUP inetd 重新啟動 inetd,使所做的修改生效。 5、生成ProFTPD啟動文件 # cd /etc/rc.d/init.d 說明:chkconfig,是一個在Linux里面用于修改服務(wù)器(daemon)運(yùn)行環(huán)境的小程序,其命令格式為 chkconfig [–level 6、為ProFTPD創(chuàng)建PAM文件 使用 vi 在 /etc/pam.d 創(chuàng)建一個名為 ftp 的文件,其內(nèi)容為: auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed 7、修改ftp用戶的shell,并創(chuàng)建其主目錄 # usermod –s /bin/bash ftp 檢查/home/ftp 是否存在,如果不存在使用以下的命令創(chuàng)建: # mkdir /home/ftp 如果您不希望匿名登錄有效,本節(jié)可以不做. 8、修改ProFTPD的啟動參數(shù) # vi /usr/local/servers/proftpd/etc/proftpd.conf 9、啟動ProFTPD # /etc/rc.d/init.d/proftpd start 如果出現(xiàn):Starting proftpd daemon: [ OK ] 則證明ProFTPD已經(jīng)正確的安裝并已經(jīng)在后臺運(yùn)行,如果出現(xiàn)其它的提示,請檢查您的安裝步驟是否正確。 10、測試ftp的聯(lián)接是否正常 ftp localhost 使用我們先前創(chuàng)建的用戶登錄。 如果無法聯(lián)接,則檢查您的ProFTPD是否已經(jīng)在運(yùn)行(可以用 ps –ax | grep “proftpd” 查看是否有ProFTPD進(jìn)程)。 3.3.關(guān)閉因特網(wǎng)超級服務(wù)器(inetd) 經(jīng)過以上的步驟,我們已經(jīng)實(shí)現(xiàn)了使用openssh代替telnetd實(shí)現(xiàn)遠(yuǎn)程登錄,用proftpd代替in.ftpd提供匿名文件傳輸服務(wù)。Inetd 提供的基礎(chǔ)功能,我們都已經(jīng)實(shí)現(xiàn),現(xiàn)在可以將inetd徹底的關(guān)閉掉。使用以下的命令: # /etc/rc.d/init.d/inet stop 經(jīng)過以上的命令之后就可以將inet關(guān)閉掉,并且在下次啟動時系統(tǒng)也不會自動啟動inetd服務(wù) |