Apache
Apache軟件包的組成
Apache服務器的啟動
Apache服務器的配置
Apache服務器的用戶認證
用戶web目錄
虛擬主機
1.Apache簡介
? ? ? ? WWW(World Wide Web)
? ? ? ? HTTP(HyperText Transfer Protocol)
? ? ? ? 交互式訪問
? ? ? ? 模塊化
2.Apache軟件包的組成
? ? ? ? /etc/httpd/conf/*
? ? ? ? ? ? ? ? 主配置文件位置
? ? ? ? /etc/rc.d/init.d/httpd
? ? ? ? ? ? ? ? 啟動腳本
? ? ? ? /home/httpd/html
? ? ? ? ? ? ? ? html文檔的主目錄
? ? ? ? /home/httpd/html/manual/*
? ? ? ? ? ? ? ? html格式的幫助文檔
? ? ? ? /home/httpd/icons/*
? ? ? ? ? ? ? ? 用在html網頁中的圖標文件
? ? ? ? /usr/sbin/*
? ? ? ? ? ? ? ? -/usr/sbin/htpasswd
? ? ? ? ? ? ? ? ? ? ? ? 建立和更新apache用戶的程序
? ? ? ? ? ? ? ? -/usr/sbin/httpd
? ? ? ? ? ? ? ? ? ? ? ? http服務器程序
? ? ? ? /var/log/httpd/*
? ? ? ? ? ? ? ? 日志文件
3.Apache服務器的啟動? ? ? ?
? ? ? ? /etc/rc.d/init.d/httpd start(reload/restart/stop)
? ? ? ???使其自動運行
? ? ? ? ntsysv
4.Apache服務器的配置
? ? ? ? 1.配置文件
? ? ? ? ? ? ? ? httpd.conf srm.conf access.conf
? ? ? ? 2.httpd.conf
? ? ? ? ? ? ? ? ServerType standlone/inetd
? ? ? ? ? ? ? ? 服務器的運行方式
? ? ? ? ? ? ? ? Port 80
? ? ? ? ? ? ? ? 在standlone方式下監聽的端口號
? ? ? ? ? ? ? ? User nobody
? ? ? ? ? ? ? ? 進程運行的屬主
? ? ? ? ? ? ? ? Group nobody
? ? ? ? ? ? ? ? 進程運行的屬組
? ? ? ? ? ? ? ? ServerAdmin admin@localhost
? ? ? ? ? ? ? ? 管理員信箱
? ? ? ? ? ? ? ? ServerRoot "/home/httpd/"
? ? ? ? ? ? ? ? 服務器文件位置
? ? ? ? ? ? ? ? ServerName httpserver
? ? ? ? ? ? ? ? 服務器名稱
? ? ? ? ? ? ? ? Timeout 300
? ? ? ? ? ? ? ? 設置服務器和客戶端的連接超時時間
? ? ? ? ? ? ? ? MaxClient 300
? ? ? ? ? ? ? ? 允許同時連接的客戶數
? ? ? ? ? ? ? ? ProxyRequests on
? ? ? ? ? ? ? ? 允許充當proxy
? ? ? ? ? ? ? ? DocumentRoot "/home/httpd/html"
? ? ? ? ? ? ? ? 提供服務器文檔服務的根目錄
? ? ? ? ? ? ? ? UserDir public_html
? ? ? ? ? ? ? ? 服務器上用戶自己主頁所在目錄
? ? ? ? ? ? ? ? DirectoryIndex index.html
? ? ? ? ? ? ? ? 目錄索引文件
? ? ? ? ? ? ? ? AccessFileName .htaccess
? ? ? ? ? ? ? ? 在每個目錄中包含訪問控制信息的文件名
? ? ? ? ? ? ? ? Alias /icons/ "/home/user/icons/"
? ? ? ? ? ? ? ? 為不在DocumentRoot之下的文檔建立別名
? ? ? ? ? ? ? ? <VirtualHost></VirtualHost>
? ? ? ? ? ? ? ? <Directory></Directory>
? ? ? ? 3.目錄訪問權限控制
? ? ? ? ? ? ? ? ----
? ? ? ? ? ? ? ? 通過修改httpd.conf文件中的Directory項來設置
? ? ? ? ? ? ? ? Ex:
? ? ? ? ? ? ? ? <Directory "/home/httpd/html/aa">
? ? ? ? ? ? ? ? ? ? ? ? Options Indexes
? ? ? ? ? ? ? ? ? ? ? ? AllowOverride None
? ? ? ? ? ? ? ? ? ? ? ? order allow,deny
? ? ? ? ? ? ? ? ? ? ? ? allow from all
? ? ? ? ? ? ? ? </Directory>
? ? ? ? ? ? ? ? Options指令
? ? ? ? ? ? ? ? ? ? ? ? --控制一個目錄的訪問特性
? ? ? ? ? ? ? ? ? ? ? ? -None:
? ? ? ? ? ? ? ? ? ? ? ? -All:
? ? ? ? ? ? ? ? ? ? ? ? -ExecCGI:可以執行cgi腳本
? ? ? ? ? ? ? ?? ?? ? ? ? -Indexes:訪問一個無索引文件的目錄時,返回一個文件? ? ? ? ? ? ? ? ? ? ? ?? ?列表
? ? ? ? ? ? ? ? AllowOverride指令
? ? ? ? ? ? ? ? ? ? ? ? --".htaccess"文件中哪些設置允許覆蓋先前的設置
? ? ? ? ? ? ? ? ? ? ? ? -None:不讀取.htaccess
? ? ? ? ? ? ? ? ? ? ? ? -Limit:覆蓋控制主機訪問的指令(allow,deny)
? ? ? ? ? ? ? ? ? ? ? ? -AuthConfig:允許覆蓋跟認證有關指令? ? ? ? ? ? ? ? ? ? ? ? (AuthType,AuthName)
? ? ? ? ? ? ? ? order指令
? ? ? ? ? ? ? ? ? ? ? ? 控制處理allow和deny指令的順序
? ? ? ? ? ? ? ? ? ? ? ? Ex:
? ? ? ? ? ? ? ? ? ? ? ? order allow,deny
? ? ? ? ? ? ? ? ? ? ? ? deny from all
? ? ? ? ? ? ? ? ? ? ? ? allow from host11
? ? ? ? ? ? ? ? allow指令
? ? ? ? ? ? ? ? ? ? ? ? 對于一個目錄來說,allow指令設置允許哪些主機訪問
? ? ? ? ? ? ? ? ? ? ? ? -all:所有主機
? ? ? ? ? ? ? ? ? ? ? ? -域名:eloo.com
? ? ? ? ? ? ? ? ? ? ? ? -一個完整IP:192.168.0.1
? ? ? ? ? ? ? ? ? ? ? ? -網絡號碼/子網掩碼:192.168.0.0/255.255.255.0
? ? ? ? ? ? ? ? ? ? ? ? -網絡號碼/nnn:192.168.0.0/24
? ? ? ? ? ? ? ? deny指令
? ? ? ? ? ? ? ? ? ? ? ? 對于一個目錄來說,allow指令設置禁止哪些主機訪問
? ? ? ? ? ? ? ? ? ? ? ? -all:所有主機
? ? ? ? ? ? ? ? ? ? ? ? -域名:eloo.com
? ? ? ? ? ? ? ? ? ? ? ? -一個完整IP:192.168.0.1
? ? ? ? ? ? ? ? ? ? ? ? -網絡號碼/子網掩碼:192.168.0.0/255.255.255.0
? ? ? ? ? ? ? ? ? ? ? ? -網絡號碼/nnn:192.168.0.0/24
? ? ? ? ? ? ? ? ? ? ? ???
5.Apache服務器的用戶認證
? ? ? ? ? ? ? ? 功能:只有合法的帳號名和密碼才能訪問到指定目錄的內容
? ? ? ? ? ? ? ? 1.建立用戶數據庫
? ? ? ? ? ? ? ?? ?格式:lpeng:BQ5DFS3%#$%
? ? ? ? ? ? ? ? ? ? ? ? 一般放在DocumentRoot以外的地方
? ? ? ? ? ? ? ? ? ? ? ? #htpasswd -bc /etc/httpd/users user1 1234
? ? ? ? ? ? ? ? 2.使用用戶數據庫
? ? ? ? ? ? ? ? ? ? ? ? 在要保護的目錄中建立".htaccess"文件
? ? ? ? ? ? ? ? ? ? ? ? Ex:
? ? ? ? ? ? ? ? ? ? ? ? AuthName "會員區"
? ? ? ? ? ? ? ? ? ? ? ? AuthType Basic
? ? ? ? ? ? ? ? ? ? ? ? AuthUserFile /etc/httpd/users
? ? ? ? ? ? ? ? ? ? ? ? require valid-user(requrie user <username1>

? ? ? ? ? ? ? ?? ?注意:也可以建立一個用戶組文件,然后在這里指定用戶組
? ? ? ? ? ? ? ? ? ? ? ? vi /etc/httpd/groups
? ? ? ? ? ? ? ? ? ? ? ? teacher:jacky lpeng
? ? ? ? ? ? ? ? ? ? ? ? Ex:
? ? ? ? ? ? ? ? ? ? ? ? AuthName "會員區"
? ? ? ? ? ? ? ? ? ? ? ? AuthType Basic
? ? ? ? ? ? ? ? ? ? ? ? AuthGroupFile /etc/httpd/users
? ? ? ? ? ? ? ? ? ? ? ? require group <group1>
? ? ? ? ? ? ? ? 另一種情況:
? ? ? ? ? ? ? ? ? ? ? ? Ex:
? ? ? ? ? ? ? ? ? ? ? ? AuthName "會員區"
? ? ? ? ? ? ? ? ? ? ? ? AuthType Basic
? ? ? ? ? ? ? ? ? ? ? ? AuthGroupFile /etc/httpd/users
? ? ? ? ? ? ? ? ? ? ? ? require group <group1>
? ? ? ? ? ? ? ? ? ? ? ? Allow from
? ? ? ? ? ? ? ? ? ? ? ? Deny from
? ? ? ? ? ? ? ? ? ? ? ? satisfy all //同時使用兩種,都滿足才可
? ? ? ? ? ? ? ? ? ? ? ? satisfy any? ? ? ? //符合一種即可
? ? ? ? 使用php+mysql數據庫來實現用戶認證
? ? ? ?
6.用戶Web目錄
? ? ? ? Apache允許主機上的用戶使用特定的目錄存放用戶自己的主頁
? ? ? ?
http://hostname/~username/? ? ? ? 一種方法
? ? ? ? UserDir public_html
? ? ? ? 注意:此目錄必須位于用戶主目錄下
? ? ? ? 另種方法
? ? ? ? UserDir /home/httpd/*/httpd
7.虛擬主機
基于名字的虛擬主機
? ? ? ? <VirtualHost 192.168.103.11>
? ? ? ?? ? ServerAdmin
webmaster@host.some_domain.com
? ?? ?? ???DocumentRoot /home/eloo/a
? ?? ?? ???ServerName a.eloo.com
? ?? ?? ???ErrorLog /home/eloo/logs/host.some_domain.com-error_log
? ?? ?? ???CustomLog /home/eloo/logs/host.some_domain.com-access_log common
? ?? ? </VirtualHost>
? ? ? ?
實驗:
? ? ? ? 1.建立/home/httpd/htmlapachetest目錄,并對其進行權限限制,使用戶aa可以訪問
? ? ? ? 2.設置自己服務器上的個人主頁空間
? ? ? ? 3.設置本機域名mydomain.com
? ? ? ? ? ? ? ? 主目錄為/home/httpd/html
? ? ? ? 再添加一別名為username.mydomain.com
? ? ? ? ? ? ? ? 使其訪問/home/username/html目錄下的內容
大盤預測
國富論
posted on 2008-02-18 10:50
華夢行 閱讀(153)
評論(0) 編輯 收藏