第四章  构建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) 在客户端登陆测试

错误!超链接引用无效。

Llinux-apache安装的更多相关文章

  1. apache安装mod_deflate配置支持gzip

    apache 配置支持gzip apache使用gzip压缩能够大幅提高网站访问速度并节省网络流量,在网页响应头信息中可以判断是否支持压缩. HTTP/1.1 200 OK Date: Wed, 14 ...

  2. Apache安装

    记录安装Apache的流程,没有进行详细配置,只是记录搭建服务器的流程用于学习Ajax等知识,方便以后重新安装,不用每次都翻别人博客学习安装了,大神看到这里可以关掉这个粗糙简陋的博文了. 1. 官网上 ...

  3. Apache安装配置步骤

    注释:这里以Linux 红帽商业版为例~~~~~~~纯手打啊 Apache安装配置步骤 准备:关闭其他虚拟设备 #/etc/init.d/libvirtd stop #/etc/init.d/xend ...

  4. centos apache安装和设置

    分类: LINUX 安装方式:yum install httpdyum install mysql-serveryum install phpyum install php-mysql 一.WEB服务 ...

  5. centos下apache安装后无法访问

    2013.11.28遇到的问题: -------------------------------------- 一.centos下apache安装后无法访问 得查一下防火墙的问题 iptables添加 ...

  6. Apache安装完服务没有安装的情况

    安装完apache之后(不是按照默认路径安装的,例如是 D:\ )右下方哪个小羽毛图标是没有启动的,左键不好使,而且提示“No services installed”,提示服务器没有被安装.解决方法: ...

  7. linux 下apache安装、启动和配置

    linux 下 apache安装 1:系统安装,这里就不说了,网上有很多,也很简单.顺便说下,我用的是redhat 9: 2:在图形界面下下载apache 安装包,我下的是 httpd-2.2.9.t ...

  8. apache安装扩展模块

    apache 安装扩展模块 1,首先要确认你是否加载了mod_so模块,这个就是你在编译前参数配置的时候添加-enable-so(启用DSO).如果你没有这模块的话,是无法安装扩展模块的. /usr/ ...

  9. linux Apache安装

    原文:linux Apache安装 1.       下载apache,http://httpd.apache.org/download.cgi  通过这个官方网站,我们可以下到最新的版本.现在版本都 ...

  10. apache 安装[转]

    Apache简介         Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广 ...

随机推荐

  1. 光学字符识别OCR

    1.功能: 光学字符识别(OCR,Optical Character Recognition)是指对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程 2.典型应用: 名片扫描 3 ...

  2. 【26】Remove Duplicates from Sorted Array

    [26]Remove Duplicates from Sorted Array Given a sorted array, remove the duplicates in place such th ...

  3. 大数据应用之:MongoDB从入门到精通你不得不知的21个为什么?

    一.引言: 互联网的发展和电子商务平台的崛起,催生了大数据时代的来临,作为大数据典型开发框架的MongoDB成为了No-sql数据库的典型代表.MongoDB从入门到精通你不得不知的21个为什么专为大 ...

  4. IFTT-意大利金融交易税

    港交所公告,IFTT目前适用于Prada股份及其4只权证,所有于今年3月1日或之后买入Prada的投资者均要缴付IFTT.就股份而言,IFTT税率为交易价值的0.22%(2014年1月1日起将降至0. ...

  5. 《Web 前端面试指南》2、JavaScript 的 Bind 函数进阶

    使用 Bind() 设置方法中 this 对象 //<button>获取随机的人</button>​ //<input type="text"> ...

  6. c#简单数组

    int[,] a=new int[,]{{1,2},{3,4},{5,6}};//二维数组 textbox.text=a[0,1];//=2 int[][] b={new int[]{1,2},new ...

  7. [置顶] C语言单元测试框架

    unitest.h /****************************************************************************** * * * This ...

  8. 统计Oracle数据库文件的大小

    1. 统计数据文件.暂时文件.日志文件大小 select sum(bytes)/1024/1024/1024 as GB from dba_data_files; select sum(bytes)/ ...

  9. XML的四种解析方式

    本文描述了构建良好的XML需要遵循的规则.作者详细介绍了构建XML需要考虑的元素,如何命名约定.正确的标记嵌套.属性规则.声明和实体,以及DTD和schema的验证,十分便于新手开始学习了解XML. ...

  10. centos 6+安装山逗斯骚尅特(本文内容来自都比更具帝)

    系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 内存要求:≥128M 关于本脚本 一键安装 Shadowsocks-Python, ShadowsocksR, Shadowso ...