建站服務器
1、 www: world wide web 萬維網(wǎng)
http 協(xié)議: 超文本傳輸協(xié)議
html語言: 超文本標識語言 index.html
2、 url:統(tǒng)一資源定位: 協(xié)議 域名:端口 網(wǎng)頁文件名
http://www.baidu.com:80/phpmyadmin/index.php
3 搭建www的服務器的方法
windows iis asp sqlserver
iis: internet informationserver
linux apache mysql php
nginx
一、相關文件
apache配置文件
源碼包安裝:/usr/lcoal/apache2/etc/httpd.conf(主配置文件)
/usr/local/apache/etc/extra/*.conf(子配置文件)
rpm包安裝:/etc/httpd/conf/httpd.conf
網(wǎng)頁保存位置:
源碼包: /usr/local/apache2/htdocs/
rpm包安裝: /var/www/html/
日志保存位置
源碼包:/usr/local/apache2/logs/
rpm包: /var/log/httpd/
二、配置文件
注意:apache配置文件嚴格區(qū)分大小寫
1、 針對主機環(huán)境的基本配置
serverroot apache主目錄
/usr/local/apache2
listen 監(jiān)聽端口 :80
loadmodule 加載的相關模塊 php5
user
group 用戶和組
serveradmin 管理員郵箱
servername
服務器名(沒有域名解析時,使用臨時解析。默認不開啟)
errorlog logs/error_log 錯誤日志
customlog logs/access_log common 正確訪問日志
directoryindex index.html index.php
默認網(wǎng)頁文件名,優(yōu)先級順序
include etc/extra/httpd-vhosts.conf
子配置文件中內容也會加載生效
2 主頁目錄及權限
documentroot /usr/local/apache2//htdocs
#網(wǎng)頁文件存放目錄(默認)
<directory/usr/local/apache2//htdocs>
#定義指定目錄的權限
options indexes followsymlinks
#options
none: 沒有任何額外權限
all: 所有權限
indexes: 瀏覽權限(當此目錄下沒有默認網(wǎng)頁文件時,顯示目錄內容)
followsymlinks:準許軟連接到其他目錄
allowoverridenone
#定義是否允許目錄下
.htaccess文件中的權限生效
none:.htaccess中權限不生效
all:文件中所有權限都生效
authconfig:文件中,只有網(wǎng)頁認證的權限生效。
require all granted 訪問控制列表
#定義此目錄的允許訪問權限
以下5個例子都是在require allgranted緊下面插入(很重要)
例1: 僅允許ip為192.168.1.1的主機訪問
<requireall>
require all granted
require ip 192.168.1.1
</requireall>
例2: 僅允許192.168.0.0/24網(wǎng)絡的主機訪問
<requireall>
require all granted
require ip 192.168.1.0/24
</requireall>
例3: 禁止192.168.1.2的主機訪問,其他的都允許訪問,
<requireall>
require all granted
require not ip 192.168.1.2
</requireall>
例4: 允許所有訪問,
require all granted
例5: 拒絕所有訪問,
require all denied
三、四個小實驗
實驗環(huán)境:
使用lamp環(huán)境安裝好的apache進行試驗
安裝完成后,先啟動apache進行服務驗證,是否安裝成功,并且主頁是否可以訪問。
注:發(fā)現(xiàn)啟動服務報錯:ah00558: httpd: could not reliably determine the server\\\’s fullyqualified domain name, using localhost.localdomain. set the \\\’servername\\\’directive globally to suppress this message
解決辦法:打開主配置文件httpd.conf
搜索servername (約在200行左右)
修改為 servername localhost:80(并且去掉前面的#注釋)
實驗一:目錄別名
可以使特定的網(wǎng)站程序不出現(xiàn)在網(wǎng)站根目錄下面,而這樣的話,就可以避免和原來的程序本身發(fā)生混淆和沖突;縮短網(wǎng)頁目錄的縱深,減少url的長度。
1.打開apache主配置文件
#includeetc//extra/httpd-autoindex.conf (將#號去掉)
2.進到子配置文件目錄extra下,打開httpd-autoindex.conf
仿照例子寫一個別名:
alias /a//www/a/ #實際目錄結束要有/
<directory/www/a/>
options indexes multiviews
allowoverride none
require all granted
</directory>
在/www/a/目錄下手動創(chuàng)建index.html文件
3.將apache服務重啟:
/usr/local/apache2/bin/apachectlstop
/usr/local/apache2/bin/apachectlstart
注:重啟源碼包安裝的apache需要先關閉,再啟動。
4.驗證試驗結果:
打開瀏覽器輸入 服務器ip/a/ (最后的“/”必須有)
實驗二:用戶認證
提高網(wǎng)站安全性,保護個別頁面的信息,限制特定目錄,只有指定用戶可以訪問。
1.打開主配置文件在最下面添加:
<directory/usr/local/apache2/htdocs/baohu> #被保護目錄
options indexes
allowoverride all #(開啟權限認證文件.htaccess)
require all granted
</directory>
2.在指定目錄下創(chuàng)建權限文件:
cd /usr/local/apache2/htdocs/baohu
vi .htaccess#添加下面的內容
authname50 docs #提示信息
authtypebasic #加密類型
authuserfile/usr/local/apache2/htdocs/baohu/apache.passwd
#密碼文件,文件名自定義。(但是路徑要對,使用絕對路徑)
requirevalid-user #允許密碼文件中所有用戶訪問
3.使用命令生成密碼文件apache.passwd,加入允許訪問的用戶。(此用戶和系統(tǒng)用戶無關)
htpasswd
–c /usr/local/apache2/htdocs/baohu/apache.passwdtest1
-c建立密碼文件,只有添加第一個用戶時,才能-c
htpasswd
-m/usr/local/apache2/htdocs/baohu/apache.passwd test2
-m 再添加更多用戶時,使用-m參數(shù)
4.驗證訪問:(自己手動去目錄下創(chuàng)建index.html文件)
瀏覽器輸入 服務器ip/baohu/index.html
實驗三:*虛擬主機*
虛擬主機的分類:
1)基于ip的虛擬主機:一臺服務器,多個ip,搭建多個網(wǎng)站
ifconfig eth0:0ip #建立網(wǎng)卡子端口
2)基于端口的虛擬主機:一臺服務器,一個ip,搭建多個網(wǎng)站,每個網(wǎng)絡使用不同端口訪問
3)基于名字的虛擬主機:一臺服務器,一個ip,搭建多個網(wǎng)站,每個網(wǎng)站使用不同域名訪問
1.實驗搭建(準備工作)
a. 域名解