欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CentOS Apache配置詳解 文字說明

 更新時間:2011年03月22日 22:07:48   作者:  
要想在linux上實現(xiàn)網(wǎng)頁服務(wù)器(www)需要Apache這個服務(wù)器軟件,不過Apache僅能提供最基本的靜態(tài)網(wǎng)站數(shù)據(jù)而已,想要實現(xiàn)動態(tài)網(wǎng)站的話,最好還是要PHP與MySQL的支持,所以下面我們將會以LAMP(linux+Apache+MySQL+PHP)作為安裝與設(shè)置的介紹。

LAMP所需軟件與其結(jié)構(gòu)
httpd mysql mysql-Server php php-devel php-mysql
可以用rpm包安裝,或者直接用yum安裝
#yum install httpd mysql-server php php-devel php-mysql
先來了解一下apache 2.0這個版本的相關(guān)結(jié)構(gòu),這樣才能知道如何處理我們的網(wǎng)頁數(shù)據(jù)
/etc/httpd/conf/httpd.conf:最主要的配置文件,不過很多其他的distribution都將這個文件拆成數(shù)個小文件,分別管理不同的參數(shù)。但是最主要配置文件還是以這個文件名為主。
/etc/httpd/conf.d/*.conf:這個事CentOS的特色之一,如果你不想修改原始配置文件httpd.conf的話,那么可以將你自己的額外參數(shù)獨(dú)立出來,而啟動apache時,這個文件就會被讀入到主要配置文件。
/usr/lib/httpd/modules:apache支持很多的模塊,所以您想要使用的模塊默認(rèn)都放置在此目錄
/var/www/html:這里是CentOS默認(rèn)的“首頁”所在目錄。
/var/www/error:如果因為主機(jī)設(shè)置錯誤,或者是瀏覽器端要求的數(shù)據(jù)錯誤,在瀏覽器上出現(xiàn)的錯誤信息就已這個目錄的默認(rèn)信息為主。
/var/www/icons:提供apache的一些小圖標(biāo)
/var/www/cgi-bin :默認(rèn)給一些可執(zhí)行的CGI程序放置的目錄
/var/log/httpd:默認(rèn)apache的日志文件都放在這里,對于流量大的網(wǎng)站來說,這個目錄要很小心,因為這個文件很容易變的很大,您需要足夠的空間哦
/usr/sbin/apachectl:這是Apache的主要執(zhí)行文件,這個執(zhí)行文件其實是shell script,它可以主動檢測系統(tǒng)上的一些設(shè)置值,好讓您啟動Apache時更簡單
/usr/sbin/httpd:這是主要的apache的二進(jìn)制文件
/usr/bin/htpasswd:當(dāng)您想登陸某些網(wǎng)頁時,需要輸入賬號與密碼。那么Apache本身就提供一個最基本的密碼保護(hù)方式。該密碼的產(chǎn)生就是通過這個命令實現(xiàn)的

至于MySQL方面,您需要知道的幾個重要目錄與文件有以下幾個:
/etc/my.cnf:這是Mysql的配置文件,包括您想要進(jìn)行mysql數(shù)據(jù)庫的最佳化,或者是正對mysql進(jìn)行一些額外的參數(shù)指定,都可以在這個文件里實現(xiàn)
/usr/lib/mysql:這個目錄是MySQL數(shù)據(jù)庫放置的位置,當(dāng)啟動任何MySQL的服務(wù)器時,請務(wù)必記得在備份時,將此目錄完整的備份下來。

另外,在PHP方面,應(yīng)該了解以下幾個文件。
/usr/lib/httpd/modules/libphp4.so:PHP提供給apache使用的模塊,這個關(guān)系我們能否在apache網(wǎng)頁上面設(shè)計php程序語言的最重要文件
/etc/httpd/conf.d/php.conf:你要不要手動將該模塊寫入Httpd.conf中呢?不需要,因為系統(tǒng)已經(jīng)主動將php設(shè)置參數(shù)寫入到這個文件中了,而這個文件會在apache重新啟動時被讀入。
/etc/php.ini:這是PHP的主要配置文件,包括PHP能不能允許用戶上傳文件,能不能允許某些低安全性的標(biāo)志等,都在這個配置文件中設(shè)置。
/etc/php.d/mysql.ini /usr/lib/php4/mysql.so:PHP能否可以支持MySQL接口就看這兩個文件了。這兩個文件是由php-mysql軟件提供的
/usr/bin/phpize /usr/include/php:如果您以后想要安裝類似PHP加速器可以讓瀏覽速度加快的話,那么這個文件與目錄就需要存在,否則加速器軟件沒法用。

httpd.conf的基本設(shè)置
首先,你需要在/etc/hosts內(nèi)需要有個一個完整的主機(jī)名,否則在重啟apache服務(wù)時,會提示找不到完整的主機(jī)名。
httpd.conf的基本設(shè)置是這樣的:
<設(shè)置項目>
      次設(shè)置項目內(nèi)的相關(guān)參數(shù)
      。。。。
</設(shè)置項目>
例如,你想要針對首頁/var/www/html提供額外的功能,那么可以進(jìn)行如下設(shè)置:
<Directory "/var/www/html">
   Options Indexes
   ......
</Directory>

針對主機(jī)環(huán)境的設(shè)置項目
#vi /etc/httpd/conf/httpd.conf
ServerTokens OS
# 這個項目在告訴客戶端WWW服務(wù)器的版本和操作系統(tǒng),不需要改編它
#如果你不想告訴太多的主機(jī)信息,將這個項目的OS改成Minor

ServerRoot "/etc/httpd"
#這個是設(shè)置文件的最頂層目錄,通常使用絕對路徑,下面某些數(shù)據(jù)設(shè)置使用相對路徑時
#就是與這個目錄設(shè)置值有關(guān)的下層目錄,不需要更改它
ServerRoot
設(shè)定Apache 安裝的絕對路徑
TimeOut
設(shè)定 服務(wù)器接收至完成的最長等待時間
KeepAlive
設(shè)定服務(wù)器是否開啟連續(xù)請求功能,真實服務(wù)器一般都要開啟
Port
設(shè)定http服務(wù)的默認(rèn)端口。
User/Group
設(shè)定 服務(wù)器程序的執(zhí)行者與屬組,這個一般是apache

下面我們就針對Apache做幾個實驗
1:我們測試把默認(rèn)網(wǎng)站目錄改到root家目錄下
新建/root/website目錄
#mkdir -p /root/website
#echo "website page" >> /root/website/index.html
#vi /etc/httpd/conf/httpd.conf
找到 DocumentRoot "/var/www/html" 這一段   //apache的根目錄
把/var/www/html 這個目錄改到 /root/website
在找到 <Directory "/var/www/html"> //定義apache /var/www/html這個區(qū)域
把 /var/www/html改成/root/website
這樣我們就把a(bǔ)pahce的默認(rèn)路徑改掉了
然后重啟服務(wù)
#service httpd restart  
//這里在你重啟服務(wù)的時候,可能會報錯,說找不到目錄,這個主要是由于selinux導(dǎo)致的
那怎么解決呢?有2個辦法,關(guān)掉selinux  
#setenforce 0
或者更改/root/website這個文件的selinux屬性,讓它匹配httpd這個服務(wù)器的要求
怎么改?我們可以復(fù)制/var/www/html這個目錄的selinux屬性
#chcon -R --reference /var/www/html /root/website
然后在重啟服務(wù),之后你就看到它沒有報錯了
不過你去訪問localhost的時候,會發(fā)現(xiàn)訪問拒絕 這是為什么呢?主要是因為你的/root的權(quán)限是750,ahache這個用戶沒有權(quán)限訪問,你需要更改掉權(quán)限,可以這樣改
#chmod -R 755 /root
然后去訪問 發(fā)現(xiàn)正常了

2:基于名稱的虛擬主機(jī)
需要兩個域名解析到你的服務(wù)器,對應(yīng)關(guān)系是
/var/www/server             server.example.com
/var/www/client                client.example.com
當(dāng)訪問這兩個域名時,可以分別顯示出不同文件里面主頁的內(nèi)容
#echo "server page" >> /var/www/server/index.html
#echo "client page" >> /var/www/client/index.html
然后我們編輯一個配置文件
#vi /etc/httpd/conf.d/virtual.conf //記住conf.d里面的內(nèi)容也是apache的配置文件
添加如下內(nèi)容:
NameVirtualHost 192.168.76.133:80

<VirtualHost 192.168.76.133:80>
ServerName service.example.com
DocumentRoot /var/www/server
</VirtualHost>

<VirtualHost 192.168.76.133:80>
ServerName client.example.com
DocumentRoot /var/www/client
</VirtualHost>
#service httpd restart
這樣基于名稱的虛擬主機(jī)就配置好了
如果你沒有DNS你可以再你的機(jī)器上hosts文件里加記錄 linux在/etc/hosts這個文件 windows在C:\windows\system32\drivers\etc\hosts文件
加上這兩行
192.168.76.133    server.example.com
192.168.76.133    client.example.com
這樣你在去測試,就會發(fā)現(xiàn)訪問不同的域名顯示不同的內(nèi)容了 這樣基于名稱的虛擬主機(jī)就配置好了!

3:基于IP地址的虛擬主機(jī)
先添加一個臨時網(wǎng)卡
#ifconfig eth0:0 192.168.76.132 //臨時使用,重啟后就會消失
然后便捷virtual.conf文件
#vi /etc/httpd/conf.d/virtual.conf
把內(nèi)容修改為
#NameVirtualHost 192.168.76.133:80

<VirtualHost 192.168.76.133:80>
ServerName service.example.com
DocumentRoot /var/www/server
</VirtualHost>

<VirtualHost 192.168.76.132:80>
ServerName client.example.com
DocumentRoot /var/www/client
</VirtualHost>
讓后你在用ip訪問,發(fā)現(xiàn)也能顯示不同的內(nèi)容,或者你編輯hosts文件,用域名訪問也沒問題
這樣基于IP地址的虛擬主機(jī)也成功了!

4:別名
在/etc/httpd/conf/httpd.conf里加入
Alias /test "/root/website/"    // 別名 這樣你用192.168.76.133/test訪問 也會顯示192.168.76.133的頁面
這個地方需要注意的就是/test 還是/test/ 這個是用區(qū)別的 你用/test 那么你訪問的時候只能用192.168.76.133/test訪問   如果你用/test/ 那么192.168.76.133/test/訪問,而/test將不會放你訪問
忘了這里你的先把/etc/httpd/conf.d目錄里面剛剛設(shè)置的虛擬目錄注釋掉 不然沒法訪問,是因為做了虛擬目錄,而httpd.conf里面的設(shè)置就無法訪問 當(dāng)然可以用localhost來訪問,其他的訪問都不行

5:實現(xiàn)網(wǎng)頁的資源下載
首先添加別名
#vi /etc/httpd/conf/httpd.conf
在Alias /test "/root/website/" 后面加入
Alias /down "/var/ftp/pub"
讓后對/var/ftp/pub區(qū)域設(shè)置參數(shù)
<Directory "/var/ftp/pub">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
在Options 加入 MultiViews   //沒有index時自動列出目錄文檔
然后重啟服務(wù),這樣http://192.168.76.133/down/里面就可以列出/var/ftp/pub里面的文件了,試著點(diǎn)一個另存為,是否可以下載? 呵呵 成功!

6:.htpasswd的實現(xiàn)
#vi /etc/httpd/conf/httpd.conf
我們針對剛剛做的/var/ftp/pub來做
加入如下信息
Alias /down "/var/ftp/pub/"
<Directory "/var/ftp/pub">
    Options Indexes MultiViews
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
</Directory>
<Directory "/var/ftp/pub">
AuthType Basic
AuthName "this is test"
AuthUserFile /etc/httpd/htpasswd
Require User test
</Directory>
然后重啟httpd服務(wù),
讓后生成.htpasswd用戶密碼
htpasswd -c /etc/httpd/htpasswd test
讓后去訪問192.168.76.133/down會需要密碼
這樣就成功了

相關(guān)文章

最新評論