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