apache基本配置文件详解

apache配置文件详解

1,配置文件知识

rpm包的安装,默认在etc    rpm -ql httpd//就可以查询

源码包安装,在源码包安装的位置

rpm包安装,会放在一个配置文件
源码包安装,会有一个扩展文件extra和主文件。不过配置的差别不大

2,基本配置目录

ServerRoot   apache安装目录
listen      默认端口,一般为80
loadModule   加载某个模块
User
Group   伪用户,伪用户组
ServerAdmin   管理员邮箱
<IfModule dir_module>
    DirectoryIndex  index.html  index.php默认的读取文件,优先级从高到低
</Ifmodule>
ServerName  主机名
ErrorLog  错误日志
LogLever  日志等级
CustomLog  正确日志
Include   包含子配置文件

注意:
日志的处理:linux提供logrotate  日志轮替

3.主页目录和权限

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安全

4.Apache目录别名

目录别名居于子配置文件中,需要在主配置文件中打开子配置文件即可

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>

权限其他配置同上

5.虚拟主机

虚拟主机技术主要分三种情况
    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 webmaster@sina.com          //管理员邮箱
    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中配置虚拟域名的方法类似,原理一致。

6.其他子配置文件

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报错

需要注意的是需要在主配置文件中将注释打开才生效
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值