web 服務器:
web 服務器通常指網站服務器,能夠向瀏覽器等 web 客戶端提供文檔、文件、圖片( 靜態 )、動態頁面等;能夠向全世界的人下載、瀏覽
靜態頁面:通常指圖片、 *.txt html
動態頁面:語言( php asp jsp .net ) ——> apache 調用( php - cgi ) ——> 解析結果 ——> apache +——> client
http : //www.baidu.com:80 —> IP
url : //host: port —> apache( 靜態頁面 ) ——> 調用相應模塊進行解析 ——> 結果返還給 apache ——> client
ftp : //vm1.uplooking.com
——> web 架構:
LAMP = Linux + Apache + MySQL + PHP ; LNMP = Linux + Nginx + MySQL + PHP
PHP 、JSP
WEB ( Linux + Apache + MySQL + PHP ) ——> web + MySQL ——> ( web1 + web2 )+ MySQL ——> ...
端口 80
Apache : 是著名的 web 服務器軟件,由Apache 軟件基金會負責開發維護
一、開放源碼
二、跨平臺
三、支持模塊化設計 Apache 官網:www.apache.org
四、安全穩定
——> 搭建 web 服務:
一、 關閉防火牆和selinux
二、 配置yum 源
三、 軟件三部曲(查看、安裝、查看軟件列表)
1> 安裝好軟件、查看
#rpm -aq|grep httpd
httd-tools-2.2.15-29.el6_4.x86_64 工具包
httpd-2.2.15-29.el6_4.x86_64 server 端軟件php
#yum -y install httpd-manual.noarch 安裝幫助手冊
2> 啓動服務、查看幫助手冊
#service httpd start
#firefox http://127.0.0.1 ——> 查看幫助手冊
#firefox http://www.jinbuguo.com/apache/menu22/ ——> 中文版幫助手冊(參考)
3> 查看配置文件 #rpm - ql httpd
/etc/httpd 服務主目錄
/etc/httpd/conf 相關目錄
/etc/httpd/conf.d 相關子目錄(子配置文件)
/etc/httpd/conf.d/README 說明書
/etc/httpd/conf.d/welcome.conf 歡迎頁面(redhat廣告頁)
/etc/httpd/conf/httpd.conf 主配置文件html
/etc/httpd/logs 日誌文件存放位置 和 /var/log/httpd 互爲硬連接
/etc/httpd/modules httpd服務相應的模塊
/etc/httpd/run 進程 和 /var/run/httpd互爲硬連接
/etc/logrotate.d/httpd 日誌輪巡
/etc/rc.d/init.d/htcacheclean apache官方啓動腳本
/etc/rc.d/init.d/httpd 啓動腳本linux
/usr/sbin/httpd 二進制命令
/var/log/httpd
/var/run/httpd
/var/www 數據根目錄
/var/www/html 靜態頁面的數據根目錄web
四、 瞭解配置文件
五、 經過修改配置文件來完成服務搭建
需求 1 :訪問默認網站
一、默認數據目錄 /var/www/html
#echo this is default test page! > /var/www/html
二、啓動服務
#service httpd restart
Stopping httpd: [ OK ]
解決:
#vim /etc/httpd/conf/httpd.conf
...
ServerName server.uplooking.com:80apache
三、測試驗證
1> #yum -y install elinks ——> 安裝 elinks 軟件( 超文本解析 )
#elinks http://192.168.1.102 ——> 查看網站
2> firefox http://server.uplooking.com ——> 查看網站
需求 2 :共享本地目錄下的文件
方法一: 經過軟連接方式共享
#mkdir /data
# touch /data/file{1..5}
#ln -s /data /var/www/html/notes
方法二: 經過別名方式共享 ——> 訪問時必須寫的與別名相同
# vim /etc/httpd/conf/httpd.conf
... 別名
Alias /soft/ "/software/" 在主配置文件最後添加
<Directory "/software"> 開始給/software目錄受權
Options Indexes MultiViews FollowSymLinks 支持索引支持軟連接
AllowOverride None 不支持 htaccess文件
Order allow,deny order排序,先容許後拒絕
Allow from all 容許全部人
</Directory>vim
#service httpd restart
.223 訪問: firefox http://192.168.1.123/soft/
一、 若是不肯意讓其看見共享目錄裏的內容,去掉支持索引選項
二、若是http 服務只是共享一些文件,不須要瀏覽網頁,那麼能夠將 /etc/httpd/conf/welcome.conf 文件重命名,而後重啓服務 http://127.0.0.1 能看到默認數據家目錄裏的文件
需求 3 :更改默認數據家目錄
# mkdir /webroot ——> 建立新數據根目錄
1> #vim /etc/httpd/conf/httpd.conf
...
DocumentRoot "/webroot" 定義數據根目錄瀏覽器
<Directory "/webroot"> 給目錄受權
Options Indexes FollowSymL
Order allow,deny
Allow from all
</Directory>
2> # service httpd restart
Stopping httpd: [ OK ]
Starting httpd: Syntax error on line 293 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory
[FAILED]
失敗緣由:沒有建立該目錄安全
需求 4 :基於用戶名和密碼認證的訪問 ——> 跟本地有沒有該用戶沒有關係
user01( 本地用戶) 和 stu1( 本地沒有) 用戶經過密碼訪問首頁文件
一、修改配置文件
#vim /etc/httpd/conf/httpd.conf
...
<Directory "/webroot">
AuthType Basic 開啓基本認證
AuthName "Input your name &password:" 提示信息
AuthUserFile /etc/httpd/conf/.htpassword 指定密碼文件
#Require user user01 指定用戶訪問
#Require valid-user user01,stu1 指定多個用戶
AuthGroupFile /etc/httpd/conf/groups 指定組的文件
Require group admin 指定哪一個組服務器
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
二、建立密碼文件並將用戶加入到密碼文件中
htpasswd:
-c:建立新的密碼文件
-m:md5加密
-b:取消交互網絡
# htpasswd -cm .htpassword user01 添加用戶到密碼文件裏
# htpasswd -bm .htpassword stu1 123 取消交互添加,直接寫密碼
# cat .htpassword
user01:$apr1$MffdS1m6$32MjzgnT/2YDDEMZeUt/P0
stu1:$apr1$93MFv7Vo$aTrtUftbBobzl34jtX4PM.
三、 重啓服務測試驗證 #service httpd restart
總結:
一、容許某一我的經過用戶名密碼訪問,必須將其加入密碼文件裏,配置文件裏參數:Require user username
二、容許多我的經過用戶名密碼訪問,必須將其加入密碼文件裏,配置文件參數:Require valid-user username1,username2
三、容許多我的經過用戶名密碼訪問,必須將其加入密碼文件裏,配置文件裏參數:指定一個組文件,AuthGroupFile /etc/httpd/conf/groups Require group admin
四、用戶能夠不在本地操做系統存在
需求 5 :對於網絡中的虛擬機進行訪問控制 Order allow,deny 先容許後拒絕,若是allow 和deny 衝突,deny 優先 Order deny,allow 先拒絕後容許,若是衝突,allow 優先 Allow from address Deny from 205.252.46.165 Deny from host.example.com 一、拒絕大部分,容許少數 二、 容許大部分,拒絕少部分 Order deny,allow Order allow,deny Deny from all Allow from all Allow from dev.example.com Deny from 192.168.1.2 192.168.1.3 Deny from 10.1.1.0/255.255.255.0 uplooking.com