Llinux-apache安裝

來源:互聯網
上載者:User

標籤:des   c   tar   http   a   color   

第四章  構建LAMP網站服務平台

實驗報告

1、安裝apache伺服器軟體及相關組件

查看系統中是否安裝apache服務相關的軟體包:

[[email protected] /]# rpm -qa | grep httpd

 

----------------------------------------------------------------

httpd-2.2.3-31.el5               apache伺服器程式軟體包

httpd-manual-2.2.3-31.el5     apache伺服器協助手冊文檔

----------------------------------------------------------------

只需要包含這2個軟體包即可!

2、查看安裝的目錄和檔案

[[email protected] /]# rpm -ql httpd

 

 

[[email protected] /]# rpm -ql httpd-manual

 

 

與apache伺服器相關的主要目錄和檔案如下:

----------------------------------------------------------------

/etc/httpd                     apache伺服器程式的根目錄

/etc/httpd/conf/httpd.conf   apache伺服器主設定檔

/etc/httpd/conf.d              apache伺服器其他功能模組的設定檔存放目錄,如mysql、php、ssl、perl等的設定檔

/var/www/html         網頁文檔的預設根目錄

/etc/init.d/httpd       apache伺服器的指令碼控制檔案

/usr/sbin/httpd        apache伺服器的主要執行程式

/var/log/httpd/access_log   訪問記錄檔

/var/log/httpd/error_log    錯誤記錄檔檔案

/usr/sbin/apachectl      apache伺服器的指令碼控制檔案

/usr/bin/ab          apache內建的一個壓力測試工具(apache基準測試載入器)

/usr/bin/htpasswd              產生身分識別驗證使用者的密碼檔案

/usr/lib/httpd/modules         apache伺服器的模組存放目錄

/var/log/httpd                 存放apache的記錄檔

----------------------------------------------------------------

3、預設情況下主設定檔做必要的修改即可構建基本可用的web伺服器

#####分割線 構建基本可用的web伺服器####

基本步驟:

(1) 修改主設定檔httpd.conf

去掉注釋:#ServerName www.example.com:80

修改為:ServerName www.benet.com:80

需要有DNS伺服器的支援,首先搭建DNS伺服器

 

 

 

 

 

(2) 檢查主設定檔httpd.conf是否存在語法錯誤

方法一:apachectl -t

方法二:httpd –t

 

(3) 啟動httpd服務

[[email protected] /]# service httpd start

 

(4) 查看httpd服務連接埠是否開啟

[[email protected] /]# netstat -anpt | grep 80

 

(5) 在用戶端通過瀏覽器訪問測試

http://www.benet.com/

 

 

#########分割線 測試web伺服器的效能###########

基本步驟:

(1) 使用ulimit命令修改最大檔案數限制為10000

ulimit -n 10000

 

 

(2) 使用ab命令進行壓力測試

[[email protected] /]# ab -q -c 2000 -n 4000 http://www.benet.com/

 

(3) 查看得到的統計資訊

 

########分割線 構建基於IP/連接埠/網域名稱的虛擬機器主機##########

基本步驟:

********實現基於IP的虛擬機器主機********

(1) 建立虛擬機器主機測試web文檔

假設當前web伺服器有3個虛擬機器主機

虛擬機器主機一 對應主目錄  /var/www/html

虛擬機器主機二 對應主目錄  /var/www/xuni2

虛擬機器主機三 對應主目錄  /var/www/xuni3

[[email protected] /]# cd /var/www

[[email protected] www]# mkdir xuni2 xuni3

 

分別在3個目錄中放置測試web文檔,預設名稱都是index.html

參考web文檔HTML代碼:

<html>

<head>

<title>

~~~~~~~~~~~~~Virtual host~~~~~~~~~~~

</title>

<body bgcolor=blue>

<p align=center>

##############Virtual Host###########

</p>

</body>

</head>

</html>

 

 

(2) 給當前伺服器設定2個虛擬介面,並分配IP地址

[[email protected] /]# ifconfig eth0:0 192.168.100.3 netmask 255.255.255.0

[[email protected] /]# ifconfig eth0:1 192.168.100.4 netmask 255.255.255.0

 

(3) 修改apache主設定檔httpd.conf,配置虛擬機器主機

[[email protected] /]# vi /etc/httpd/conf/httpd.conf

定位到最後一行

<VirtualHost 192.168.100.2:80>

    DocumentRoot /var/www/html

  ServerName host1               //這裡設定虛擬機器主機的主機名稱

</VirtualHost>

<VirtualHost 192.168.100.3:80>

    DocumentRoot /var/www/xuni2

    ServerName host2

</VirtualHost>

<VirtualHost 192.168.100.4:80>

    DocumentRoot /var/www/xuni3

    ServerName host3

</VirtualHost>

 

 

(4) 重新啟動httpd服務,在用戶端通過瀏覽器訪問測試

 

http://192.168.100.2/

http://192.168.100.3/

http://192.168.100.4/

 

 

 

********實現基於連接埠的虛擬機器主機********

(5) 刪除掉剛才添加的2個虛擬介面

[[email protected] /]# ifconfig eth0:0 down

[[email protected] /]# ifconfig eth0:1 down

 

(6) 修改apache主設定檔httpd.conf,配置虛擬機器主機

定位到最後一行

修改listen參數為:

Listen 192.168.100.2:80

listen 192.168.100.2:81

listen 192.168.100.2:82

修改虛擬機器主機參數為:

<VirtualHost 192.168.100.2:80>

    DocumentRoot /var/www/html

    servername host1

</VirtualHost>

<VirtualHost 192.168.100.2:81>

    DocumentRoot /var/www/xuni2

    servername host2

</VirtualHost>

<VirtualHost 192.168.100.2:82>

    DocumentRoot /var/www/xuni3

    servername host3

</VirtualHost>

 

 

(7) 重新啟動httpd服務,在用戶端通過瀏覽器訪問測試

 

http://192.168.100.2/

http://192.168.100.2:81/

http://192.168.100.2:82/

 

 

 

********實現基於網域名稱的虛擬機器主機********

(8) 配置DNS伺服器,建立地區及相應主機名稱

www.benet.com   192.168.100.2

www.accp.com    192.168.100.2

www.btest.com   192.168.100.2

 

 

 

 

 

 

 

 

 

 

配置步驟略

(9) 修改apache主設定檔httpd.conf,配置虛擬機器主機

定位到最後一行

修改listen參數為:

Listen 192.168.100.2:80

修改虛擬機器主機參數為:

Na</VirtualHost>

<VirtualHost 192.168.100.2:80>

    DocumentRoot /var/www/xuni2

    servername www.accp.com

</VirtualHost>

<VirtualHost 192.168.100.2:80>

    DocumentRoot /var/www/xuni3

    servername www.btest.com

</VirtualHost>

 

 

 

(10) 重新啟動httpd服務,在用戶端通過瀏覽器訪問測試

http://www.benet.com/

http://www.accp.com/

http://www.btest.com/

 

 

 

 

##########分割線 建立系統使用者的個人首頁#####################

(1) 修改apache主設定檔httpd.conf,啟用apache個人首頁功能

確認主設定檔中有參數:

LoadModule userdir_module modules/mod_userdir.so

設定參數:

<IfModule mod_userdir.c>

    UserDir public_html

</IfModule>

<Directory /home/*/public_html>

    AllowOverride FileInfo AuthConfig Limit

    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

    <Limit GET POST OPTIONS>

        Order allow,deny

        Allow from all

    </Limit>

    <LimitExcept GET POST OPTIONS>

        Order deny,allow

        Deny from all

    </LimitExcept>

</Directory>

 

 

(2) 建立系統使用者,並建立個人首頁測試檔案

建立測試使用者usera和userb

[[email protected] named]# su - usera

[[email protected] ~]$ mkdir public_html

[[email protected] ~]$ echo "UserA‘s Home Page" > public_html/index.html

[[email protected] ~]$ chmod o+x /home/usera

[[email protected] named]# su - userb

[[email protected] ~]$ mkdir public_html

[[email protected] ~]$ echo "UserB‘s Home Page" > public_html/index.html

[[email protected] ~]$ chmod o+x /home/userb

 

 

 (3) 重新啟動httpd服務

service httpd restart

 

(4) 在用戶端瀏覽器中訪問個人首頁

http://www.benet.com/~usera/

http://www.benet.com/~userb/

 

 

 

 

###########分割線 使用awstats分析web日誌資訊#######

awstats相關目錄和檔案清單:

-----------------------------------------------------------------------

設定檔存放目錄:/etc/awstats

網站設定檔範例:/etc/awstats/awstats.localhost.localdomain.conf

網站設定檔範例:/etc/awstats/awstats.model.conf

主目錄:/usr/share/awstats

語言目錄:/usr/share/awstats/lang

awstats工具目錄:/usr/share/awstats/tools 

預設的awstats根目錄:/usr/share/awstats/wwwroot

/var/lib/awstats

/etc/cron.hourly/awstats

/etc/httpd/conf.d/awstats.conf

------------------------------------------------------------------------

(1) 拷貝awstats的軟體包到當前的web伺服器中

[[email protected] tool]# ls

awstats-6.9.tar.gz

 

(2) 解壓並釋放awstats軟體包,並安裝

[[email protected] tool]# tar zxvf awstats-6.9.tar.gz -C /usr/local    //解壓軟體包到/usr/local目錄下

 

 

[[email protected] local]# mv awstats-6.9/ awstats            //更改軟體包的名稱

 

[[email protected] local]# cd /usr/local/awstats/tools/

[[email protected] tools]# ./awstats_configure.pl             //執行安裝指令碼

 

----設定apache主設定檔httpd.conf的路徑

  /etc/httpd/conf/httpd.conf

 

----建立awstats設定檔

  Y

 

----定義日誌分析的目標網站的名稱

  www.benet.com

 

----定義awstats設定檔的存放目錄(預設為/etc/awstats)

   直接斷行符號

 

----添加cron計劃任務(在這裡提示指令碼無法自動添加,需要使用者手動添加)

  直接斷行符號

----按斷行符號鍵退出安裝指令碼

 

(3) 修改awstats.www.benet.com指令碼

cd /etc/awstats/

vi awstats.www.benet.com.conf

修改:

LogFile="/var/log/httpd/access_log"

 

 

(4) 建立資料庫存放目錄,並更新資料庫

perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update-config=www.benet.com

 

(5) 設定cron計劃任務,以便定時作業記錄剖析器

[[email protected] awstats]# crontab -e

* */3 * * * perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=wwww.benet.com

[[email protected] awstats]# service crond restart

 

 

 

(6) 在網頁瀏覽器中查看分析報告

http://www.benet.com/awstats/awstats.pl?config=www.benet.com

 

每次訪問輸入的URL太長,建立的web頁面來實現跳轉

代碼如下:

 

這樣就可以通過http://www.benet.com/aw.html來訪問了!

 

 

##########分割線 實現apache的存取控制#####

(1) 實現基於使用者的存取控制

查看apache主設定檔httpd.conf,確認已經編譯了基本認證和摘要認證的模組

LoadModule auth_basic_module modules/mod_auth_basic.so

LoadModule auth_digest_module modules/mod_auth_digest.so

 

 

(2) 修改主設定檔httpd.conf,實現對awstats目錄地區的存取控制

<Directory "/usr/local/awstats/wwwroot">

    Options None

    AllowOverride None

    Order allow,deny

    Allow from all

    authname "AWSTATS"

    authtype basic

    authuserfile /etc/httpd/conf/.htpasswd

    require valid-user

</Directory>

 

(3) 建立儲存認證使用者帳號及口令檔案

[[email protected] /]# useradd awuser

[[email protected] /]# htpasswd -c /etc/httpd/conf/.htpasswd awuser

 

(4) 重新啟動httpd服務

service httpd restart

 

(5) 在用戶端登陸測試

錯誤!超連結引用無效。

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.