第四章  构建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. Ubuntu频率较高的操作

    一.切换超级用户 由于 Ubuntu 是基于 Debian 的 linux 操作系统,在默认的情况下,是没有超级用户(superuser, root)的,但有些系统操作必须有超级用户的权限才能进行,如 ...

  2. 数据结构——POJ 1686 Lazy Math Instructor 栈的应用

    Description A math instructor is too lazy to grade a question in the exam papers in which students a ...

  3. xcode4的workspace里各lib工程与app工程联编之runscript简介

    copy from:http://www.cnblogs.com/xiaouisme/archive/2012/02/06/2339470.html 本文讲解怎么在xcode4的workspace里配 ...

  4. Codeforces Round #259 (Div. 2) D. Little Pony and Harmony Chest 状压DP

    D. Little Pony and Harmony Chest   Princess Twilight went to Celestia and Luna's old castle to resea ...

  5. 《algorithm puzzles》——概述

    这个专题我们开始对<algorithm puzzles>一书的学习,这本书是一本谜题集,包括一些数学与计算机起源性的古典命题和一些比较新颖的谜题,序章的几句话非常好,在这里做简单的摘录. ...

  6. warning: Could not canonicalize hostname: vpn

    warning: Could not canonicalize hostname: vpn vim /etc/hosts 127.0.0.1 hostname

  7. ServletConfig

    ServletConfig Servlet配置 比如web程序中的某一个Servlet需要配置一些初始化信息,需要在web.xml中进行配置 <servlet> <servlet-n ...

  8. PostgreSQL和GreenPlum数据库的区别

    PostgreSQL   PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为POSTGRES,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS).Po ...

  9. Git 中README.md中MarkDown语法示例

    转 http://blog.csdn.net/brokge/article/details/38388757 简介 Markdown的语法简洁明了.学习容易,而且功能比纯文本更强,因此有很多人用它写博 ...

  10. Textview 文本旋转,倾斜

    有时候Android自带的控件无法满足我们的某些要求,这时就需要我们自定义控件来实现这些功能.比如需要一个TextView里的字倾斜一定的角度,就需要自定义TextView. 代码如下: ? 1 2 ...