天天看點

RHCE認證教育訓練+考試七天實錄(一)

時隔三個多月,終于又再次來到濟南參加RHCE認證的學習教育訓練,還是那所教育訓練機構,還是那位老師,隻是同學們都換成了新面孔,而季節也由盛夏過度到了初冬。照例還是将每天的學習過程記錄下來,為自己留下第一手的資料,同時希望也能為大家提供一些幫助。

<b>第一天(11月26日)</b>

第一天的主要内容是搭建Web伺服器,這也是RHCE考試最重要的内容。

<b>1、Apache概述</b>

在Linux系統中使用Apache實作Web伺服器,網際網路中大約60~70%的Web伺服器基于Apache實作。Apache來源于NCSA(由歐洲量子實驗室開發),現在由Apache軟體基金會(ASF)負責管理和開發,其官網為httpd.apache.org。

<a target="_blank" href="http://blog.51cto.com/attachment/201211/183859792.jpg"></a>

Apache的特點:開源,子產品化設計(可以靈活添加各種功能),跨平台應用(可以用于Windows、UNIX/Linux系統)。缺點:預設隻有256個并發連接配接,運作速度偏慢,效率較低。目前已經出現了一些取代它的軟體,如nginx。

Apache有兩個版本分支:1.x和2.x,目前使用的都是2.x版本,最新版本為2.2.15。

Apache的服務程序為httpd,檢視系統中是否已安裝Apache:

[root@localhost ~]# rpm -qa | grep httpd

httpd-tools-2.2.15-15.el6_2.1.x86_64

如果Apache沒有安裝,可以用yum安裝:

[root@localhost ~]# yum install httpd httpd-manual

httpd-manual是Apache的幫助手冊。

Apache的一些常用指令:

# service httpd start        啟用httpd服務

# service httpd stop        停止httpd服務

# service httpd status       檢視httpd服務的狀态

# service httpd restart      重新開機httpd服務

httpd服務啟動之後會開放80端口,利用netstat指令檢視系統開放的端口:

[root@localhost ~]# netstat -an | grep :80

隻要80端口開放,www伺服器就可以正常通路,如果有問題,多半是防火牆的原因。

另:在/etc/services中注明了所有的端口對應的服務。可以用grep指令在其中查找相應端口的資訊。

<b>2、httpd.conf配置檔案</b>

Apache的配置檔案是/etc/httpd/conf/httpd.conf,伺服器的配置資訊全部存儲在這個檔案中,如果修改了配置檔案,就必須重新開機httpd服務才可以生效。

httpd.conf檔案中的内容非常多,用wc指令統計一共有1004行,其中大部分是以#開頭的注釋行。是以對httpd.conf的配置一般采用搜尋的方式對常用項目進行設定,在vim指令模式下輸入“/”,後面跟上要搜尋的内容。

<a target="_blank" href="http://blog.51cto.com/attachment/201211/184202137.jpg"></a>

下面是配置檔案中的一些比較重要的設定項目。

   apache的預設主目錄

DocumentRoot "/var/www/html"

如果更改了主目錄的位置(不是在/var/www目錄下),需要用“setenforce 0”指令将SELinux關閉,是以主目錄一般不建議更改。

   apache的預設首頁

DirectoryIndex index.html index.html.var

    預設偵聽的端口

Listen 80           

   用戶端在通路Apache伺服器時預設使用的使用者apache群組apache

User apache

Group apache

   從ftp://192.168.0.254/pub/station.html下載下傳檔案,并且将檔案重命名為index.html。

   将檔案拷貝到web伺服器的主目錄下,不能對檔案index.html的内容做任何修改。

   我的電腦的IP為192.168.0.114,域名server14.example.com與IP的對應關系已經在DNS伺服器中建立好了。

操作步驟:

首先從伺服器下載下傳檔案:

[root@server14 ~]# wget ftp://192.168.0.254/pub/station.html

将檔案改名并移動到主目錄中:

[root@server14 ~]# mv station.html /var/www/html/index.html

打開浏覽器,輸入網址http://server14.example.com,可以正常通路頁面,操作完成。

<b>3、建構虛拟主機</b>

虛拟主機指的是在同一台伺服器中運作多個Web站點。

有三種技術可以實作虛拟主機。

基于域名的虛拟主機:為每個虛拟主機使用不同的域名,但是其對應的IP位址是相同的。例如,www.example.com和www.accp.com站點的IP位址都是192.168.0.1。這是使用最為普遍的虛拟主機類型。

基于IP位址的虛拟主機:為每個虛拟主機使用不同的域名,且各自對應的IP位址也不相同。這種方式需要為伺服器配備多個網絡接口,是以應用并不是非常廣泛

基于端口的虛拟主機:這種方式并不使用域名、IP位址來區分不同的站點内容,而是使用了不同的TCP端口号,是以使用者在浏覽不同的虛拟站點時需要同時指定端口号才能通路。此種方式也很少使用。

在RHCE考試中隻考察基于域名的虛拟主機。

  設定主目錄為/var/www/virtual

  将檔案index.html放到虛拟主機的主目錄下,不要對檔案的内容做任何更改。

  確定harry使用者能夠在/var/www/virtual目錄下建立檔案。

同樣的,www14.example.com與IP的對應關系已在DNS伺服器中設定好了。

首先建立虛拟主機的主目錄:

# mkdir /var/www/virtual

從伺服器下載下傳檔案:

[root@server14 ~]# wget ftp://192.168.0.254/pub/www.html

[root@server14 ~]# mv www.html /var/www/virtual/index.html

修改配置檔案httpd.conf:

[root@server14 ~]# vim /etc/httpd/conf/httpd.conf

按G将光标移動到檔案末尾,增加如下内容:

NameVirtualHost 192.168.0.114

&lt;VirtualHost 192.168.0.114&gt;

    DocumentRoot /var/www/virtual/

    ServerName www14.example.com

&lt;/VirtualHost&gt;

在末行模式下按wq儲存退出。

這些增加的内容的含義:

    NameVirtualHost 192.168.0.114

表示在192.168.0.114這台主機上啟用虛拟主機功能。

    &lt;VirtualHost 192.168.0.114&gt;……&lt;/VirtualHost&gt;

這是虛拟主機的标準格式,每增加一台虛拟主機就要添加這樣一個段落。

     DocumentRoot /var/www/virtual/

指定虛拟主機的主目錄。

     ServerName www14.example.com

指定虛拟主機的域名。

最後将httpd服務重新開機後生效。

# service httpd restart

打開浏覽器,在位址欄中輸入http://www14.example.com/,就可以通路虛拟主機站點了。

<b>4、通路控制</b>

對Apache網站的通路控制可以采用基于使用者的通路控制,或是基于客戶機位址的通路控制兩種方式。

(1)基于使用者的通路控制

注意,此使用者與系統使用者沒有任何關系。

例題3:設定網站server14.example.com下面的private子目錄需要通過使用者身份驗證才能通路,隻有輸入使用者名harry或natasha以及相應的密碼才能通路。

首先建立子目錄:

# mkdir /var/www/html/private

然後在子目錄中建立網頁:

# vim /var/www/html/private/index.html

下面修改配置檔案httpd.conf,在檔案末尾增加下面的部分:

    DocumentRoot /var/www/html/

    ServerName server14.example.com

&lt;Directory /var/www/html/private&gt;

    AuthName "test"

    AuthType Basic

    AuthUserFile /etc/httpd/conf/.htpasswd

    require valid-user

&lt;/Directory&gt;

其中的設定項目的含義:

    &lt;Directory /var/www/html/private&gt;……&lt;/Directory&gt;,表示對目錄“/var/www/html/private”進行通路控制設定。

     AuthName:定義受保護的領域名稱,将在彈出的認證登陸對話框中顯示。

     AuthType:設定認證的類型,Basic為基本認證

     AuthUserFile:設定用于儲存使用者帳号、密碼的認證檔案路徑。(可以自由定義)

     require valid-user:授權給認證檔案中的所有有效使用者

最後這一項也可以寫成“Require User [使用者名]”,指定一個使用者名,這樣無論認證檔案中如何定義,隻有該使用者可以通路。

設定完成後,儲存退出httpd.conf。

接下來建立存儲認證使用者賬号及密碼的檔案:

# htpasswd –cm /etc/httpd/conf/.htpasswd harry

-c,建立檔案   -m,MD5加密

如果要再加入别的使用者,需要去掉-c選項

# htpasswd –m /etc/httpd/conf/.htpasswd natasha

重新開機httpd服務,配置完成:

(2)基于客戶機位址的通路控制

考試時隻考察這種方式,這種方式相對比較簡單。

例題4:設定網站server14.example.com下面的private子目錄隻允許在本機通路(本機IP:192.168.0.114)。

修改配置檔案,增加下面的部分:

# vim /etc/httpd/conf/httpd.conf

   Order allow,deny

   Allow from 192.168.0.114

     Order allow,deny   定義控制順序,先允許後拒絕,預設拒絕所有。

     Allow from 192.168.0.114 設定允許通路的位址,位址可以是多個,如Allow from 192.168.0.114 192.168.0.115。再如

Allow from 192.168.0.0/24

Deny from 192.168.0.100

表示隻允許192.168.0.0/24網段中的主機通路網站,192.168.0.100除外。

重新開機httpd服務生效:

此時隻有IP為192.168.0.114的主機(也就是本機)能通路這個網站。

<b>5、實作https安全通路</b>

實作https通路,首先需要為web站點申請證書,由于還沒有搭建CA伺服器,這裡就使用本機自認證的證書。

apache預設并不支援安全通路功能,是以需要為apache安裝ssl子產品:

# yum install mod_ssl

另外,https不支援虛拟主機技術,在一台伺服器上隻允許有一個啟用該功能的網站。是以這裡還要把之前配置的虛拟主機的相關行前面加“#”,将之全部注釋掉。

做完上面的設定後,在客戶機就可以使用https方式通路網站了。

<b>6、建構LAMP平台</b>

LAMP即Linux、Apache、MySQL、PHP,使用它們可以建構出目前最為成熟的一種企業網站應用模式,可提供動态Web站點應用及開發環境。

首先在系統中安裝mysql和php:

# yum install httpd mysql mysql-server php php-mysql

在網站主目錄中生成一個php的測試網頁:

# vim /var/www/html/a.php

&lt;?php

phpinfo();

?&gt;

儲存退出。

然後在浏覽器中輸入server14.example.com/a.php就可以打開PHP的資訊頁面。

例題5:利用LAMP搭建一個bbs論壇。

這裡用到的論壇程式是Discuz!,首先從伺服器裡下載下傳Discuz!的壓縮檔案包Discuz_X2.5_SC_UTF8.zip,将之解壓到網站主目錄中:

# cd /var/www/html

# uzip Discuz_X2.5_SC_UTF8.zip

解壓後會生成一個名為upload的目錄,這是bbs的主目錄,将之改名為bbs:

# mv upload bbs

重新開機資料庫:

# service mysqld start

指定資料庫的管理者及密碼(注意,此root并不是Linux系統的根使用者root)

# mysqladmin –u root password “123”

重新開機httpd服務:

在浏覽器中輸入“server14.example.com/bbs”,打開論壇的設定界面:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/191901526.jpg"></a>

檢查安裝環境,要保證所有項目都是綠勾:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/192252378.jpg"></a>

安裝資料庫,并設定管理者賬戶admin及密碼:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/192314814.jpg"></a>

安裝完成後,關閉浏覽器,再次打開浏覽器,在位址欄中輸入“server14.example.com/bbs”,就可以正常打開論壇的首頁,輸入使用者名admin及密碼登入:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/192410279.jpg"></a>

進入“管理中心”,在“論壇”頁籤中可以對論壇中的版塊進行設定:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/192440713.png"></a>

傳回首頁,就可以看到我們搭建好的論壇了:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/192505178.png"></a>

 本文轉自 yttitan 51CTO部落格,原文連結:http://blog.51cto.com/yttitan/1071201

<b></b>

<b> </b>