分类: 系统运维
2015-03-02 16:14:05
安装:
rpm简单安装配置
源码编译
Httpd:SELinnux(事先处于permsssive或disable状态)
Httpd:
执行进程:/usr/sbin/httpd(MPM:prefork)
httpd(主进程master process):root,root
httpd(工作进程worker process):apache,apache
启动进程:/etc/rc.d/init.d/httpd
Port : 80/tcp ssl : 443/tcp
工作根目录(进程运行目录,也就是安装目录):/etc/httpd
配置文件目录:/etc/httpd/conf
主配置文件httpd.conf
/etc/httpd/conf.d/*.conf 都是主配置文件的一部分。用include包括进去
/etc/httpd/modules:模块路径。都是连接文件
/etc/httpd/logs ------> /var/log/httpd:日志目录
日志文件:访问日志access_log,错误log : err_log
/var/www/ 下面两个目录
html 静态页面目录
cgi-bin 动态文件目录
cgi:Common Gateway Interface
Client --> httpd (index.cgi) --> Spwan Process (index.cgi) --> httpd --> client
Perl , python , java(servlet也就是jsp) , php
欢迎页面:/etc/httpd/conf.d/welcome.conf
在httpd的朱配置文件中有这么三段
第一部分是主环境配置,第二部分是主服务器配置,第三部分是虚拟主机配置。
第三部分和第二部分不能同时生效,默认用主服务器
Directive value 也就是 指令 参数
指令不区分大小写,参数区分
Httpd.apache.org 指令快速参考
Yum install httpd-manual 安装使用说明(本地)
在/etc/httpd/conf.d/manual.conf/ 访问的时候
http默认配置
1、全局配置:
i)listen:80 没有ip地址就是监听所有ip地址的80
Httpd –l 显示支持的模型或模块
没有worker模型,但是我想启用worker模型,这时候在启动脚本中修改
Vim /etc/sysconfig/httpd,把警号去掉就可以了,用event就改成event就行了
模型配置
startservers 8个空闲进程
minspareserver 最少空闲进程
maxspareserver 最多空闲进程
serverlimit maxclient最大值,需要kill进程在修改
maxclient 最多允许256个请求同时
maxrequestprechild 一个进程最多响应4000次请求达到了就kill
threadsprechild 每个进程最多生成25个线程
min和maxthreads是说有进程的总和不是单个进程的
1、serveradmin root@localhost 报错的时候可能爆出,邮箱
2、servername 如果没有就会解析自己的ip地址,如果解析不出来就给警告
3、documentroot “/var/www/html”
4、
Options indexes followsymlinks 这个目录下的所有的文档访问属性
None 不支持任何选项
Indexes是没有主页的情况下,列出所有的文件和目录,要删除,除非做下载站
Followsymlinks跟随符号连接,允许访问符号连接指向的真正文件(去掉)
Includes允许执行服务器段包含(SSI)
ExecCGI 允许运行CGI脚本
Multiviews
All 支持所用选项
Allowoverride none,改AuthConfig可以进程用户认证
AllowOverride AuthConfig 用户认证
AuthType Basic 本地认证
AuthName "Restricted File" 认证名字(随便)
AuthUserFile "/etc/httpd/conf/htpasswd" 认证文件
Require valid-user 允许认证文件中的所有用户
# Require user username 允许认证文件中的某一个用户
htpasswd –c –m /etc/httpd/conf/htpasswd xiaoming 第一次用-c
htpasswd –m /etc/httpd/conf/htpasswd tom -m md5加密
-D 删除用户
组认证:
AllowOverride AuthConfig
AuthType Basic
AuthName "Restricted File"
AuthUserFile "/etc/httpd/conf/htpasswd"
AuthGroupFile "/etc/httpd/conf/htgroup"
Require group myusers
Vim /etc/httpd/conf/htgroup
添加 myusers: xiaoming tom
查看错误日志:tail /var/log/http/error_log
Order:用于定义基于主机的访问控制功能,ip,网络地址或主机名定义访问控制机制
Order allow,deny 先allow,后deny
Allow from 192.168.1.0/24
Deny from
Httpd –t 测试语法是不是正确
Elinks文本浏览器
-dump 显示网页后立即退出交互模式
-source 显示源码
Httpd –M 支持的额外的模块
1、UserDir disabled注释掉
2、UserDir public_html 这个是网站的根目录。网页放下下面
3、创建用户,家目录 o+x权限 现在就可以访问了
定义家目录网站的权限
Allowoverride 弄成none或者authconfig
Options 弄成none 下面的limit去掉就行了。
Accessfilename .htaccess 每目录访问的权限,写到里面 ,定义那个目录的访问控制权限就在那个目录下面家里这个文件,自上而下继承的,效率很低,生产环境中不用这个东西
匹配以 .ht开头的文件都不允许访问
Typesconfig /etc/mime.types 支持的mime理性
Defaulttype text/plain 默认文本
Hostnamelookups off 在日志里面是不记录访问这的主机名,而是ip地址
登陆日志格式:
Alias /icons/ "/var/www/icons/" 别名,路径不在根目录下面,就不能访问了。此时用别名来访问。例如访问192.168.1.1 根目录是/var/www/html,访问不了/var/www/icon目录,所以用别名,直接访问192.168.1.1/icons就能访问/var/www/icon目录的东西了。
apache日志:
1、/var/log/httpd/access_log
2、/var/log/httpd/error_log
系统信息日志:
/var/log/messages