zoukankan      html  css  js  c++  java
  • Llinux-apache安装

    第四章  构建LAMP网站服务平台

    实验报告

    1、安装apache服务器软件及相关组件

    查看系统中是否安装apache服务相关的软件包:

    [root@www /]# rpm -qa | grep httpd

    ----------------------------------------------------------------

    httpd-2.2.3-31.el5               apache服务器程序软件包

    httpd-manual-2.2.3-31.el5     apache服务器帮助手册文档

    ----------------------------------------------------------------

    只需要包含这2个软件包即可!

    2、查看安装的目录和文件

    [root@www /]# rpm -ql httpd

    [root@www /]# rpm -ql httpd-manual

    与apache服务器相关的主要目录和文件如下:

    ----------------------------------------------------------------

    /etc/httpd                     apache服务器程序的根目录

    /etc/httpd/conf/httpd.conf   apache服务器主配置文件

    /etc/httpd/conf.d              apache服务器其他功能模块的配置文件存放目录,如mysql、php、ssl、perl等的配置文件

    /var/www/html         网页文档的默认根目录

    /etc/init.d/httpd       apache服务器的脚本控制文件

    /usr/sbin/httpd        apache服务器的主要执行程序

    /var/log/httpd/access_log   访问日志文件

    /var/log/httpd/error_log    错误日志文件

    /usr/sbin/apachectl      apache服务器的脚本控制文件

    /usr/bin/ab          apache自带的一个压力测试工具(apache基准测试工具)

    /usr/bin/htpasswd              产生身份验证用户的密码文件

    /usr/lib/httpd/modules         apache服务器的模块存放目录

    /var/log/httpd                 存放apache的日志文件

    ----------------------------------------------------------------

    3、默认情况下主配置文件做必要的修改即可构建基本可用的web服务器

    #####分割线 构建基本可用的web服务器####

    基本步骤:

    (1) 修改主配置文件httpd.conf

    去掉注释:#ServerName www.example.com:80

    修改为:ServerName www.benet.com:80

    需要有DNS服务器的支持,首先搭建DNS服务器

    (2) 检查主配置文件httpd.conf是否存在语法错误

    方法一:apachectl -t

    方法二:httpd –t

    (3) 启动httpd服务

    [root@www /]# service httpd start

    (4) 查看httpd服务端口是否开启

    [root@www /]# netstat -anpt | grep 80

    (5) 在客户端通过浏览器访问测试

    http://www.benet.com/

    #########分割线 测试web服务器的性能###########

    基本步骤:

    (1) 使用ulimit命令修改最大文件数限制为10000

    ulimit -n 10000

    (2) 使用ab命令进行压力测试

    [root@www /]# ab -q -c 2000 -n 4000 http://www.benet.com/

    (3) 查看得到的统计信息

    ########分割线 构建基于IP/端口/域名的虚拟主机##########

    基本步骤:

    ********实现基于IP的虚拟主机********

    (1) 创建虚拟主机测试web文档

    假设当前web服务器有3个虚拟主机

    虚拟主机一 对应主目录  /var/www/html

    虚拟主机二 对应主目录  /var/www/xuni2

    虚拟主机三 对应主目录  /var/www/xuni3

    [root@www /]# cd /var/www

    [root@www www]# mkdir xuni2 xuni3

    分别在3个目录中放置测试web文档,默认名称都是index.html

    参考web文档HTML代码:

    <html>

    <head>

    <title>

    ~~~~~~~~~~~~~Virtual host~~~~~~~~~~~

    </title>

    <body bgcolor=blue>

    <p align=center>

    ##############Virtual Host###########

    </p>

    </body>

    </head>

    </html>

    (2) 给当前服务器设置2个虚拟接口,并分配IP地址

    [root@www /]# ifconfig eth0:0 192.168.100.3 netmask 255.255.255.0

    [root@www /]# ifconfig eth0:1 192.168.100.4 netmask 255.255.255.0

    (3) 修改apache主配置文件httpd.conf,配置虚拟主机

    [root@www /]# vi /etc/httpd/conf/httpd.conf

    定位到最后一行

    <VirtualHost 192.168.100.2:80>

        DocumentRoot /var/www/html

      ServerName host1               //这里设置虚拟主机的主机名

    </VirtualHost>

    <VirtualHost 192.168.100.3:80>

        DocumentRoot /var/www/xuni2

        ServerName host2

    </VirtualHost>

    <VirtualHost 192.168.100.4:80>

        DocumentRoot /var/www/xuni3

        ServerName host3

    </VirtualHost>

    (4) 重新启动httpd服务,在客户端通过浏览器访问测试

    http://192.168.100.2/

    http://192.168.100.3/

    http://192.168.100.4/

    ********实现基于端口的虚拟主机********

    (5) 删除掉刚才添加的2个虚拟接口

    [root@www /]# ifconfig eth0:0 down

    [root@www /]# ifconfig eth0:1 down

    (6) 修改apache主配置文件httpd.conf,配置虚拟主机

    定位到最后一行

    修改listen参数为:

    Listen 192.168.100.2:80

    listen 192.168.100.2:81

    listen 192.168.100.2:82

    修改虚拟主机参数为:

    <VirtualHost 192.168.100.2:80>

        DocumentRoot /var/www/html

        servername host1

    </VirtualHost>

    <VirtualHost 192.168.100.2:81>

        DocumentRoot /var/www/xuni2

        servername host2

    </VirtualHost>

    <VirtualHost 192.168.100.2:82>

        DocumentRoot /var/www/xuni3

        servername host3

    </VirtualHost>

    (7) 重新启动httpd服务,在客户端通过浏览器访问测试

    http://192.168.100.2/

    http://192.168.100.2:81/

    http://192.168.100.2:82/

    ********实现基于域名的虚拟主机********

    (8) 配置DNS服务器,创建区域及相应主机名

    www.benet.com   192.168.100.2

    www.accp.com    192.168.100.2

    www.btest.com   192.168.100.2

    配置步骤略

    (9) 修改apache主配置文件httpd.conf,配置虚拟主机

    定位到最后一行

    修改listen参数为:

    Listen 192.168.100.2:80

    修改虚拟主机参数为:

    Na</VirtualHost>

    <VirtualHost 192.168.100.2:80>

        DocumentRoot /var/www/xuni2

        servername www.accp.com

    </VirtualHost>

    <VirtualHost 192.168.100.2:80>

        DocumentRoot /var/www/xuni3

        servername www.btest.com

    </VirtualHost>

    (10) 重新启动httpd服务,在客户端通过浏览器访问测试

    http://www.benet.com/

    http://www.accp.com/

    http://www.btest.com/

    ##########分割线 建立系统用户的个人主页#####################

    (1) 修改apache主配置文件httpd.conf,启用apache个人主页功能

    确认主配置文件中有参数:

    LoadModule userdir_module modules/mod_userdir.so

    设置参数:

    <IfModule mod_userdir.c>

        UserDir public_html

    </IfModule>

    <Directory /home/*/public_html>

        AllowOverride FileInfo AuthConfig Limit

        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

        <Limit GET POST OPTIONS>

            Order allow,deny

            Allow from all

        </Limit>

        <LimitExcept GET POST OPTIONS>

            Order deny,allow

            Deny from all

        </LimitExcept>

    </Directory>

    (2) 建立系统用户,并建立个人主页测试文件

    创建测试用户usera和userb

    [root@www named]# su - usera

    [usera@www ~]$ mkdir public_html

    [usera@www ~]$ echo "UserA's Home Page" > public_html/index.html

    [usera@www ~]$ chmod o+x /home/usera

    [root@www named]# su - userb

    [userb@www ~]$ mkdir public_html

    [userb@www ~]$ echo "UserB's Home Page" > public_html/index.html

    [userb@www ~]$ chmod o+x /home/userb

     (3) 重新启动httpd服务

    service httpd restart

    (4) 在客户端浏览器中访问个人主页

    http://www.benet.com/~usera/

    http://www.benet.com/~userb/

    ###########分割线 使用awstats分析web日志信息#######

    awstats相关目录和文件列表:

    -----------------------------------------------------------------------

    配置文件存放目录:/etc/awstats

    网站配置文件范例:/etc/awstats/awstats.localhost.localdomain.conf

    网站配置文件范例:/etc/awstats/awstats.model.conf

    主目录:/usr/share/awstats

    语言目录:/usr/share/awstats/lang

    awstats工具目录:/usr/share/awstats/tools 

    默认的awstats根目录:/usr/share/awstats/wwwroot

    /var/lib/awstats

    /etc/cron.hourly/awstats

    /etc/httpd/conf.d/awstats.conf

    ------------------------------------------------------------------------

    (1) 拷贝awstats的软件包到当前的web服务器中

    [root@www tool]# ls

    awstats-6.9.tar.gz

    (2) 解压并释放awstats软件包,并安装

    [root@www tool]# tar zxvf awstats-6.9.tar.gz -C /usr/local    //解压软件包到/usr/local目录下

    [root@www local]# mv awstats-6.9/ awstats            //更改软件包的名称

    [root@www local]# cd /usr/local/awstats/tools/

    [root@www tools]# ./awstats_configure.pl             //执行安装脚本

    ----设置apache主配置文件httpd.conf的路径

      /etc/httpd/conf/httpd.conf

    ----创建awstats配置文件

      Y

    ----定义日志分析的目标站点的名称

      www.benet.com

    ----定义awstats配置文件的存放目录(默认为/etc/awstats)

       直接回车

    ----添加cron计划任务(在这里提示脚本无法自动添加,需要用户手动添加)

      直接回车

    ----按回车键退出安装脚本

    (3) 修改awstats.www.benet.com脚本

    cd /etc/awstats/

    vi awstats.www.benet.com.conf

    修改:

    LogFile="/var/log/httpd/access_log"

    (4) 创建数据库存放目录,并更新数据库

    perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update-config=www.benet.com

    (5) 设置cron计划任务,以便定时运行日志分析程序

    [root@www awstats]# crontab -e

    * */3 * * * perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=wwww.benet.com

    [root@www awstats]# service crond restart

    (6) 在网页浏览器中查看分析报告

    http://www.benet.com/awstats/awstats.pl?config=www.benet.com

    每次访问输入的URL太长,建立的web页面来实现跳转

    代码如下:

    这样就可以通过http://www.benet.com/aw.html来访问了!

    ##########分割线 实现apache的访问控制#####

    (1) 实现基于用户的访问控制

    查看apache主配置文件httpd.conf,确认已经编译了基本认证和摘要认证的模块

    LoadModule auth_basic_module modules/mod_auth_basic.so

    LoadModule auth_digest_module modules/mod_auth_digest.so

    (2) 修改主配置文件httpd.conf,实现对awstats目录区域的访问控制

    <Directory "/usr/local/awstats/wwwroot">

        Options None

        AllowOverride None

        Order allow,deny

        Allow from all

        authname "AWSTATS"

        authtype basic

        authuserfile /etc/httpd/conf/.htpasswd

        require valid-user

    </Directory>

    (3) 创建存储认证用户帐号及口令文件

    [root@www /]# useradd awuser

    [root@www /]# htpasswd -c /etc/httpd/conf/.htpasswd awuser

    (4) 重新启动httpd服务

    service httpd restart

    (5) 在客户端登陆测试

    错误!超链接引用无效。

    人如代码,规矩灵活;代码如诗,字句精伦。
  • 相关阅读:
    在python3中安装mysql扩展,No module named 'ConfigParser'
    Ubuntu安装MySQL和Python库MySQLdb步骤
    python_非阻塞套接字及I/O流
    EFI、UEFI、MBR、GPT的区别
    2018.1.9 博客迁移至csdn
    2017.12.27 sqlSessionFactory和sqlSession(to be continued)
    2017.12.25 Mybatis物理分页插件PageHelper的使用(二)
    2017.12.14 Mybatis物理分页插件PageHelper的使用(一)
    2017.12.12 架构探险-第一章-从一个简单的web应用开始
    2017.12.11 线程池的简单实践
  • 原文地址:https://www.cnblogs.com/xinlinux/p/3760044.html
Copyright © 2011-2022 走看看