2-20-使用apache搭建web網站


本節所講內容:
•      apache服務器常見概念
•      apache服務器安裝及相關配置文件
•      實戰:
例1:為公司內網搭建一個web服務器
例2:取消apache默認歡迎頁:
例3: 使用rpm搭建lamp 環境
例3:修改網根目錄及對應參數,設置訪問權限
例4, 使用別名,引用網站根目錄以外的路徑。
例6: 打開軟鏈接功能。 通過軟件鏈接直接引用網站根目錄以外的內容
例5,當一個目錄下沒有默認首頁時,訪問http://192.168.1.63/phpmyadmin/禁止顯示目錄列表
例7:通過用戶認證的方式,對網站下/usr/local/phpmyadmin/目錄進行保護。
 
學習一個服務的過程:
 
1、 此服務器的概述:名字,功能,特點,端口號
2、 安裝
3、 配置文件的位置
4、 服務啟動關閉腳本,查看端口
5、 此服務的使用方法
6、 修改配置文件,實戰舉例
7、 排錯(從下到上,從內到外)

 

apache 服務端:xuegod63.cn   IP:192.168.1.63

 

web 服務概述:
WEB 服務器也稱為WWW(WORLD WIDE WEB,萬維網)服務器,主要功能是提供網上信息瀏覽服務。
常風web服務器(web):
httpd (apache)、nginx
tomcat
win: IIS

 

客戶端:IE、firefox、chrome
  
 
apache 概述:
Apache HTTP   Server (簡稱Apache)是Apache軟件基金會的一個開放源碼的網頁服務器,可以在大多數計算機操作系統中運行,由於其多平台和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠並且可通過簡單的API擴展,將Perl/Python等解釋器編譯到服務器中。

 

  安裝服務器端:httpd


 

[root@xuegod63 ~]# yum -yinstall httpd
httpd-2.2.3-11.el5.i386.rpm  :Apache 服務的主程序包,服務器端必須安裝該軟件包
httpd-devel-2.2.3-11.el5.i386.rpm  :Apache 開發程序包
httpd-manual-2.2.3-11.el5.i386.rpm  :Apache 手冊文檔,包含HTML 格式的Apache 計划的

 

Apache User's Guide 說明指南

 

注: httpd-devel-2.2.3-11.el5.i386.rpm 包要解決以下兩個依賴關系:
apr-devel-1.2.7-11.i386.rpm
apr-util-devel-1.2.7-6.i386.rpm

 

 
安裝字符界面的下瀏覽器客戶端: elinks
[root@xuegod63 ~]# yum -yinstall elinks
或者使用rpm命令手動安裝以下2個軟件包
nss_compat_ossl-0.9.6-1.el6.x86_64
elinks-0.12-0.21.pre5.el6_3.x86_64

 

 使用方法:
[root@xuegod63 ~]# elinkswww.baidu.com
[root@xuegod63 ~]# elinks192.168.1.63

  

配置文件
[root@xuegod63 ~]# ls/etc/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf

 啟動服務

[root@xuegod63 ~]#service httpd restart
停止 httpd:                                              [確定]
正在啟動httpd:                                           [確定]

  

查看端口監聽狀態
[root@xuegod63 ~]#netstat -antpu | grep 80
tcp        0     0 192.168.1.63:51905         23.62.109.73:80            ESTABLISHED 2727/clock-applet
tcp        0     0 :::80                      :::*                        LISTEN      2966/httpd
udp        0     0 fe80::20c:29ff:fee0:19a9:123 :::*                                    1988/ntpd

  

修改配置文件,實戰舉例
例1:  搭建一台測試web服務器
案例:
部門內部搭建一台WEB服務器,采用的IP地址和端口為192.168.1.63:80,首頁采用index.html
文件。管理員E-mail地址為  xuegod@xuegod.cn ,網頁的編碼類型采用UTF-8,所有網站資源都存放在/var/www/html目錄下,並將Apache的配置文件根目錄設置為/etc/httpd目錄。

 

  安裝服務器:
[root@xuegod63 ~]# yum -yinstall httpd    剛才已安裝不在重復安裝
 
[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf

 

修改配置文件相關參數:
[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf   # 以下參數需要我們掌握
57 ServerRoot "/etc/httpd"#apache 配置文件的根目錄
70 Timeout 60  # 超時時間,接收和發送前超時秒數
136 Listen 80        # 監聽的端口
262 ServerAdmin root@localhost  # 設置管理員,e-mail 地址
277 ServerName 192.168.1.163:80   # 服務器主機名.

293 DocumentRoot "/var/www/html"   # 網站頁面根目錄

 

 Options Indexes FollowSymLinks #當一個目錄沒有默認首頁時,允許顯示此目錄列表
禁止 Apache 顯示目錄結構列表,只需將 Option 中的 Indexes 去掉即可


 

403 DirectoryIndex index.html index.html.var# 指定默認首頁


編碼:

AddDefaultCharset UTF-8  #  設置服務器的默認編碼為:UTF-8

 

 例2:取消apache默認歡迎頁:
[root@xuegod63 ~]# vim/etc/httpd/conf.d/welcome.conf
#
# This configuration fileenables the default "Welcome"
# page if there is nodefault index page present for
# the root URL.  To disable the Welcome page, comment
# out all the linesbelow.
#
#<LocationMatch"^/+$">                             # 把紅色內容進行注釋
#    Options -Indexes
#    ErrorDocument 403 /error/noindex.html
#</LocationMatch>

 

重啟:
[root@xuegod63 ~]#service httpd restart

 

 創建首頁文件
[root@xuegod63 ~]# echo'welcome to www.xuegod.cn'  >/var/www/html/index.html 注:selinux 關閉 getenforce查看

 

 

 

例3: 使用rpm搭建lamp 環境
LAMP = linux+apache+mysql 數據庫+php
 
[root@xuegod63 ~]# yum -yinstall httpd mysql-server php php-mysql

  

測試數據庫
[root@xuegod63 ~]# servicemysqld start
[root@xuegod63 ~]#chkconfig mysqld on
[root@xuegod63 ~]# mysql  
mysql> show databases;
mysql>exit;
 
[root@xuegod63 ~]# cd/var/www/html/
[root@xuegod63 html]# vimindex.php
<?php
        phpinfo();
?>

 

 重啟apache服務
[root@xuegod63 html]#service httpd restart


 

MaxClients       256 # 設置客戶端最大連接數為 256

 

  例4:修改網站根目錄及對應參數,設置訪問權限
例:
設置文檔目錄為/var/www/html/bbs


 

 
目錄與訪問控制:
<Directory "/var/www/html/bbs">  # 子目錄會繼承這個目錄的屬性
    Options  FollowSymLinks       #Options:Indexes: 目錄瀏覽 #Followsymlinks:可以用連接
    AllowOverrideNone                   # 不允許任何Override
    Orderallow,deny
     Allow from192.168.1.0/24                     # 從哪里來的允許  
Deny from 192.168.1.0/24                      #從哪里來的拒絕
Allow from  .baidu.com
#Allow,Deny 都會讀取,如果有沖突和未說明的時候按照Order選項逗號后面的那個為准。
誰寫到后面,誰的優先級高。
</Directory>
配置完重啟apache服務
如果報錯檢查目錄是否已創建?

  

測試:
service httpd restart  # 拒絕


 

例5, 使用別名功能,引用網站根目錄以外的路徑。
將/usr/local/phpmyadmin 目錄通過虛擬目錄功能添加到網站根目錄。當訪問http://192.168.1.63/phpmyadmin/ 時,就可以訪問目錄/usr/local/phpmyadmin中的內容。
注:apache的別名也叫虛擬目錄
語法:
Alias  URL 路徑   PATH物理路徑

 

創建測試目錄和數據
[root@xuegod63 ~]# mkdir/usr/local/phpmyadmin
[root@xuegod63 ~]# cp -r/boot/grub/ /usr/local/phpmyadmin/
[root@xuegod63 ~]# echo"test1"  >/usr/local/phpmyadmin/a.html

  

修改配置文件
[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf


 

Alias /phpmyadmin"/usr/local/phpmyadmin/"
 
<Directory"/usr/local/phpmyadmin/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

 

注:Alias/phpmyadmin/ "/usr/local/phpmyadmin/"     #/phpmyadmin/ 可以隨意起。比如改/phpmyadmin/ 為/php/  則訪問鏈接: http://192.168.1.63/php/
 
例5,當一個目錄下沒有默認首頁時,訪問http://192.168.1.63/phpmyadmin/禁止顯示目錄列表
修改配置文件:
[root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf  #  修改紅色標記內容
Alias /phpmyadmin/ "/usr/local/phpmyadmin/"
<Directory "/usr/local/phpmyadmin/">
    Options -Indexes FollowSymLinks   # 在Indexes 前加-減號,此目錄下沒有默認首頁時,禁止顯示目錄
    AllowOverrideNone
    Orderdeny,allow
    Allow from all
</Directory>

  

例6: 打開軟鏈接功能。通過軟件鏈接直接引用網站根目錄以外的內容
 
root@xuegod63 ~]# mkdir/web2
[root@xuegod63 ~]# echotest1 > /web2/a.html
[root@xuegod63 ~]# ln -s/web2/ /var/www/html/web2
[root@xuegod63 ~]# rm -rf/var/www/html/index.html
[root@xuegod63 ~]# rm -rf/var/www/html/index.php
[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf


 
 

例7:通過用戶認證的方式,對網站下/usr/local/phpmyadmin/目錄進行保護。 設置/usr/local/phpmyadmin/目錄,只能通過用戶名密碼方式訪問。
 
方法一:
Alias /phpmyadmin/ "/usr/local/phpmyadmin/"
<Directory "/usr/local/phpmyadmin/">
    Options IndexesFollowSymLinks
    AllowOverrideNone
    Orderdeny,allow
    Allow from all
    authtype basic          # 基本認證
   authname "MySQL admin software"   
   authuserfile /etc/httpd/conf/passwd.secret    # 密文配置文件路徑
    #require usertom
    #require usertom bob
    require valid-user   # 有效用戶
</Directory>
重啟apache 訪問 http://192.168.1.63/phpmyadmin驗證

  

生成認證賬號和密碼
[root@xuegod63 ~]#htpasswd -cm /etc/httpd/conf/passwd.secret man
New password:
Re-type new password:
Adding password for user man

 

驗證:


方法二:

[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf
<Directory"/usr/local/phpmyadmin/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    AllowOverride AuthConfig
</Directory>
# AllowOverride AuthConfig一行表示允許對/usr/local/phpmyadmin/目錄下的文件進行用戶認證。
[root@xuegod63 ~]# vim/usr/local/phpmyadmin/.htaccess
authtype basic
authname "MySQL admin software by .htaccess"
authuserfile /etc/httpd/conf/passwd.secret
#require user tom
require valid-user

 

例8 ,配置apache虛擬主機,實現在一台服務器上運行多個網站
apache 虛擬主機實現有三種方法:
1 、通過不同的IP地址
2 、通過不同的域名
3 、通過不同的端口號

 

[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf
改:
#NameVirtualHost*:80
為:
NameVirtualHost*:80

 

 方法1:通過不同的IP地址,解析不同的域名
給服務器增加IP(另一個域名解析)
[root@xuegod63 ~]# ifconfigeth0:1 192.168.1.65
[root@xuegod63 ~]# mkdir/var/www/html/bbs
[root@xuegod63 ~]# echo"bbs.xuegod.cn"  >/var/www/html/bbs/index.html
[root@xuegod63 ~]# echo"www.xuegod.cn" > /var/www/html/index.html

  

修改httpd.conf
[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf
<VirtualHost192.168.1.63:80>
    ServerAdmin root@xuegod.cn
    DocumentRoot /var/www/html/
    ServerName www.xuegod.cn
    ErrorLog logs/www.xuegod.cn-error_log
    CustomLog logs/www.xuegod.cn-access_logcommon
</VirtualHost>
<VirtualHost 192.168.1.65:80>
    ServerAdmin root@xuegod.cn
    DocumentRoot /var/www/html/bbs/
    ServerName bbs.xuegod.cn
    ErrorLog logs/bbs.xuegod.cn-error_log
    CustomLog logs/bbs.xuegod.cn-access_logcommon
</VirtualHost>

 

重啟服務
service httpd restart
測試:
http ://192.168.1.63
http ://192.168.1.64


 

方法2:通過不同的域名配置虛擬主機
#vim httpd.conf
改:#NameVirtualHost *:80
NameVirtualHost192.168.1.63

  

方法2:通過不同的域名配置虛擬主機
#vim httpd.conf
改:#NameVirtualHost *:80
NameVirtualHost192.168.1.63
 
<VirtualHostwww.xuegod63.cn>
    ServerAdmin root@xuegod.cn
    DocumentRoot /var/www/html/
    ServerName www.xuegod.cn
    ErrorLog logs/www.xuegod.cn-error_log
    CustomLog logs/www.xuegod.cn-access_logcommon
</VirtualHost>
<VirtualHostbbs.xuegod63.cn>
    ServerAdmin root@xuegod.cn
    DocumentRoot /var/www/html/bbs/
    ServerName bbs.xuegod.cn
    ErrorLog logs/bbs.xuegod.cn-error_log
    CustomLog logs/bbs.xuegod.cn-access_logcommon
</VirtualHost>

 

 重啟服務
service   httpd restart

 

 
修改電腦hosts文件C:\Windows\System32\drivers\etc\hosts作解析:
192.168.1.63    www.xuegod63.cn
192.168.1.63    bbs.xuegod63.cn

 

方法3:通過不同的端口配置虛擬主機
[root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf   
改:
Listen   80  
為:
Listen 80
Listen 8080
# 更改為你要添加的端口

 

再創建2個虛擬主機
<VirtualHost *:80>
    ServerAdmin root@xuegod.cn
    DocumentRoot /var/www/html/
    ServerName www.xuegod.cn
    ErrorLog logs/www.xuegod.cn-error_log
    CustomLog logs/www.xuegod.cn-access_logcommon
</VirtualHost>
<VirtualHost *:8080>
    ServerAdmin root@xuegod.cn
    DocumentRoot /var/www/html/bbs/
    ServerName bbs.xuegod.cn
    ErrorLog logs/bbs.xuegod.cn-error_log
    CustomLog logs/bbs.xuegod.cn-access_logcommon
</VirtualHost>

  

重啟服務
service  httpd restart

 

驗證:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM