第四章  构建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. 搭建ftp环境

    首先明确,ftp站点设置在服务器上,而在客户端上来使用ftp工具来进行上传文件 具体环境搭建如下两个链接,一个server2003,一个是win7 server2003:http://jingyan. ...

  2. C/C++常用算法【C语言顺序查找(随机数)】【1】

    这是我学习唐峻,李淳的<C/C++常用算法第一天> 1.8.1. 查找数字: 程序随机生成一个拥有20个整数数据的数组,然后输入要查找的数据.接着,可以采用醉简单的逐个对比的方法进行查找, ...

  3. STUCTS LABLE ‘S BENEFIT

    {LJ?Dragon}[注]Struts标签的三个好处 RELATED LINKS 0.UTF-8 有无BOM的区别 UTF-8 BOM 06. 几款网页数据抓取软件 SOFTWARE_INTRODU ...

  4. selenium webdriver启动Chrome浏览器后无法输入网址的解决办法

    通过selenium webdriver启动Chrome浏览器,脚本如下: from selenium import webdriver browser = webdriver.Chrome() br ...

  5. UNIX编程之冲洗内存流与null追加策略(APUE F5-15)

    博文链接:http://haoyuanliu.github.io/2016/04/29/mysql/ 对,我是来骗访问量的!O(∩_∩)O~~ 最近一直在拜读APUE(Advanced Program ...

  6. cocos2d-x项目过程记录(纹理和内存优化方面)

    1.参考资料:Cocos2d-x纹理优化的一些方案  cocos2d-x如何优化内存的应用  iOS和android游戏纹理优化和内存优化(cocos2d-x) 2.加载贴图集纹理 CCSpriteF ...

  7. HDFS Users Guide--官方文档

    HDFS Users Guide Purpose Overview Prerequisites Web Interface Shell Commands DFSAdmin Command Second ...

  8. 精准化测试专业平台Paw:苹果APP应用代码质量的守护者

    众所周知,一款苹果APP进入苹果应用商店后,要上排行榜,要被首页推荐,版本更新必不可少,但作为版本更新的关键所在,软件测试一直被业内吐槽“坑太多”,缺陷防不胜防.相关经验缺乏等等.若问如何“填坑”?以 ...

  9. 如何写好一个UITableView

    本文是直播分享的简单文字整理,直播共分为上.下两部分. 第一部分: 优酷 :http://v.youku.com/v_show/id_XMTUzNzQzMDU0NA%3Cmark%3E.html Or ...

  10. redis 中文手册

    https://redis.readthedocs.org/en/latest/ http://www.cnblogs.com/ikodota/archive/2012/03/05/php_redis ...