###Section2:’Main’ server configuration – 主服务器
###Section3:Virtual Hosts—虚拟主机
2和3只能有一个生效。
###Section2:’Main’ server configuration,表示只提供一个web服务器,不提供虚拟主机
###Section3:Virtual Hosts—虚拟主机,表示禁用main server,启用虚拟主机,意味着一个物理主机提供多个不同的站点
1. ###Section2:’Main’ server configuration
ServerAdmin root@localhost ---管理员联系方式
#ServerName www.example.com:80 ---服务器名字
如果没有配置,启用服务:servicehttpd start的时候,会
通过Ip地址反射主机名,如果没有配置主机名可能会保存。
在虚拟主机段中是必须的。
DocumentRoot “/web/html” --- 放程序的目录,可以修改
#DocumentRoot “/var/www/html”
定义访问的方式
<Directory />
OptionsIndexes FollowSymLinks
#Indexes是否允许索引目录,允许列出文件,可以下载,做下载站的时候,none任何选项都不只是
#如果是生产环境的web项目,千万不要启用Indexes,否则会暴露代码
# FollowSymLinks --- 允许访问符号链接指向的文件
#Includes:运行执行服务端包含(SSI),不安全
#ExecCGI: 允许运行CGI脚本
#All: 支持所有选项
----
AllowOverride None --允许覆盖下面2项
#order:用于定义基于主机的访问功能的
#,IP,网络地址或者主机定义访问控制机制
Orderallow,deny --order顺序,先allow,后deny
Allow fromall
Denyfrom
<!—
要求认证配置方式:
--基于用户的认证
AllowOverride AuthConfig
AuthType Basic
AuthName “Restricted Site…”
AuthUserFile “/etc/httpd/conf/htpasswd”
Require valid-user
注:
创建:
/etc/httpd/conf/htpasswd
第一次创建这个文件的时候用-c, 否则第二次会清空文件的
Htpassed–c –m /etc/httpd/conf/htpasswd hadoop
Htpassed–m /etc/httpd/conf/htpasswd hadoop tom
Cathtpasswd
重启web服务器,刷新,要求输入密码
---基于组的认证
AllowOverride AuthConfig
AuthType Basic
AuthName “Restricted Site…”
AuthUserFile “/etc/httpd/conf/htpasswd”
AuthGroupFile “/etc/httpd/conf/htgroup”
Require group myusers
创建“/etc/httpd/conf/htgroup”
Vimhtgroup
Myusers:hadoop tom
Httpd-t
-->
</Directory>
仅仅允许192.168.0.0这个网络访问的配置如下;
Order allow,deny
Allow from 192.168.0.0
--除了明确定义的,没有定义的都被deny了
如果发过来呢?
Order deny, allow
deny from 192.168.0.1
--除了明确定义的,都被allow
拒绝192.168.0.1和172.16.100.177访问:
先deny,后allow
Order deny,allow
Deny from 172.16.100.177 192.168.0.1
--先明确拒绝,然后默认都是allow
Httpd –t ----检测配置文件的语法是否正确
Elinks -dumphttp://www.baidu.com --打开一个纯文本的网页
-dump 显示立即退出交互模式
-source 显示源码
地址的表示方式:
IP
Network/netmask
HOSTNAME: www.a.com
Domainname: magedu.com
Partial IP:172.16,172.16.0.0/16
Httpd2.4不再是allow和deny的方式。
http –M | grep dir
以下模块是支持用户在自己的home目录建立网站
美国的大学教授一般都这样建目录
<IfModule mod_userdir.c>
UserDirdisable
#serDir public_html
</IfModule>
Chmod o+x /home/hadoop/
Service
DirectoryIndex index.html index.html.var ---指定默认文件,从左到右
#AccessFileName .htaccess ---访问控制机制,效率极低
<Files ~”`\.ht”> --符合该匹配的文件都不能在网上访问,因为很多密码文件是这个格式的
Orderallow,deny
Deny fromall
</Files>
TypeConfig /etc/mime.types --支持的mime类型,能传输二级制文档
DefaultType text/plain ---明文文本
HostnameLookup off ----日志中的主机表示为主机名
ErrorLog logs/error_log
LogLevel warn
LogFormat “%h%l %u %t \”%r\” %>s %b \~%{Referer}i\” \”%{User-Agent}i ”” combined
%h :远程主机地址
%l :远程主机的登陆名
%u :客户端登陆用户
%t :请求报文的第一行
%r :来自哪个网站
%>s : 状态码
%b: 响应报文的大小
%{Referer}i : 访问什么也没,i表示请求中的Referer ,表示从哪里来的
%{User-Agent}i :访问什么也没,i表示请求中的User-Agent,使用的浏览器
通过日志可以统计日志访问量:
PV: PageView, 每天的页面访问量
UV: UserView, 每天的IP访问量
不用统计图片的访问量
#定义路径别名
Alias /icons/ “/var/www/icons/”
例子:
假如网站根目录:/web/html
Http://localhost/bbs/images/logo.jpep
bbs/images/这个目录不在/web/html下
但需要配置一个路径别名:
Alias /bbs/images “/var/www/icons/”
小结:
定义网站文档根目录
访问选项: options
基于主机的访问的控制;
基于用户或者组的访问控制
用户个人站点
错误日志
日志格式
访问日志 PV,UV
路径别名