Apache配置技巧 |
 |
時間:2005-04-27 作者:不詳 來源:不詳 |
 |
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網(wǎng)頁中的圖標文件 /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方式下監(jiān)聽的端口號 User nobody 進程運行的屬主 Group nobody 進程運行的屬組 ServerAdmin admin@localhost 管理員信箱 ServerRoot "/home/httpd/" 服務器文件位置 ServerName httpserver 服務器名稱 Timeout 300 設置服務器和客戶端的連接超時時間 MaxClient 300 允許同時連接的客戶數(shù) 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:可以執(zhí)行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 -網(wǎng)絡號碼/子網(wǎng)掩碼:192.168.0.0/255.255.255.0 -網(wǎng)絡號碼/nnn:192.168.0.0/24 deny指令 對于一個目錄來說,allow指令設置禁止哪些主機訪問 -all:所有主機 -域名:eloo.com -一個完整IP:192.168.0.1 -網(wǎng)絡號碼/子網(wǎng)掩碼:192.168.0.0/255.255.255.0 -網(wǎng)絡號碼/nnn:192.168.0.0/24 5.Apache服務器的用戶認證 功能:只有合法的賬號名和密碼才能訪問到指定目錄的內(nèi)容 1.建立用戶數(shù)據(jù)庫 格式:lpeng:BQ5DFS3%#$% 一般放在DocumentRoot以外的地方 #htpasswd -bc /etc/httpd/users user1 1234 2.使用用戶數(shù)據(jù)庫 在要保護的目錄中建立".htaccess"文件 Ex: AuthName "會員區(qū)" AuthType Basic AuthUserFile /etc/httpd/users require valid-user(requrie user <username1> 注意:也可以建立一個用戶組文件,然后在這里指定用戶組 vi /etc/httpd/groups teacher:jacky lpeng Ex: AuthName "會員區(qū)" AuthType Basic AuthGroupFile /etc/httpd/users require group <group1> 另一種情況: Ex: AuthName "會員區(qū)" AuthType Basic AuthGroupFile /etc/httpd/users require group <group1> Allow from Deny from satisfy all //同時使用兩種,都滿足才可 satisfy any //符合一種即可
使用php+mysql數(shù)據(jù)庫來實現(xiàn)用戶認證 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目錄下的內(nèi)容 |
|
|