• Linux 通过编译安装apache服务以及配置


    Linux 编译安装apache服务

    一、安装

    1.通过编译安装,首先需要下载源代码安装包

    apache下载链接:http://httpd.apache.org/download.cgi

    2.解开源代码封装包

    tar zxvf httpd-2.2.17.tar.gz  -C  /usr/src/

    3.配置选择安装的功能和安装目录等信息

    --prefix:指定将httpd服务程序安装到哪个目录,如/usr/local/httpd。

    --enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。

    --enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。

    --enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。

    --enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力

     

     cd /usr/src/httpd-2.2.17/

    ./configure  --prefix=/usr/local/httpd  --enable-so  --enable-rewrite  --enable-charset-lite  --enable-cgi

     

    4.生成二进制文件 make

      

    5.安装生成的二进制文件

     

    6.优化执行路径

    ln -s /usr/local/httpd/bin/*     /usr/local/bin/

      

    7.添加httpd系统服务

    cp /usr/local/httpd/bin/apachectl   /etc/init.d/httpd(apache服务的控制脚本)开机启动apache 

     

    8. 修改/etc/init.d/httpd配置文件  chkconfig: 35 85 15(使其能够支持chkconfig来进行管理),添加如下两行

      

    9.调整启动级别

    chkconfig --add httpd(调整启动级别)

    chkconfig --list httpd(查看启动状态)

      

    10.启动服务测试apache服务是否正常

    二、配置web服务

    httpd服务的目录结构

    服务目录:/usr/local/httpd/

    主配置文件:/usr/local/httpd/conf/httpd.conf

    网页目录:/usr/local/httpd/htdocs/

    服务脚本:/usr/local/httpd/bin/apachectl

    执行程序:/usr/local/httpd/bin/httpd

    访问日志: /usr/local/httpd/log/access_log

    错误日志: /usr/local/httpd/log/error_log

    httpd.conf配置文件

    常用的全局配置参数
    ServerRoot:服务目录

    ServerAdmin:管理员邮箱

    User:运行服务的用户身份

    Group:运行服务的组身份

    ServerName:网站服务器的域名

    DocumentRoot:网页文档的根目录

    Listen:监听的IP地址、端口号

    PidFile:保存httpd进程PID号的文件

    DirectoryIndex:默认的索引页文件

    ErrorLog:错误日志文件的位置

    CustomLog:访问日志文件的位置

    LogLevel:记录日志的级别,默认为warn

    Timeout:网络连接超时,默认为300秒

    KeepAlive:是否保持连接,可选On或Off

    MaxKeepAliveRequests:每次连接最多请求文件数

    KeepAliveTimeout:保持连接状态时的超时时间

    Include:需要包含进来的其他配置文件

    区域配置项
    <Directory "/usr/local/httpd/htdocs">
    Options FollowSymLinks #控制选项,允许使用符号链接
    AllowOverride None #不允许隐含控制文件中的覆盖配置
    Order deny,allow #访问控制策略的应用顺序
    Deny from all #禁止任何人访问此区域
    </Directory>

    httpd服务访问控制
    作用:
    控制对网站资源的访问
    为特定的网站目录添加访问授权

    常用访问控制方式:
    客户机地址限制
    用户授权限制

    1)基于客户端地址的访问控制

    Order配置项,定义控制顺序
    先允许后拒绝,默认拒绝所有:Order allow,deny
    先拒绝后允许,默认允许所有:Order deny,allow

    2)用户授权限制

    cd /usr/local/httpd/bin

    htpasswd -c /usr/local/httpd/conf/.htpass webadmin
    (-c,只在添加首个用户时使用)
    cat /usr/local/httpd/conf/.htpass

    3)对网站目录添加授权
    vi /usr/local/httpd/conf/httpd.conf

    <Directory "/usr/local/httpd/htdocs">
    AuthName "www.yuzly.com"
    AuthType Basic
    AuthUserFile /usr/local/httpd/conf/.awspwd
    require valid-user
    </Directory>

    4)重启网站服务
    /etc/init.d/httpd restart 或者
    /usr/local/httpd/bin/apachectl restart 或者
    service httpd restart

    1.在/usr/local/httpd/htdocs目录下新建一个admin文件夹,然后创建一个index.html文件用于充当后台管理页面

    2.httpd服务访问控制,这里只对后台管理页面做限制,首页不做限制

     限制特定IP地址访问

      

    3.测试,下图可以看到,只有特定IP才能访问admin下的网页,说明限制有效

     

     

     

    4.限制通过用户登录才能访问网页(用户授权访问)

    首先创建用于访问网页的账户和密码

    htpasswd -c /usr/local/httpd/conf/.htpass   yuzly    #-c 只在添加首个用户时使用

     

    5.对网站目录添加授权

      

    6.重启网站服务,测试用户授权是否有效

      

  • 相关阅读:
    教你用笔记本充当无线路由,wifi上网了!!!
    SQL重复记录查询
    ==、object.Equals()、object.ReferenceEquals()
    SeriesChartType
    容易被忽视的装箱问题
    [转]Anonymous type and implicit type
    as、is、GetType()
    [转]dataGridView控件DateTime列插入DateTimePicker
    .NET(C#):理解值类型/引用类型,装箱/拆箱,Object类
    通过其轴标签沿 X 轴对齐不同系列中的数据点
  • 原文地址:https://www.cnblogs.com/yuzly/p/10585942.html
Copyright © 2020-2023  润新知