linux中http伺服器搭建
WEB概念
WEB是一種互動式圖形介面的Internet服務,具有強大的資訊連線功能,通過超文字連結( HyperText ) 的 方式,將資訊通過 Internet 傳遞到全球每個角落!一般情況下,終端使用者通過瀏覽器輸入比較完整的URL即可以完成訪問
HTTP協議
HTTP(HyperText Transfer Protocol),是目前WWW傳遞資料的主流協議!網站上的網頁,則需要符合 HyperText Markup Language(HTML)的語法。
HTTP服務原理
當我們在網址欄輸入網址之後: 1)Client經過DNS解析得到WWW主機的IP,會發出一個數據包,以http協議聯接WWW主機,通 知WWW主機要以http的方法來取得資料。 2)WWW主機收到資料包後,根據Client的要求,提供相關的訊息來響應,大部分情況下用 http的協議傳送用HTML 語法的網頁資料到Client端的瀏覽器;
http服務安裝
通過rpm的方式,會安裝多餘的模組可能存在安全問題,所以我們選取編譯安裝的方式安裝Apache服務。
一.編譯安裝Apache軟體包
首先我們解除安裝自帶的httpd服務
**rpm -e httpd --nodeps**
然後進行編譯安裝
1)第一步解開原始碼封裝包
tar zxf httpd-2.2.17.tar.gz -C /usr/src/
2)第二步配置選擇安裝的功能 和安裝目錄等資訊
cd /usr/src/httpd-2.2.17/ ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
3)第三步編譯將配置資訊生成可執行的二進位制檔案
make
4)第四步安裝
make install
二.優化執行路徑
ln -s /usr/local/httpd/bin/* /usr/local/bin/
ls -l /usr/local/bin/httpd /usr/local/bin/apachectl(檢視軟連結)
如圖所示
三.新增httpd系統服務
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
在前面加入兩行如圖所示,更改首行的執行環境
完成後儲存退出
chkconfig --add httpd(調整啟動級別) chkconfig --list httpd(檢視啟動狀態)
如圖所示
這個時候我們便配置完成
開啟瀏覽器輸入127.0.0.1可以看到 這裡的介面為http服務預設的目錄。
httpd服務訪問控制
為了讓我們的頁面更安全我們來配置使用者授權限制也就是說,使用者在訪問我們的介面時需要密碼。
新增使用者
cd /usr/local/httpd/bin 切換目錄
htpasswd -c /usr/local/httpd/conf/.htpass webadmin
新增一個使用者名稱為webadmin的使用者 在第一次新增使用者的時候需要(-c)引數,後面既可省略
檢視使用者記錄檔案
cat /usr/local/httpd/conf/.htpass
左邊為使用者名稱,右邊為密碼(加密顯示)
對網站目錄新增授權
vi /usr/local/httpd/conf/httpd.conf
在如圖所示的位置加這四行,注意最上面是<Directory “/usr/local/httpd/htdocs”>裡面,儲存退出。
重啟服務
service httpd restart
測試
再一次用瀏覽器檢視127.0.0.1發現訪問的時候需要使用者名稱和密碼 這個時候我們輸入之前新增的使用者名稱和密碼即可,可以有效的防止外部人員檢視我們的網路,也是一種安全的防禦措施。
httpd服務的目錄結構
下面我們來介紹下目錄結構 服務目錄:/usr/local/httpd/
主配置檔案:/usr/local/httpd/conf/httpd.conf
網頁目錄:/usr/local/httpd/htdocs/
服務指令碼:/usr/local/httpd/bin/apachectl
執行程式:/usr/local/httpd/bin/httpd
訪問日誌: /usr/local/httpd/log/access_log
httpd.conf配置檔案
常用的全域性配置引數
ServerRoot:服務目錄
ServerAdmin:管理員郵箱
User:執行服務的使用者身份
Group:執行服務的組身份
ServerName:網站伺服器的域名
DocumentRoot:網頁文件的根目錄
Listen:監聽的IP地址、埠號
PidFile:儲存httpd程序PID號的檔案
DirectoryIndex:預設的索引頁檔案
ErrorLog:錯誤日誌檔案的位置
CustomLog:訪問日誌檔案的位置
LogLevel:記錄日誌的級別,預設為warn
Timeout:網路連線超時,預設為300秒
KeepAlive:是否保持連線,可選On或Off
MaxKepAliveRequests:每次連線最多請求檔案數
KeepAliveTimeout:保持連線狀態時的超時時間
Include:需要包含進來的其他配置檔案
區域配置項
<Directory “/usr/local/httpd/htdocs”>
Options FollowSymLinks
#控制選項,允許使用符號連結
AllowOverride None
#不允許隱含控制檔案中的覆蓋配置
Order deny,allow
#訪問控制策略的應用順序
Deny from all
#禁止任何人訪問此區域