zoukankan      html  css  js  c++  java
  • Apache 安装与配置

    安装Apache

    1、下载apache软件http://www.apache.org

    2、安装

    以管理员身份进行安装

    3、设置主机名与域名

    4、选择安装类型

    5、自定义安装路径

    6、开始安装

    7、安装结束

    8、测试:

    在浏览器的地址栏输入localhost

    Apache目录结构:

    bin目录:

    Apache的主配置文件

    httpd.conf是主配置文件,位于conf目录中


    SeverRoot        

    服务器根目录(apache的安装目录)

    示例:

        ServerRoot "D:/wamp1027"

     

    Listen 80

    监听端口

    示例:

        Listen 80

    设置多个监听端口

        Listen 80

        Listen 5000

     

    加载功能模块

     

    user        用户所属的组名

    示例:

        User daemon

     

    group        组名

    示例:

        Group daemon

    ServerAdmin

    管理员邮箱

    示例:

    ServerAdmin 20151027@itcast.net

     

    ServerName

        设置域名(主机名)

    示例:

    #ServerName localhost:80

     

    DocumentRoot

        站点根目录,主要用于在内部建议域名与目录的映射关系

    示例:

    DocumentRoot "D:/wamp1027/htdocs"

     

    域名的作用:

    1、对外提供访问(ISP 的DNS服务器完成功能)

    2、对内建立域名与目录的映射关系(只要在配置文件中使用servername与documentroot选项进行配置即可)

     

    对目录的相关设置

    <Directory "站点根目录">

        #目录相关配置

    </Directory>

    目录相关配置:

    默认首页

    DirectoryIndex        主要用于当访问的请求仅指定了域名没有指定具体文件时,返回的首页文件

    示例:

        DirectoryIndex 首页1 首页2

     

    是否允许列出目录结构

    Options Indexes

    作用:当所请求的首页文件不存在时,是否允许列出目录结构,非常不安全,网站上线后一定关闭(不书写此项)

     

    AllowOverride

    主要用于设置是否开启外部配置文件(.htaccess)

     

    对目录权限设置

    order

    形式1:

        order deny,allow

    作用:如果没有明确的拒绝则全部允许

    形式2:

        order allow,deny

    作用:如果没有明确的允许则全部拒绝

    具休拒绝项与允许项使用deny与allow进行配置

    示例1:

        order deny,allow

        deny from 192.168.10.11

        allow from all

        除了192.168.10.11拒绝外,其余全部允许(与deny与allow具体项的顺序无关)

     

    示例2:

        order allow,deny

        allow from 192.168.10.11

        deny from all

        只允许192.168.10.11访问,其余全部拒绝(与deny与allow具体项的顺序无关)

     

    虚拟主机的配置:

    扩展配置文件httpd-vhosts.conf,位于conf目录下的extra目录

    NameVirtualHost        开启基于域名的虚拟主机

    NameVirtualHost *:80    

    虚拟主机使用:

    <Virtualhost *:80>

        #主机配置项

    </Virtualhost>

     

    基于IP的主机

    需求:

        有个公司有一台服务器,有三个网卡

    网卡1:192.168.10.11        www.fist.com        d:/php_folder/20151027/20151201/first

    网卡2:192.168.10.22        www.second.com

        d:/php_folder/20151027/20151201/second

    网卡3:192.168.10.33        www.third.com

        d:/php_folder/20151027/20151201/second

    配置步骤:

    1、使用host文件模拟DNS服务器

    2、在主配置文件中开启对扩展配置文件的加载

     

    在扩展 配置文件中创建虚拟主机

     

    基于域名的配置

    需求:A公司有一台服务器,只有网卡接口

    配置二个主机

    192.168.20.11    www.one.com        d:/php_folder/20151027/20151201/one

    192.168.20.11    www.two.com        d:/php_folder/20151027/20151201/two

    示例:

     

    基于端口的配置

    需求:

        A公司有一个服务器

        一个固定IP:192.168.30.11

        对于所有的普通用访问时使用www.234.com域名通过80端口进行操作

        要求所有的管理员对后台系统的管理使用5000端口

    示例:

    监听端口

    host文件

    虚拟主机配置

     

    AllowOverride

        用于开启外部配置文件.htaccess

    .htaccess主要作用是重定向、防盗链、自定义错误信息提示页面

    .htaccess文件的修改不需要重新启动apache

    .htaccess文件需要使用编辑器另存的方法创建

    .htaccess文件只对当前目录生效

     

    一、自定义错误页面

    示例1:

    第1步:开启外部配置文件.htaccess文件

    第2步:在.htaccess文件中设置自定义错误信息页面

    示例2:

    第1步:

    第2步:

        在根目录下创建一个image资源目录,在此目录内创建一个.htaccess文件,内容如下:

    禁止访问此目录内所有的文件

    第3步:

        

    二、重定向

        当访问站点根目录内的A目录内的文件时,自动转身B目录(或另一个主机下的目录)

     

     

    Apache的工作模式

        Apache默认只支持HTML文件,通过模块(插件)可以支持PHP,还可以与Tomcat连通来支持JSP。

        Apache所有的功能的扩展都是模块的形式实现,模块可以理解为插件。

    图解:

    示例:

    Apache实现用户的认证

    第一步:开启以下功能模块

    第二步:

        使用htpasswd.exe文件创建密码文件,运行环境为cmd

    htpasswd语法:

    htpasswd -c 密码文件 用户名

        作用是用于重新创建密码文件,

    示例:

    第三步:

        设置认证方式

    语法:

        AuthType Basic

    第四步:

        设置realm,作用就是为认证的文件夹起一个显示名,当用户访问时显示给用户看。

    语法:

        AuthName '提示信息'

    示例:

    第五步:

        设置认证用户密码文件

    语法:

        AuthUserFile    '密码文件所在的目录'

    示例:

     

    第六步:设置验证用户名

     

    对多个用户进行认证

    require user 用户1 用户2 用户3

    对所有的用户进行认证

    require valid-user

    添加认证用户

    语法:

        htpasswd '用户密码文件' 用户名

    示例:

     

    删除用户

    语法:

        htpasswd -D '用户密码文件' 用户名

    完整代码示例:

  • 相关阅读:
    如何判断栈的增长方向
    时间复杂度
    shell基础part3
    shell基础part2
    shell基础part2
    linux基础part5
    linux基础part4
    linux基础part3
    linux基础part2
    shell基础part1
  • 原文地址:https://www.cnblogs.com/nyxd/p/5354285.html
Copyright © 2011-2022 走看看