摘 要
Linux操作系統(tǒng)搭建服務(wù)器,Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。伴隨著互聯(lián)網(wǎng)的發(fā)展,Linux得到了來自全世界軟件愛好者、組織、公司的支持。它在服務(wù)器方面保持著強(qiáng)勁的發(fā)展勢(shì)頭,在目前,由于信息越來越發(fā)達(dá),人們對(duì)服務(wù)器的要求越來越高,服務(wù)器的好壞對(duì)用戶直接產(chǎn)生影響,而Linux就是目前在網(wǎng)絡(luò)上最受歡迎的操作系統(tǒng),而且 Linux操作系統(tǒng)在安全穩(wěn)定方面是很好的,所以在未來的網(wǎng)絡(luò)發(fā)展中,構(gòu)建基于Linux的網(wǎng)絡(luò)服務(wù)平臺(tái)是很有前景的,就現(xiàn)在,商業(yè)、企業(yè)都要求更高的安全性和可靠性。
本設(shè)計(jì)是基于Linux操作環(huán)境下進(jìn)行了服務(wù)器的搭建,在熟悉了IP的分類、地址劃分、域名的相關(guān)網(wǎng)絡(luò)知識(shí)后,搭建了一個(gè)能實(shí)現(xiàn)DHCP服務(wù)、Samba 服務(wù)、DNS服務(wù)、FTP服務(wù)、Apache服務(wù)、Sendmail服務(wù)的平臺(tái)來實(shí)現(xiàn)服務(wù)器的功能,最后基于Linux服務(wù)器進(jìn)行測(cè)試。
作為一個(gè)整體的服務(wù)器,必須要有穩(wěn)定,安全的特性,在這次設(shè)計(jì)中可以體現(xiàn)出Linux 的服務(wù)器優(yōu)勢(shì)。
關(guān)鍵詞:Linux;服務(wù)器;DNS;FTP
ABSTRACT
Linux operating system builds a server. Linux is a UNIX like operating system that is free to use and spread. It is a POSIX based multi-user, multi task, multi thread and multi CPU operating system. With the development of the Internet, Linux has been supported by software enthusiasts, organizations and companies all over the world. It maintains a strong development momentum in the server. At present, due to the more and more developed information, people have higher and higher requirements for the server, and the quality of the server has a direct impact on users. Linux is the most popular operating system on the network, and the Linux operating system is very good in terms of security and stability. Therefore, in the future network development, Building a network service platform based on Linux is very promising. Now, businesses and enterprises require higher security and reliability.
This design is based on the Linux operating environment to build the server. After being familiar with the relevant network knowledge of IP Classification, address division and domain name, it builds a platform that can realize DHCP service, samba service, DNS service, FTP service, Apache service and sendmail service to realize the function of the server. Finally, it is tested based on the Linux server.
As a whole, the server must have stable and safe characteristics. The server advantages of Linux can be reflected in this design.
Keywords: Linux; The server; DNS; FTP
目 錄
第1章 引言 1
1.1 選題背景 1
1.2 研究目標(biāo)和意義 1
1.3 國內(nèi)外現(xiàn)狀 1
第2章 服務(wù)器搭建整體綜述 2
2.1 設(shè)計(jì)原則 2
2.2 需求分析 2
2.3 建設(shè)目標(biāo) 3
第3章 相關(guān)技術(shù)分析 4
3.1 SSH服務(wù) 4
3.1.1 SSH服務(wù)安裝與配置 4
3.2 DHCP服務(wù) 4
3.2.1 DHCP服務(wù)安裝與配置 5
3.2.2 DHCP動(dòng)態(tài)IP地址分配 9
3.3 Samba服務(wù)器 10
3.3.1 Samba服務(wù)器安裝與配置 10
3.3.2 Samba服務(wù)器原理及驗(yàn)證 11
3.4 DNS服務(wù)器 13
3.4.1 DNS服務(wù)器安裝與配置 13
3.4.2 DNS服務(wù)器測(cè)試 17
3.5 FTP服務(wù)器 19
3.5.1 FTP服務(wù)器安裝配置與測(cè)試 19
3.6 Sendmail服務(wù)器 27
3.6.1 Sendmail服務(wù)器安裝 28
3.6.2 Sendmail服務(wù)器測(cè)試 30
3.7 Apache服務(wù)器 31
3.7.1 Apache服務(wù)器安裝與測(cè)試 31
第4章 基于Apache服務(wù)器搭建LAMP環(huán)境 34
4.1 MariaDB數(shù)據(jù)庫環(huán)境搭建 34
4.2 PHP腳本語言安裝 35
第1章 引言
1.1 選題背景
Linux系統(tǒng)作為最早開發(fā)的操作系統(tǒng)之一越來越受到大家的歡迎,國際上有名的硬、軟件廠商都與之結(jié)盟、捆綁。這是因?yàn)樗鳛樽杂绍浖袃蓚€(gè)特點(diǎn):一是它免費(fèi)提供源碼,二是愛好者可以按照自己的需要自由修改、復(fù)制和發(fā)布程序的源碼,并公布在 Internet 上。這就吸引了世界各地的操作系統(tǒng)高手為 Linux編寫各種各樣的驅(qū)動(dòng)程序和應(yīng)用軟件,使得Linux成為一種不僅只是一個(gè)內(nèi)核,而且包括系統(tǒng)管理工具、完整的開發(fā)環(huán)境和開發(fā)工具、應(yīng)用軟件在內(nèi),用戶很容易獲得的操作系統(tǒng)。由于可以得到 Linux的源碼,所以操作系統(tǒng)的內(nèi)部邏輯可見,這樣就可以準(zhǔn)確地查明故障原因,及時(shí)采取相應(yīng)對(duì)策。這是其它操作系統(tǒng)所沒有的優(yōu)勢(shì)。究其根本,Linux是一個(gè)UNIX系統(tǒng)變種,因此也就具有了 Unix系統(tǒng)的一系列優(yōu)良特性,Unix 上的應(yīng)用可以很方便地移植到Linux臺(tái)上,這使得Unix 用戶很容易掌握Linux系統(tǒng)。
Windows有著很強(qiáng)大的圖形界面,使用方便,很容易讓人們理解,而與之相比,Unix 和 Linux就顯得比較抽象,它們一般都是在字符界面上操作的,但在復(fù)雜的網(wǎng)絡(luò)環(huán)境中Linux 卻扮演著很重要的角色。在 Internet 中網(wǎng)絡(luò)錯(cuò)綜復(fù)雜。每天都有很多的請(qǐng)求和服務(wù),所以要求系統(tǒng)要很安全和穩(wěn)定,Linux就是擔(dān)負(fù)著這個(gè)艱難的任務(wù),它有著穩(wěn)定、可靠、安全的特點(diǎn),正因?yàn)樗倪@些特點(diǎn),基于Linux的網(wǎng)絡(luò)就得到了大力的發(fā)展。
一直以來,運(yùn)行Linux 操作系統(tǒng)的服務(wù)器都被世界各地很廣泛的使用著,在Linux上能夠很好的實(shí)現(xiàn)Apache、DNS、Sendmail、Dhcp、Samba、Ftp、Http等服務(wù)。
1.2 研究目標(biāo)和意義
隨著開源軟件在世界范圍內(nèi)影響力日益增強(qiáng),Linux服務(wù)器操作系統(tǒng)在整個(gè)服務(wù)器操作系統(tǒng)市場格局中占據(jù)了越來越多的市場份額,已經(jīng)形成了大規(guī)模市場應(yīng)
用的局面。并且保持著快速的增長率。尤其在政府、金融、農(nóng)業(yè)、交通、電信等國家關(guān)鍵領(lǐng)域。此外,考慮到Linux的快速成長性以及國家相關(guān)政策的扶持力度,Linux服務(wù)器產(chǎn)品一定能夠沖擊更大的服務(wù)器市場。
據(jù)權(quán)威部門統(tǒng)計(jì),目前Linux在服務(wù)器領(lǐng)域已經(jīng)占據(jù)75%的市場份額,同時(shí),Linux在服務(wù)器市場的迅速崛起,已經(jīng)引起全球IT產(chǎn)業(yè)的高度關(guān)注,并以強(qiáng)勁的勢(shì)頭成為服務(wù)器操作系統(tǒng)領(lǐng)域中的中堅(jiān)力量。
Linux操作系統(tǒng)在短短的幾年之內(nèi)便得到了非常迅猛的發(fā)展,這與Linux具有的良好特性是分不開的。Linux包含UNIX的全部功能和特性。簡單地說,Linux具有以下主要特性。
1、開放性
開放性是指系統(tǒng)遵循世界標(biāo)準(zhǔn)規(guī)范,特別是遵循開放系統(tǒng)互連(OSI)國際標(biāo)
準(zhǔn)。凡遵循國際標(biāo)準(zhǔn)所開發(fā)的硬件和軟件,都能彼此兼容,可方便地實(shí)現(xiàn)互聯(lián)。
2、多用戶
多用戶是指系統(tǒng)資源可以被不同用戶各自擁有和使用,即每個(gè)用戶對(duì)自己的資源(如文件、設(shè)備)有特定的權(quán)限,互不影響。Linux和UNIX都具有多用戶的特性。
3、多任務(wù)
多任務(wù)是現(xiàn)代計(jì)算機(jī)操作系統(tǒng)的最主要的一個(gè)特點(diǎn)。它是指計(jì)算機(jī)同時(shí)執(zhí)行多個(gè)程序,而且各個(gè)程序的運(yùn)行互相獨(dú)立。Linux系統(tǒng)調(diào)度每一個(gè)進(jìn)程平等地訪問處理器(CPU)。由于CPU的處理速度非???,從處理器執(zhí)行一個(gè)應(yīng)用程序中的一組指令到Linux調(diào)度處理器再次運(yùn)行這個(gè)程序之間只有很短的時(shí)間延遲,用戶是感覺不出來的,因而啟動(dòng)的應(yīng)用程序看起來好像在并行運(yùn)行。
4、良好的用戶界面
Linux向用戶提供了兩種界面:用戶界面和系統(tǒng)調(diào)用。Linux的傳統(tǒng)用戶界而是基于文本的命令行界面,即 shell,它既可以聯(lián)機(jī)使用,又可存儲(chǔ)在文件上脫機(jī)使用。she11有很強(qiáng)的程序設(shè)計(jì)能力,用戶可方便地用它編制程序,從而為用戶擴(kuò)充系統(tǒng)功能提供了更高級(jí)的于段??删幊蘳hell是指將多條命令組合在一起,形成一個(gè)shell程序,這個(gè)程序可以單獨(dú)運(yùn)行,也可以與其他程序同時(shí)運(yùn)行。Linux還為用戶提供了圖形用戶界面,利用鼠標(biāo)、菜單、窗口、滾動(dòng)條等設(shè)施,給用戶呈現(xiàn)一個(gè)直觀、易操作、交互性強(qiáng)、友好的圖形化界面。
5、設(shè)備獨(dú)立性
設(shè)備獨(dú)立性是指操作系統(tǒng)把所有外部設(shè)備統(tǒng)一視為文件,只要安裝它們的驅(qū)動(dòng)程序,任何用戶都可以像使用文件一樣操縱、使用這些設(shè)備,而不必知道它們的具體存在形式。
具有設(shè)備獨(dú)立性的操作系統(tǒng)通過把每一個(gè)外圍設(shè)備看做一個(gè)獨(dú)立文件來簡化增加新設(shè)備的工作。當(dāng)需要增加新設(shè)備時(shí),系統(tǒng)管理員在內(nèi)核中增加必要的連接。這種連接(也稱做設(shè)備驅(qū)動(dòng)程序)保證每次調(diào)用設(shè)備提供服務(wù)時(shí),內(nèi)核以相同的方式來處理它們。當(dāng)新的或更好的外設(shè)被開發(fā)并交付給用戶時(shí),只要這些設(shè)備連接到內(nèi)核,就能不受限制地立即訪問它們。設(shè)備獨(dú)立性的關(guān)鍵在于內(nèi)核的適應(yīng)能力。其他操作系統(tǒng)只允許一定數(shù)量或一定種類的外部設(shè)備連接,而具有設(shè)備獨(dú)立性的操作系統(tǒng)能夠容納任意種類及任意數(shù)量的設(shè)備,因?yàn)槊恳粋€(gè)設(shè)備都是通過其與內(nèi)核的專用連接獨(dú)立進(jìn)行訪問的。
Linux是具有設(shè)備獨(dú)立性的操作系統(tǒng),它的內(nèi)核具有高度適應(yīng)能力,隨著更多的程序員利用Linux編程,會(huì)有更多的硬件設(shè)備加入到各種Linux內(nèi)核和發(fā)行版木中。另外,由于用戶可以免費(fèi)得到Linux 的內(nèi)核源代碼,因此,用戶也可以修改內(nèi)核源代碼,以便適應(yīng)新增加的外部設(shè)備。
6、豐富的網(wǎng)絡(luò)功能
完善的內(nèi)置網(wǎng)絡(luò)是Linux的一大特點(diǎn)。Linux在通信和網(wǎng)絡(luò)方面的功能優(yōu)于其它操作系統(tǒng)。它的聯(lián)網(wǎng)能力與內(nèi)核緊密地結(jié)合在一起,并具有內(nèi)置的靈活性。Linux為用戶提供了完善、強(qiáng)大的網(wǎng)絡(luò)功能。
7、可靠的系統(tǒng)安全
Linux采取了許多安全技術(shù)措施,包括對(duì)讀寫進(jìn)行權(quán)限控制、帶保護(hù)的子系統(tǒng)、審計(jì)跟蹤、核心授權(quán)等,這為網(wǎng)絡(luò)多用戶環(huán)境中的用戶提供了必要的安全保障。人們普遍認(rèn)為,Linux是目前最安全的操作系統(tǒng)之一。
8、良好的可移植性
可移植性是指將操作系統(tǒng)從一個(gè)平臺(tái)轉(zhuǎn)移到另一個(gè)平臺(tái)時(shí)它仍然能按其自身的方式運(yùn)行的能力。
Linux是一種可移植的操作系統(tǒng),能夠在從微型計(jì)算機(jī)到大型計(jì)算機(jī)的任何環(huán)境和任何平臺(tái)上運(yùn)行。可移植性為運(yùn)行Linux的不同計(jì)算機(jī)平臺(tái)與其他計(jì)算機(jī)進(jìn)行準(zhǔn)確而有效的通信提供了手段,不需要另外增加特殊和昂貴的通信接口。
1.3 國內(nèi)外現(xiàn)狀
國內(nèi) Linux 操作系統(tǒng)發(fā)展現(xiàn)狀
國內(nèi)目前涉足Linux操作系統(tǒng)研發(fā),除學(xué)校、研發(fā)機(jī)構(gòu)外,主要 Linux發(fā)行版包括紅旗、中標(biāo)、共創(chuàng)、新華、拓林思等,均有桌面和服務(wù)器兩個(gè)版本;國內(nèi)各發(fā)行版均基于國際社區(qū)版本發(fā)展而來,基于國際社區(qū)成果,在界面定制上做了一些工作,并沒有掌握核心技術(shù),且與國際Linux 操作系統(tǒng)發(fā)行版之間存在一定的技術(shù)差距,缺少技術(shù)積累,面臨Linux發(fā)展后勁不足等問題。
國外Linux操作系統(tǒng)發(fā)展現(xiàn)狀
國外Linux操作系統(tǒng)發(fā)展現(xiàn)狀,國外主要發(fā)行版包括redhat、ubuntu、Suse 等,均提供桌面和服務(wù)器兩個(gè)不同版本。服務(wù)器領(lǐng)域Linux操作系統(tǒng)發(fā)展比較成熟,桌面發(fā)展比較緩慢,嵌入式領(lǐng)域發(fā)展較快。
第2章 服務(wù)器搭建整體綜述
2.1 設(shè)計(jì)原則
服務(wù)器,是提供計(jì)算服務(wù)的設(shè)備。由于服務(wù)器需要響應(yīng)服務(wù)請(qǐng)求,并進(jìn)行處理,因此一般來說服務(wù)器應(yīng)具備承擔(dān)服務(wù)并且保障服務(wù)的能力。
服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,和通用的計(jì)算機(jī)架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴(kuò)展性、可管理性等方面要求較高。
在網(wǎng)絡(luò)環(huán)境下,根據(jù)服務(wù)器提供的服務(wù)類型不同,分為文件服務(wù)器、數(shù)據(jù)庫服務(wù)器、應(yīng)用程序服務(wù)器、WEB服務(wù)器等。
2.2 需求分析
在企業(yè)信息化建設(shè)中,服務(wù)器的角色舉足輕重。在最常見的C/S網(wǎng)絡(luò)結(jié)構(gòu)中,服務(wù)器扮演著為網(wǎng)絡(luò)中的計(jì)算機(jī)提供服務(wù)的角色,是整個(gè)網(wǎng)絡(luò)系的核心,服務(wù)器的正確選擇也是整個(gè)信息化建設(shè)的關(guān)鍵。
在中小企業(yè)服務(wù)器選購過程中也存在著一些問題,首先是資金比較短缺,在小型企業(yè)建設(shè)中,初始階段公司規(guī)模比較小,業(yè)務(wù)量不大,信息化建設(shè)的需求并不強(qiáng)烈,效果也不明顯,所以在初始階段的信息化建設(shè)不會(huì)投入太多的資金,采購服務(wù)器一般本著少花錢,多辦事的原則,追求資金回報(bào)率。
其次專門的IT人員較為匱乏,專門的IT人員會(huì)增加一筆額外的開支,一般來說,規(guī)模不大的小型企業(yè)出于成本的考慮,一般只有很少或者沒有專門的IT人員。而在外貿(mào)公司中,卻少不了IT部門。
雖然前期成本很關(guān)鍵,但是企業(yè)在選購服務(wù)器時(shí)也不能一味追求低成本而忽略了服務(wù)器的可用性、易管理性和擴(kuò)展性。初始的采購成本只占企業(yè)總體擁有成本的一部分,而后期的硬件升級(jí)費(fèi)用、管理維護(hù)費(fèi)用、人員費(fèi)用等可能會(huì)接近或者超過初始的采購成本。所以,價(jià)格低廉,易于管理,穩(wěn)定可靠的服務(wù)器產(chǎn)品才更為適合中小企業(yè),可以為企業(yè)降低總體擁有成本。
除了要從成本、可用性、管理性和擴(kuò)展性等幾個(gè)方面考慮外,服務(wù)器還需要對(duì)癥下藥,做好規(guī)劃選型,明確企業(yè)自身需要提升的方向,做到有的放矢,充分利用資金,避免出現(xiàn)不適用或者資源的閑置浪費(fèi)現(xiàn)象。從中小企業(yè)對(duì)服務(wù)器的應(yīng)用方面來看,在初期業(yè)務(wù)量并不大,需要服務(wù)器操作的強(qiáng)度也許不是很大,但是需要應(yīng)用的種類很多,比如一臺(tái)服務(wù)器要同時(shí)兼?zhèn)鋽?shù)種角色,這時(shí)候一款通用型服務(wù)器是最好的選擇。但是隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,各種業(yè)務(wù)彼此分開,服務(wù)器需要處理的業(yè)務(wù)量也不斷增大,這時(shí)候就有必要根據(jù)不同應(yīng)用選購配置不同的服務(wù)器,以獲得更優(yōu)的性能和穩(wěn)定性。因此,在公司內(nèi)備置了FTP 、DHCP、Samba、DNS、Sendmail、Apache等常用服務(wù)器。
2.3 建設(shè)目標(biāo)
能很好的在 Linux和 window操作系統(tǒng)下進(jìn)行文件的傳輸和共享, SSH安全外殼協(xié)議實(shí)現(xiàn)遠(yuǎn)程登錄,能夠讓域名和與之相對(duì)應(yīng)的IP地址間進(jìn)行轉(zhuǎn)換,研究郵件服務(wù)的配置和郵件發(fā)送的整個(gè)過程和原理,能很好的實(shí)現(xiàn)DHCP的動(dòng)態(tài)IP的地址分配,并且搭建了一個(gè)Apache的服務(wù)器,能夠?qū)崿F(xiàn)網(wǎng)頁訪問。
第3章 相關(guān)技術(shù)分析
3.1 SSH服務(wù)
SSH是指Secure Shell,是一種安全的傳輸協(xié)議,Ubuntu客戶端可以通過SSH訪問遠(yuǎn)程服務(wù)器。SSH的簡介和工作機(jī)制可參看上篇文章SSH簡介及工作機(jī)制。
SSH分客戶端openssh-client和openssh-server。
如果你只是想登陸別的機(jī)器的SSH只需要安裝openssh-client(ubuntu有默認(rèn)安裝,如果沒有則sudo apt-get install openssh-client),如果要使本機(jī)開放SSH服務(wù)就需要安裝openssh-server。
3.1.1 SSH服務(wù)安裝與配置
1、首先在本機(jī)安裝openssh-server和openssh-client。
命令:sudo apt-get install openssh-server openssh-client。
2、再檢查當(dāng)前的目錄下有沒有.ssh這個(gè)文件,如果沒有自行創(chuàng)建。
3、生成公鑰與私鑰。命令:ssh-keygen -t rsa。
4、此時(shí)會(huì)在~.ssh文件中生成id_isa_pub文件和authorized_keys文件。
5、SSH免密登錄配置成功。
3.2 DHCP服務(wù)
當(dāng)客戶端開機(jī)或者重啟網(wǎng)卡時(shí),客戶端主機(jī)會(huì)發(fā)送出查找DHCP服務(wù)器的UDP數(shù)據(jù)包給所有物理網(wǎng)絡(luò)段的計(jì)算機(jī),此數(shù)據(jù)包的目標(biāo)IP為255.255.255.255,一般主機(jī)接收到這個(gè)數(shù)據(jù)包會(huì)直接丟棄,DHCP服務(wù)器則會(huì)開始進(jìn)行后續(xù)行為。
服務(wù)器端接收到客戶端的要求后,會(huì)正對(duì)這個(gè)客戶端的硬件及地址(MAC)與本身的設(shè)置數(shù)據(jù)來進(jìn)行以下工作:
1、到服務(wù)器的日志文件中查找該用戶之前是否曾經(jīng)租用過某個(gè)IP,若有該IP且目前無人使用,則提供給客戶端。
2、若配置文件針對(duì)該MAC地址提供特定的固定IP時(shí),則提供該固定IP給客戶端。
3、若不符合上述兩個(gè)條件,則隨機(jī)選擇其當(dāng)前沒有被使用的IP參數(shù)給客戶端并記錄下來。
當(dāng)局域網(wǎng)里存在多個(gè)DHCP服務(wù)器時(shí),客戶端要對(duì)其進(jìn)行選擇,當(dāng)客戶端決定好使用此服務(wù)器的網(wǎng)絡(luò)參數(shù)租約后,客戶便開始使用這組網(wǎng)絡(luò)參數(shù)來配置自己的網(wǎng)絡(luò)環(huán)境,此外,客戶端會(huì)發(fā)送一個(gè)廣播數(shù)據(jù)包給所有的物理網(wǎng)段內(nèi)的主機(jī),告知已經(jīng)接受該服務(wù)器的租約,沒有被接受的服務(wù)器會(huì)收回IP租約。被接受的DHCP服務(wù)器會(huì)繼續(xù)進(jìn)行下面的操作。
客戶端脫機(jī)以后server端就會(huì)將IP收回,并且DHCP服務(wù)端發(fā)放的IP有使用的期限,客戶端使用這個(gè)IP到達(dá)期限規(guī)定的時(shí)間,而且沒有重新提出DHCP申請(qǐng)時(shí),服務(wù)端也會(huì)將該IP收回。
3.2.1 DHCP服務(wù)安裝與配置
ubuntu-16.04.7-server的dhcp服務(wù)是isc-dhcp-server,我們用如下命令安裝:
panwenjun@server:~$ sudo apt install isc-dhcp-server
DHCP的主要有兩個(gè)配置文件夾,分別位于 /etc/default 和 /etc/dhcp。下面要做的就是對(duì)這兩個(gè)文件夾下的isc-dhcp-server和dhcpd.conf文件進(jìn)行配置。
命令獲取目標(biāo)主機(jī)的網(wǎng)卡名稱和相關(guān)信息:
panwenjun@server:~$ ifconfig
圖3-1 目標(biāo)主機(jī)的網(wǎng)卡名稱和相關(guān)信息
可以看到目標(biāo)主機(jī)只有一張ens33的網(wǎng)卡,接下來配置/etc/default/isc-dhcp-server文件。
panwenjun@server:~$ sudo vim /etc/default/isc-dhcp-server
將INTERFACES的內(nèi)容補(bǔ)充為目標(biāo)主機(jī)的網(wǎng)卡名稱ens33。
圖3-2 isc-dhcp-server文件相關(guān)配置
然后配置/etc/dhcp/dhcpd.conf 文件:
panwenjun@server:~$ sudo vim /etc/dhcp/dhcpd.conf
dhcpd.conf文件內(nèi)容中需要配置域名和子網(wǎng)IP等信息,需要修改option domain-name-servers這一行,將其注釋掉。
圖3-3 dhcpd.conf 文件文件相關(guān)配置
還需添加以下信息。subnet為192.168.29.0,DHCP分配范圍設(shè)置為200-253,其余地址留給廣播和靜態(tài)IP。網(wǎng)關(guān)和DNS均設(shè)置為192.168.29.1,廣播地址為192.168.29.255,ntp-servers和netbios-name-servers設(shè)置與DNS一致,netbios-node-type默認(rèn)為8
圖3-4 dhcpd.conf 文件文件相關(guān)配置
配置完成之后命令重啟DHCP服務(wù):
panwenjun@server:~$ sudo service isc-dhcp-server restart
開機(jī)自啟動(dòng):
panwenjun@server:~$ sudo systemctl enable isc-dhcp-server.service
可以使用命令查看dhcp相關(guān)進(jìn)程是否正常運(yùn)行:
panwenjun@server:~$ sudo netstat -uap
圖3-5 查看dhcp相關(guān)進(jìn)程
查看dhcp服務(wù)狀態(tài):
panwenjun@server:~$ sudo service isc-dhcp-server status
如果服務(wù)狀態(tài)如下圖所示,證明dhcp服務(wù)已啟動(dòng)。
圖3-6查看dhcp服務(wù)狀態(tài)
3.2.2 DHCP動(dòng)態(tài)IP地址分配
執(zhí)行如下命令,DHCP分配的IP、網(wǎng)關(guān)、DNS信息會(huì)保存在/var/lib/dhcp/dhclient.leases這個(gè)文件上:
panwenjun@server:~$ sudo dhclient ens38
panwenjun@server:~$ cd /var/lib/dhcp && cat dhclient.leases
panwenjun@server:~$ sudo dhclient –d ens38
圖3-7 dhclient.leases文件內(nèi)容
重啟網(wǎng)絡(luò):
panwenjun@server:~$ sudo /etc/init.d/networking restart
ifconfig查看IP,可以看到當(dāng)前的IP地址和我們自己獲取跟蹤的IP地址192.168.1.200一樣,DHCP服務(wù)搭建完畢。
3.3 Samba服務(wù)器
Samba服務(wù)的主要任務(wù)就是實(shí)現(xiàn)Linux系統(tǒng)和Windows系統(tǒng)之間的資源共享。Samba是在Linux系統(tǒng)上實(shí)現(xiàn)的SMB(Server Messages Block,信息服務(wù)塊)協(xié)議的一款免費(fèi)軟件。它實(shí)現(xiàn)在局域網(wǎng)內(nèi)共享文件和打印機(jī),是一個(gè)客戶機(jī)/服務(wù)器型協(xié)議??蛻魴C(jī)通過SMB協(xié)議訪問服務(wù)器上的共享文件系統(tǒng)??梢詫?shí)現(xiàn)Windows系統(tǒng)訪問Linux系統(tǒng)上的共享資源。
3.3.1 Samba服務(wù)器安裝與配置
安裝samba服務(wù):
panwenjun@server:~$ sudo apt-get install samba
創(chuàng)建一個(gè)samba服務(wù)的分享目錄 :
panwenjun@server:~$ mkdir /share
創(chuàng)建一個(gè)samba服務(wù)限制的用戶及組:
panwenjun@server:~$ sudo useradd public
為public用戶設(shè)置密碼:
panwenjun@server:~$ sudo passwd public
修改samba服務(wù)的配置文件:
panwenjun@server:~$ sudo vim /etc/samba/smb.conf
修改內(nèi)容如下,在文件的末尾添加:
圖3-8 smb.conf文件相關(guān)配置
配置文件中支持的用戶是public,那么需要修改/home/panwenjun/share目錄的權(quán)限:
panwenjun@server:~$ sudo chown public:public /home/panwenjun/share
配置完文件重啟一下samba服務(wù):
sudo /etc/init.d/samba restart
3.3.2 Samba服務(wù)器原理及驗(yàn)證
Samba最大的功能就是可以用于Linux與windows系統(tǒng)直接的文件共享和打印共享,Samba既可以用于windows與Linux之間的文件共享,也可以用于Linux與Linux之間的資源共享,由于NFS(網(wǎng)絡(luò)文件系統(tǒng))可以很好的完成Linux與Linux之間的數(shù)據(jù)共享,因而 Samba較多的用在了Linux與windows之間的數(shù)據(jù)共享上面。
SMB是基于客戶機(jī)/服務(wù)器型的協(xié)議,因而一臺(tái)Samba服務(wù)器既可以充當(dāng)文件共享服務(wù)器,也可以充當(dāng)一個(gè)Samba的客戶端,例如,一臺(tái)在Linux 下已經(jīng)架設(shè)好的Samba服務(wù)器,windows客戶端就可以通過SMB協(xié)議共享Samba服務(wù)器上的資源文件,同時(shí),Samba服務(wù)器也可以訪問網(wǎng)絡(luò)中 其它windows系統(tǒng)或者Linux系統(tǒng)共享出來的文件。
Samba在windows下使用的是NetBIOS協(xié)議,如果你要使用Linux下共享出來的文件,請(qǐng)確認(rèn)你的windows系統(tǒng)下是否安裝了NetBIOS協(xié)議。
組成Samba運(yùn)行的有兩個(gè)服務(wù),一個(gè)是SMB,另一個(gè)是NMB;SMB是Samba 的核心啟動(dòng)服務(wù),主要負(fù)責(zé)建立 Linux Samba服務(wù)器與Samba客戶機(jī)之間的對(duì)話, 驗(yàn)證用戶身份并提供對(duì)文件和打印系統(tǒng)的訪問,只有SMB服務(wù)啟動(dòng),才能實(shí)現(xiàn)文件的共享,監(jiān)聽139 TCP端口;而NMB服務(wù)是負(fù)責(zé)解析用的,類似與DNS實(shí)現(xiàn)的功能,NMB可以把Linux系統(tǒng)共享的工作組名稱與其IP對(duì)應(yīng)起來,如果NMB服務(wù)沒有啟動(dòng),就只能通過IP來訪問共享文件,監(jiān)聽137和138 UDP端口。
例如,某臺(tái)Samba服務(wù)器的IP地址為192.168.1.104,那么在Windows的IE瀏覽器輸入下面兩條指令都可以訪問共享文件。其實(shí)這就是Windows下查看Linux Samba服務(wù)器共享文件的方法。
\192.168.1.104\共享目錄名稱
圖3-9 查看Windows下FTP共享目錄
Samba服務(wù)器還可實(shí)現(xiàn)如下功能:WINS和DNS服務(wù); 網(wǎng)絡(luò)瀏覽服務(wù); Linux
和Windows域之間的認(rèn)證和授權(quán);UNICODE字符集和域名映射;滿足CIFS協(xié)議的UNIX共享等。
3.4 DNS服務(wù)器
在Internet上域名與IP地址之間是一對(duì)一(或者多對(duì)一)的,機(jī)器之間只能互相認(rèn)識(shí)IP地址,域名與IP地址的轉(zhuǎn)換工作稱為域名解析。DNS是進(jìn)行域名解析的服務(wù)器,域名解析需要由專門的域名解析服務(wù)來完成。
域名解析分為正向域名解析與反向域名解析,所謂的正向解析即根據(jù)域名查到相對(duì)應(yīng)的IP地址,反向解析則反之。
3.4.1 DNS服務(wù)器安裝與配置
首先下載bind軟件包:
panwenjun@server:~$ sudo apt-get install bind9
bind是一個(gè)域名解析服務(wù)軟件包,其客戶端稱為轉(zhuǎn)換程序,負(fù)責(zé)產(chǎn)生域名信息的查詢;服務(wù)器端負(fù)責(zé)回答轉(zhuǎn)換程序的查詢,bind的配置文件放在/etc/bind目錄下,以下是bind主要文件的目錄結(jié)構(gòu):
-rw-r–r-- 1 root root 3954 Apr 27 2021 bind.keys
-rw-r–r-- 1 root root 237 Apr 27 2021 db.0
-rw-r–r-- 1 root root 271 Apr 27 2021 db.127
-rw-r–r-- 1 root bind 303 Jan 7 21:34 db.192.168.1
-rw-r–r-- 1 root root 237 Apr 27 2021 db.255
-rw-r–r-- 1 root bind 308 Jan 7 21:31 db.panwenjun.com
-rw-r–r-- 1 root root 353 Apr 27 2021 db.empty
-rw-r–r-- 1 root root 270 Apr 27 2021 db.local
-rw-r–r-- 1 root root 3171 Apr 27 2021 db.root
-rw-r–r-- 1 root bind 463 Apr 27 2021 named.conf
-rw-r–r-- 1 root bind 490 Apr 27 2021 named.conf.default-zones
-rw-r–r-- 1 root bind 419 Jan 7 21:21 named.conf.local
-rw-r–r-- 1 root bind 165 Jan 7 21:09 named.conf.local.bak
-rw-r–r-- 1 root bind 890 Jan 7 20:56 named.conf.options
-rw-r–r-- 1 root bind 890 Jan 7 21:10 named.conf.options.bak
-rw-r----- 1 bind bind 77 Jan 7 20:56 rndc.key
-rw-r–r-- 1 root root 1317 Apr 27 2021 zones.rfc1918
其中的db.panwenjun.com和db.192.168.1這兩個(gè)文件正向解析和反向解析文件需要手動(dòng)創(chuàng)建,因?yàn)槲覀円薷?etc/bind/name.conf.local和/etc/bind/named.conf.options這兩個(gè)文件所以我們先對(duì)這兩個(gè)文件進(jìn)行備份:
panwenjun@server: /etc/bind $ sudo cp named.conf.local named.conf.local.bak
panwenjun@server:/etc/bind$ sudo cp named.conf.options named.conf.options.bak
然后編輯修改文件name.conf.local, 建立正向解析域和反向解析域,內(nèi)容如下:
注:反向解析中IP地址要反向書寫,例如將panwenjun.com域解析為192.168.1要寫成1.168.192,即192.168.1.xx的所有IP按照db.panwenjun.com文件規(guī)則解析。
圖3-10 name.conf.local相關(guān)配置建立正向解析域和反向解析域
從/etc/bind路徑下,復(fù)制現(xiàn)有的文件db.local命名為db.panwenjun.com作為正向解析文件的模板,接下來修改db.panwenjun.com為如下內(nèi)容,其中的192.168.1.104是我的局域網(wǎng)IP地址。
圖3-11 db.panwenjun.com相關(guān)配置
同樣地,復(fù)制現(xiàn)有的文件db.127命名為db.192.168.1作為反向解析文件的模板并作修改,其中倒數(shù)第二行中的104代表局域網(wǎng)IP的最后一個(gè)字節(jié)號(hào)。
圖3-12 db.192.168.1相關(guān)配置
修改主機(jī)域名解析地址,修改為以下內(nèi)容:
panwenjun@server:/etc/bind$ sudo vi /etc/resolv.conf
圖3-13 /etc/resolv.conf相關(guān)配置
此時(shí)我們只是對(duì)/etc/resolv.conf這個(gè)文件做了臨時(shí)修改,我們要做永久修改需要在/etc/network/interfaces這個(gè)文件中添加如下內(nèi)容:
dns-nameservers 192.168.1.104
dns-search dns.panwenjun.com
重啟bind服務(wù);查看bind服務(wù)運(yùn)行狀態(tài),服務(wù)正常運(yùn)行。
圖3-14 查看bind服務(wù)運(yùn)行狀態(tài)
3.4.2 DNS服務(wù)器測(cè)試
1、檢查開啟端口。
圖3-15 DNS相關(guān)端口運(yùn)行狀態(tài)
2、nslookup(Name Server Lookup)是一種網(wǎng)絡(luò)管理命令,用于從 DNS 服務(wù)器查詢域名、IP或其他 DNS 記錄信息。
nslookup 有兩種工作模式,交互模式和非交互模式。在交互模式下,用戶可以向域名服務(wù)器查詢各類主機(jī)、域名的信息,或者輸出域名中的主機(jī)列表。在非交互模式下,針對(duì)一個(gè)主機(jī)或域名僅僅獲取特定的名稱或所需信息。
進(jìn)入交互模式有兩種方式:(1)直接輸入 nslookup 命令,不加任何參數(shù),此時(shí) nslookup 會(huì)連接到默認(rèn)的域名服務(wù)器(/etc/resolv.conf的第一個(gè)DNS地址);(2)第一個(gè)參數(shù)是連字符(-),第二個(gè)參數(shù)是域名服務(wù)器的主機(jī)名或IP,即nslookup - SERVER|IP。
其他方式則進(jìn)入非交互模式,比如nslookup NAME查詢域名對(duì)應(yīng)的IP。
如下用nslookup命令進(jìn)行解析測(cè)試。
圖3-16 nslookup命令進(jìn)行解析測(cè)試
3、Linux下解析域名除了使用nslookup之外,開可以使用dig命令來解析域名,dig命令可以得到更多的域名信息。dig 命令主要用來從 DNS 域名服務(wù)器查詢主機(jī)地址信息。dig的全稱是 (domain information groper)。它是一個(gè)用來靈活探測(cè)DNS的工具。它會(huì)打印出DNS name server的回應(yīng)。如下用dig測(cè)試。
圖3-17 dig命令測(cè)試
4、用named-checkzone進(jìn)行區(qū)域文件有效性檢查和轉(zhuǎn)換。
圖3-18 named-checkzone進(jìn)行區(qū)域文件有效性檢查和轉(zhuǎn)換
5、用ping測(cè)試。
圖3-19 ping命令測(cè)試
3.5 FTP服務(wù)器
在linux 環(huán)境下,有三個(gè)主要的FTP服務(wù)器:vsftpd、proftpd和wu-ftpd。因?yàn)榘踩矫娴脑?,vsftpd目前已經(jīng)牢牢的占據(jù)了主導(dǎo)地位,因?yàn)槠浒踩韵鄬?duì)較高。FTP的全稱是File Transfer Protocol(文件傳輸協(xié)議)。就是用來傳輸文件的協(xié)議。FTP服務(wù)器是互聯(lián)網(wǎng)上提供FYP服務(wù)和一定存儲(chǔ)空間的計(jì)算機(jī),它可以是專用服務(wù)器,也可以是個(gè)人計(jì)算機(jī)。當(dāng)它提供這項(xiàng)服務(wù)后,用戶可以連接到服務(wù)器下載文件,也允許用戶把自己的文件上傳到FTP服務(wù)器當(dāng)中。FTP最重要的作用就是實(shí)現(xiàn)文件資源的共享。
3.5.1 FTP服務(wù)器安裝配置與測(cè)試
安裝FTP:
panwenjun@server:~$ sudo apt-get install vsftpd
檢查ftp是否安裝:
panwenjun@server:~$ vsftpd -version
vsftpd: version 3.0.3
更改配置文件:
panwenjun@server:~$ sudo vi /etc/vsftpd.conf
做如下更改:
```powershell
# Example config file /etc/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
#
# Run standalone? vsftpd can run either from an inetd or as a standalone
# daemon started from an initscript.
listen=NO
#
# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
listen_ipv6=YES
#
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# If enabled, vsftpd will display directory listings with the time
# in your local time zone. The default is to display GMT. The
# times returned by the MDTM FTP command are also affected by this
# option.
use_localtime=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=120
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:
ftpd_banner=Welcome to blah FTP service.
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd.banned_emails
#
# You may restrict local users to their home directories. See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
#chroot_local_user=YES
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
# the user does not have write access to the top level directory within the
# chroot)
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#ls_recurse_enable=YES
#
# Customization
#
# Some of vsftpd's settings don't fit the filesystem layout by
# default.
#
# This option should be the name of a directory which is empty. Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd/empty
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=ftp
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
#
# Uncomment this to indicate that vsftpd use a utf8 filesystem.
utf8_filesystem=YES
創(chuàng)建FTP用戶
panwenjun@server:~$ sudo mkdir /home/ftpdir
panwenjun@server:~$ sudo useradd ftpdir -d /home/ftpdir -m
panwenjun@server:~$ sudo passwd ftpdir
panwenjun@server:~$ sudo mkdir /home/ftpdir/ftp
panwenjun@server:~$ sudo chmod 777 -R /home/ftpdir/ftp
panwenjun@server:~$ usermod -s /sbin/nologin ftpdir
配置完成后,添加用戶:
panwenjun@server:~$ sudo vim /etc/vsftpd.chroot_list
將ftpdir添加在文件中。
Ftpdir
啟動(dòng)或者重啟ftp:
panwenjun@server:~$ sudo service vsftpd restart
查看ftp狀態(tài):
panwenjun@server:~$ service vsftpd status
打開文件資源管理器輸入ftp://192.168.1.104
輸入用戶名和密碼,使用的用戶名為:ftpdir,密碼為:123456。
最后就可以看到服務(wù)器上的創(chuàng)建的文件夾了。
圖3-20 FTP根目錄
3.6 Sendmail服務(wù)器
郵件服務(wù)器是由郵件用戶代理(MUA)、郵件遞送代理(MDA)和郵件傳輸代理(MTA)組成,常見的MDA通常和MUA合二為一。
1.MUA
郵件用戶代理是一種客戶端軟件,它提供用戶讀取、編輯、回復(fù)及處理電子郵件等功能,一般常用的MUA程序包括Linux下的mailx、elm、evolution和mh等,以及Windows下常用的Outlook Express、Foxmail等。
2.MDA
郵件遞送代理是一種服務(wù)器端運(yùn)行的軟件,用來把MTA所接受的郵件傳遞到指定用戶郵箱。
3.MTA
郵件傳輸代理是一種服務(wù)器端運(yùn)行的軟件,即郵件服務(wù)器。用戶通過MUA發(fā)送和接收電子郵件其實(shí)都是通過MTA完成的。在Linux中應(yīng)用最廣泛的MTA程序有Sendmail、Qmail、extmail和Postfix等。
Linux上配置郵件服務(wù)器就是一個(gè)發(fā)送和接收過程。我們可以使用linux自帶的軟件組完成郵件服務(wù)器的配置與安裝,我們使用的是sendmail, Sendmail是具有較長歷史并不斷發(fā)展的郵件服務(wù)器軟件,通過對(duì)Sendmail服務(wù)器的配置管理,可以實(shí)現(xiàn)基本的郵件發(fā)送功能。
3.6.1 Sendmail服務(wù)器安裝
首先安裝Sendmail服務(wù)器相關(guān)的所有包,命令如下:
panwenjun@server:~$ sudo apt-get install sendmail*
下載sendmail所需配置,并用ps命令檢測(cè)下載是否成功。
panwenjun@server:~$ ps aux | grep sendmail
圖3-21 ps命令檢測(cè)
此時(shí)說明Sendmail服務(wù)器相關(guān)內(nèi)容已經(jīng)下載成功。
下一步修改配置,進(jìn)入到/etc/mail目錄:
panwenjun@server:~$ cd /etc/mail
對(duì)目錄中sendmail.mc文件進(jìn)行拷貝備份,然后配置該文件:
panwenjun@server:~$ sudo cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak
panwenjun@server:/etc/mail$ sudo vi sendmail.mc
配置內(nèi)容如下所示:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1’)dnl
把其中的127.0.0.1改為0.0.0.0,這一步是為了讓該郵箱可以連接到任何服務(wù)器。
最后把修改完的配置保存一下,期間我們還是要對(duì)sendmail.cf文件做備份:
panwenjun@server:/etc/mail$ sudo cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak
panwenjun@server:~$ sudo m4 sendmail.mc > sendmail.cf
重啟一下sendmail:
panwenjun@server:~$ sudo /etc/init.d/sendmail restart
然后查看sendmail監(jiān)聽的端口號(hào):
panwenjun@server:~$ sudo netstat –tnl
如果監(jiān)聽的端口號(hào)為0.0.0.0,則修改配置成功了。
圖3-22 查看sendmail監(jiān)聽的端口號(hào)
此時(shí)查看郵件服務(wù)器狀態(tài):
panwenjun@server:/var/mail$ service sendmail status
證明郵件服務(wù)器搭建成功。
圖3-23 查看sendmail郵件服務(wù)器運(yùn)行狀態(tài)
3.6.2 Sendmail服務(wù)器測(cè)試
1、 快速發(fā)送方式:echo ‘郵件正文’ | mail -s 郵件主題 panwenjun@server
2、 以文件內(nèi)容作為郵件正文來發(fā)送:panwenjun@server:/var/mail$ mail -s test panwenjun@server <test.txt
3、 發(fā)送帶附件的郵件:panwenjun@server:/var/mail$ uuencode 郵件名稱 附件顯示名稱 | mail -s 郵件主題 發(fā)送地址
圖3-24 本機(jī)收到的郵件
這是我向本機(jī)發(fā)送的一封郵件,收到的郵件將會(huì)被保存在/var/mail路徑下。
3.7 Apache服務(wù)器
WEB服務(wù)器也稱為WWW服務(wù)器、HTTP服務(wù)器,其主要功能是提供網(wǎng)上信息瀏覽服務(wù)。Unix和Linux平臺(tái)下常用的服務(wù)器有Apache、Nginx、Lighttpd、Tomcat、IBM WebSphere等,其中應(yīng)用最廣泛的是Apache。而Window NT/2000/2003平臺(tái)下最常用的服務(wù)器是微軟公司的IIS。
下面我們要搭建的web服務(wù)器是apache服務(wù)器,Apache是世界上應(yīng)用最多的WEB服務(wù)器,優(yōu)勢(shì)主要在于源代碼開放、有一支開放的開發(fā)隊(duì)伍、支持跨平臺(tái)應(yīng)用以及其可移植性等。Apache的模塊支持非常豐富,雖在速度和性能上不及其他輕量級(jí)WEB服務(wù)器,是屬于重量級(jí)產(chǎn)品,所消耗的內(nèi)存也比其他WEB服務(wù)器要高。
3.7.1 Apache服務(wù)器安裝與測(cè)試
一、下載安裝
利用Ubuntu自帶的apt-get安裝;
panwenjun@server:~$ sudo apt-get install apache2
安裝后查看服務(wù)的啟動(dòng)狀態(tài);
panwenjun@server:~$ sudo service apache2 status
圖3-25 查看Apache服務(wù)的運(yùn)行狀態(tài)
查看版本信息:
panwenjun@server:~$ apache2 -v
Server version: Apache/2.4.18 (Ubuntu)
Server built: 2020-08-12T21:35:50
二、相關(guān)配置
1、/etc/apache2/apache2.conf:apache2.conf該配置文件下包含了apache服務(wù)器的相關(guān)配置。
2、/var/www/html:該目錄用來對(duì)外開放你的本地目錄,初始狀態(tài)只有一個(gè)index.html文件,可以通過軟連接的方式將要開放的目錄放進(jìn)來,例如:
panwenjun@server:/var/www/html$ sudo ln -s /home/panwenjun/apache.html
我們將home目錄下的一個(gè)apache.html文件放到了/var/www/html目錄下。
三、瀏覽器查看
Apache默認(rèn)端口號(hào)為:80端口,只需在瀏覽器中輸入:
192.168.1.104:80/apache.html
即可進(jìn)入apache.html頁面
如果沒有輸入目錄名,將會(huì)自動(dòng)進(jìn)入index.html界面。
圖3-26瀏覽器查看.html文件
此時(shí)證明apache搭建成功。
第4章 基于Apache服務(wù)器搭建LAMP環(huán)境
LAMP是一個(gè)多C/S架構(gòu)的平臺(tái),最初級(jí)為web客戶端基于TCP/IP通過http協(xié)議發(fā)起傳送,這個(gè)請(qǐng)求可能是動(dòng)態(tài)的,也可能是靜態(tài)的。所以web服務(wù)器通過發(fā)起請(qǐng)求的后綴來判斷,如果是靜態(tài)的資源就由web服務(wù)器自行處理,然后將資源發(fā)給客戶端。如果是動(dòng)態(tài)這時(shí)web服務(wù)器會(huì)通過CGI(Common Gateway interface)協(xié)議發(fā)起給php。這里但是如果php是以模塊形式與Web服務(wù)器聯(lián)系。那么他們是通過內(nèi)部共享內(nèi)存的方式。如果是php單獨(dú)的放置與一臺(tái)服務(wù)器,那么他們是通過sockets套接字監(jiān)聽的方式通信(這又是一個(gè)C/S架構(gòu))。這時(shí)php會(huì)相應(yīng)的執(zhí)行一段程序,如果在執(zhí)行程序時(shí),需要用到數(shù)據(jù)。那么php就會(huì)通過mysql協(xié)議發(fā)送給mysql服務(wù)器(也可以看作是一個(gè)C/S架構(gòu))。由mysql服務(wù)器處理,將數(shù)據(jù)供給php程序
4.1 MariaDB數(shù)據(jù)庫環(huán)境搭建
MariaDB是一個(gè)開源數(shù)據(jù)庫且100%與MySQL兼容,目標(biāo)是替代MySQL數(shù)據(jù)庫。
MariaDB的背景 :
2008年,MySQL被后來被Oracle在2010年收購的Sun Microsystems收購了。最初被Sun公司的收購由于符合項(xiàng)目的需要而受到MySQL社區(qū)的歡呼,但是這種情緒并沒有持續(xù)太久,接下來被Oracle的收購,不幸期望遠(yuǎn)遠(yuǎn)低于預(yù)期。許多MySql的開發(fā)者離開了Sun和Oracle公司開始新的項(xiàng)目。在他們中間就有MySQL的創(chuàng)建者以及項(xiàng)目長期技術(shù)帶頭人之一的Michael ‘Monty’ Widenius。Monty和他的團(tuán)隊(duì)創(chuàng)建了MySQL的一個(gè)fork版本并且命名它為MariaDB。
安裝MariaDB:
panwenjun@server:~$ sudo apt-get install mariadb-server
從命令行連接到MariaDB:
panwenjun@server:~$ sudo mysql -u root –p文章來源:http://www.zghlxwxcb.cn/news/detail-443087.html
圖4-1 命令行連接到MariaDB
關(guān)閉mysql數(shù)據(jù)庫服務(wù):
panwenjun@server:~$ sudo /etc/init.d/mysql stop
啟動(dòng)mysql數(shù)據(jù)庫服務(wù):
panwenjun@server:~$ sudo /etc/init.d/mysql start
查看數(shù)據(jù)庫服務(wù)運(yùn)行狀態(tài):
panwenjun@server:~$ sudo /etc/init.d/mysql status
4.2 PHP腳本語言安裝
在終端中執(zhí)行如下的命令來安裝 PHP 7:
panwenjun@server:~$ sudo apt install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0
查看版本:
panwenjun@server:~$ php –version
測(cè)試PHP腳本語言是否安裝成功,在/var/www/html目錄下創(chuàng)建php腳本文件:
panwenjun@server:/var/www/html$ sudo vi info.php文章來源地址http://www.zghlxwxcb.cn/news/detail-443087.html
到了這里,關(guān)于基于Linux的服務(wù)器搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!