rpm包的安装,默认在etc rpm -ql httpd//就可以查询
源码包安装,在源码包安装的位置
rpm包安装,会放在一个配置文件
源码包安装,会有一个扩展文件extra和主文件。不过配置的差别不大
ServerRoot apache安装目录
listen 默认端口,一般为80
loadModule 加载某个模块
User
Group 伪用户,伪用户组
ServerAdmin 管理员邮箱
<IfModule dir_module>
DirectoryIndex index.html index.php默认的读取文件,优先级从高到低
</Ifmodule>
ServerName 主机名
ErrorLog 错误日志
LogLever 日志等级
CustomLog 正确日志
Include 包含子配置文件
注意:
日志的处理:linux提供logrotate 日志轮替
DocumentRoot 文档的主目录
<Directory '目录路劲'>有可能会出现双斜杠,和单斜杠没有区别
options:定义的常规权限
indexes 可以列出目录中的所有文档
FollowSymLinks 可以通过这个目录访问其他的目录
……
AllowOverdide None/All
.htaccess的小权限的开启与关闭
require /相当于防火墙,访问控制列表
require ALL grant/denied
require ip XXXXXXXXXXXX
require not ip XXXXXXXXXX
一般情况下这么写
<RequireAll>
require all granted
require not ip 192.168.123.0/24
</RequireAll>//注意包含在权限标签里边
</Directory>
注意:这个目录是所有的访问文件都必须配置的,不配置不可访问,也
是区别于ngix的一点好处,权限的配置使得比ngix安全
目录别名居于子配置文件中,需要在主配置文件中打开子配置文件即可
Include conf/extra/httpd-autoindex.conf
然后进入子配置文件中 extra/httpd-autoindex.conf
Alias /icons/ "c:/Apache24/icons/"
<Directory "c:/Apache24/icons">
Options Indexes MultiViews
AllowOverride None
Require all granted
</Directory>
Alias /目录别名/ "目录路径"
<Directory "目录路径">
Options Indexes MultiViews
AllowOverride None
Require all granted
</Directory>
权限其他配置同上
虚拟主机技术主要分三种情况
1,一台服务器,多个ip
2,一台服务器,同一个ip,多个域名
3,一台服务器,同一个ip,多个端口
注意:这里主要归纳同一个服务器,同一个ip,不同域名
依托lnmp.org一键部署的apache配置文件举例,和原生的大同小异
设置windows和linux的ip指向
C:\WINDOWS\system32\drivers\etc\hosts windows
/etc/hosts Linux
1,从主配置文件中打开 Include etc//extra/httpd-vhosts.conf //也就是加载拓展配置文件
2,进入打开的拓展配置文件中进行设置 vi /usr/local/apache2/etc/extra/httpd-vhosts.conf
<Directory "/home/wwwroot/sina"> //本域名的访问权限
Options Indexes
AllowOverride None
Require all granted
</Directory>
<VirtualHost *> //虚拟主机设置,默认访问80端口,不同端口的访问也在此设置
ServerAdmin [email protected] //管理员邮箱
DocumentRoot "/home/wwwroot/sina" //网页的主目录
ServerName www.sina.com //设置的完整域名
ErrorLog "logs/sina-error_log" //错误日志文件
CustomLog "logs/sina-access_log" common //正确日志文件
</VirtualHost>
注意:设置多个虚拟主机,将VirtualHost标签依次设置即可。
(原生apache配置中,必须加Directory标签设置权限,否则报错)
设置多个虚拟主机,访问的优先级从上往下,依次下降
本页面设置的权限,访问等等配置,优先级高于主配置文件。
如果配置后不成功,可能是主配置文件等等基本配置不够完善,blog中会引入虚拟域名配置和apache基本配置的两篇blog
说明:
其实和windows中配置虚拟域名的方法类似,原理一致。
1,rewrite重写
功能主要是实现域名跳转,文件跳转
需要在权限中开启
<Directory "D:/Install/wamp/www/">
Options FollowSymLinks Indexes //允许。.htaccess文件设置内容 注意:.htaccess放置在改网站的根目录下
AllowOverride All
</Directory>
域名跳转:
RewriteEngine on
RewriteCond % {HTTP_HOST} www.sina.com //将www.sina.com 交给 HTTP_HOST 变量
RewriteRule .* http://www.baidu.com
以上访问sina会跳转到baidu
文件跳转:
RewriteEngine on
RewriteRule abc def 访问abc文件的时候调到def
2,用户认证
如上,也需要打开 FollowSymLinks 权限
用户名密码 其他的写入.htaccess文件即可。
注意.htaccess文件的位置
phpMyAdmin就是通过用户认证的
3,extra/httpd-default.conf
Timeout 60 超时时间
KeepAlive on //线程控制
4, extra/httpd-mpm.conf
控制的最大进程数
5,extra/httpd-multilang-errordoc.conf
将浏览器报错定制为apache报错
需要注意的是需要在主配置文件中将注释打开才生效