Apache Apache軟件包的組成 Apache服務(wù)器的啟動(dòng) Apache服務(wù)器的配置 Apache服務(wù)器的用戶(hù)認證 用戶(hù)web目錄 虛擬主機 1.Apache簡(jiǎn)介 WWW(World Wide Web) HTTP(HyperText Transfer Protocol) 交互式訪(fǎng)問(wèn) 模塊化 2.Apache軟件包的組成 /etc/httpd/conf/* 主配置文件位置 /etc/rc.d/init.d/httpd 啟動(dòng)腳本 /home/httpd/html html文檔的主目錄 /home/httpd/html/manual/* html格式的幫助文檔 /home/httpd/icons/* 用在html網(wǎng)頁(yè)中的圖標文件 /usr/sbin/* -/usr/sbin/htpasswd 建立和更新apache用戶(hù)的程序 -/usr/sbin/httpd http服務(wù)器程序 /var/log/httpd/* 日志文件 3.Apache服務(wù)器的啟動(dòng) /etc/rc.d/init.d/httpd start(reload/restart/stop) 使其自動(dòng)運行 ntsysv 4.Apache服務(wù)器的配置 1.配置文件 httpd.conf srm.conf access.conf 2.httpd.conf ServerType standlone/inetd 服務(wù)器的運行方式 Port 80 在standlone方式下監聽(tīng)的端口號 User nobody 進(jìn)程運行的屬主 Group nobody 進(jìn)程運行的屬組 ServerAdmin admin@localhost 管理員信箱 ServerRoot "/home/httpd/" 服務(wù)器文件位置 ServerName httpserver 服務(wù)器名稱(chēng) Timeout 300 設置服務(wù)器和客戶(hù)端的連接超時(shí)時(shí)間 MaxClient 300 允許同時(shí)連接的客戶(hù)數 ProxyRequests on 允許充當proxy DocumentRoot "/home/httpd/html" 提供服務(wù)器文檔服務(wù)的根目錄 UserDir public_html 服務(wù)器上用戶(hù)自己主頁(yè)所在目錄 DirectoryIndex index.html 目錄索引文件 AccessFileName .htaccess 在每個(gè)目錄中包含訪(fǎng)問(wèn)控制信息的文件名 Alias /icons/ "/home/user/icons/" 為不在DocumentRoot之下的文檔建立別名 <VirtualHost></VirtualHost> <Directory></Directory> 3.目錄訪(fǎng)問(wèn)權限控制 ---- 通過(guò)修改httpd.conf文件中的Directory項來(lái)設置 Ex: <Directory "/home/httpd/html/aa"> Options Indexes AllowOverride None order allow,deny allow from all </Directory> Options指令 --控制一個(gè)目錄的訪(fǎng)問(wèn)特性 -None: -All: -ExecCGI:可以執行cgi腳本 -Indexes:訪(fǎng)問(wèn)一個(gè)無(wú)索引文件的目錄時(shí),返回一個(gè)文件 列表 AllowOverride指令 --".htaccess"文件中哪些設置允許覆蓋先前的設置 -None:不讀取.htaccess -Limit:覆蓋控制主機訪(fǎng)問(wèn)的指令(allow,deny) -AuthConfig:允許覆蓋跟認證有關(guān)指令 (AuthType,AuthName) order指令 控制處理allow和deny指令的順序 Ex: order allow,deny deny from all allow from host11 allow指令 對于一個(gè)目錄來(lái)說(shuō),allow指令設置允許哪些主機訪(fǎng)問(wèn) -all:所有主機 -域名:eloo.com -一個(gè)完整IP:192.168.0.1 -網(wǎng)絡(luò )號碼/子網(wǎng)掩碼:192.168.0.0/255.255.255.0 -網(wǎng)絡(luò )號碼/nnn:192.168.0.0/24 deny指令 對于一個(gè)目錄來(lái)說(shuō),allow指令設置禁止哪些主機訪(fǎng)問(wèn) -all:所有主機 -域名:eloo.com -一個(gè)完整IP:192.168.0.1 -網(wǎng)絡(luò )號碼/子網(wǎng)掩碼:192.168.0.0/255.255.255.0 -網(wǎng)絡(luò )號碼/nnn:192.168.0.0/24 5.Apache服務(wù)器的用戶(hù)認證 功能:只有合法的賬號名和密碼才能訪(fǎng)問(wèn)到指定目錄的內容 1.建立用戶(hù)數據庫 格式:lpeng:BQ5DFS3%#$% 一般放在DocumentRoot以外的地方 #htpasswd -bc /etc/httpd/users user1 1234 2.使用用戶(hù)數據庫 在要保護的目錄中建立".htaccess"文件 Ex: AuthName "會(huì )員區" AuthType Basic AuthUserFile /etc/httpd/users require valid-user(requrie user <username1> 注意:也可以建立一個(gè)用戶(hù)組文件,然后在這里指定用戶(hù)組 vi /etc/httpd/groups teacher:jacky lpeng Ex: AuthName "會(huì )員區" AuthType Basic AuthGroupFile /etc/httpd/users require group <group1> 另一種情況: Ex: AuthName "會(huì )員區" AuthType Basic AuthGroupFile /etc/httpd/users require group <group1> Allow from Deny from satisfy all //同時(shí)使用兩種,都滿(mǎn)足才可 satisfy any //符合一種即可
使用php+mysql數據庫來(lái)實(shí)現用戶(hù)認證 6.用戶(hù)Web目錄 Apache允許主機上的用戶(hù)使用特定的目錄存放用戶(hù)自己的主頁(yè) http://hostname/~username/ 一種方法 UserDir public_html 注意:此目錄必須位于用戶(hù)主目錄下 另種方法 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>
實(shí)驗: 1.建立/home/httpd/htmlapachetest目錄,并對其進(jìn)行權限限制,使用戶(hù)aa可以訪(fǎng)問(wèn) 2.設置自己服務(wù)器上的個(gè)人主頁(yè)空間 3.設置本機域名mydomain.com 主目錄為/home/httpd/html 再添加一別名為username.mydomain.com 使其訪(fǎng)問(wèn)/home/username/html目錄下的內容 |
|