当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 用实验快速掌握web服务器Apache

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 用实验快速掌握web服务器Apache


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 64 ::
收藏到网摘: n/a


Apache是大多数linux版本的标准web服务器,掌握他的意义就非常大。

本文以实验的方式,让读者快速掌握Apache的基本配置。

[实验目的]

1.Apache的基本安装和配置。

2.Apache中应用CGI。

3.基本代理配置。

[实验要求]

1.两台互通的RH8.0机。

2.这两台机已配置过DNS。

[实验步骤]

1.准备工作。

由于web服务器与DNS关系非常紧密。作好这步准备工作。

“用实验快速掌握DNS配置”。这篇文章发表在linuxsir的网络版块。

DNS能够实现的主要功能就是能能解析:station1.exmaple1.com,server1.example1.com两个域名的IP,如果你想在/etc/hosts中实现,我想也不是不可以。这里不提倡这么做。

本文中作法比较教条,这里指明机器1为:server1.example1.com,机器2为:

station1.example1.com.读者也可以自己变通。

2.在机器1上安装和配置简单的Apache。

1)检查下列包是否安装,

httpd
httpd-manual

缺什么,装什么。

2)开启httpd服务

#servicehttpdstart

如果开启失败,查看/var/log/httpd/下的相关日志,切记要在/etc/hosts中添加类似

192.168.0.254example1.comserver1的一行。

3)检查/etc/httpd/conf/httpd.conf中,有下列一行活动

DocumentRoot/var/www/html

4)用一个浏览器打开:

http://server1.example1.com

如果是正常情况,你会看到Apache的介绍页面。

5)创建新的目录和html文件。

#mkdir-p/var/www/virtual/server1.example1.com/html
#vi/var/www/virtual/server1.example1.com/html/index.html
Server1.example1.com

6)编辑/etc/httpd/conf/httpd.conf,末尾追加下列文本。

NameVirtualHost192.168.0.254

ServerNameserver1.example1.com
[email protected]
DocumentRoot/var/www/virtual/server1.example1.com/html
ErrorLoglogs/server1.example1.com-error_log
CustomLoglogs/server1.example1.com-access_logcombined

OptionsIndexesIncludes

7)确保DNS能够解析你的VirtualHost

#hostserver1.example1.com

8)重新启动httpd

#servicehttpdrestart

如果启动失败,看/var/log/httpd/下的相应日志,会告诉你具体哪里错误。

9)在浏览器里能够看到你自己写的网页了吗?

http://server1.example1.com

10)在机器2上能看到http://server1.example1.com吗?

3.机器1,在Apache中应用CGI

1)编辑/etc/httpd/conf/httpd.conf,在块中添加下列一行:

ScriptAlias/cgi-bin//var/www/virtual/server1.example1.com/cgi-bin/

2)创建目录,创建文件。

#mkdir/var/www/virtual/server1.example1.com/cgi-bin
#vi/var/www/virtual/server1.example1.com/cgi-bin/test.sh

#!/bin/bash
echoContent-Type:text/html
echo

echo“”
echoMyusernameis:
whoami
echo
echoMyidi??獡s????ゐ?!s:
id
echo
echoHereis/etc/passwd:
cat/etc/passwd
echo“”

3)改变test.sh的执行权限:

#chmod555test.sh

4)重启httpd服务:

#servicehttpdrestart

若有错,看日志。

5)浏览:http://server1.example1.com/cgi-bin/test.sh

6)机器2能浏览http://server1.example1.com/cgi-bin/test.sh吗?

4.基本代理配置:

1)机器1,检查squid包装了没有,没有的话,则进行安装。

2)机器1,启动squid服务。

#servicesquidstart

有问题?看/var/log/messages.

3)机器1,浏览器中设置代理端口为3128,举例:在mozilla:Edit|Preferences...|

Advanced|proxies中,设定手动,端口为:3128,其他不动。

机器2,浏览器中类似设置为:手动,http代理:192.168.0.254端口:3128。

4)此时,机器1,能浏览server1.exmaple1.com.,若平时能上internet,此时也正常上internet。

5)机器2,不能浏览server1.example1.com或internet。

查看/var/log/httpd/*的日志文件,原因是什么?

6)编辑/etc/squid/squid.conf,在aclCONNECTmethodCONNECT行下,添加下列一行:

aclexamample1src192.168.0.0/24

找到INSERTYOUROWNRULE(S)HERE增加下列一行:

http_accessallowexample1

7)重启squid

#servicesquidrestart

有错?看日志。

8)此时,机器2能够浏览server1.example1.com或internet网页.

9)编辑/etc/squid/squid.conf,在aclexamample1src192.168.0.0/24行下添加

aclotherdenydstdomain.sina.com.cn

在http_accessallowexample1下添加:

http_accessdenyotherdeny

10)重启squid.

#servicesquidrestart

有错?看日志。

11)机器2,仍能浏览http://www.sina.com.cn,为什么

12)编辑/etc/squid/squid.conf,把http_accessdenyotherdeny放到

http_accessallowexample1前面,重启squid,机器2还能看到

http://www.sina.com.cn吗

[实验总结]

Apache配置是否成功,与DNS有很大关系,所以,要求读者先花时间作好DNS工作。本文

以最通俗的方式,教你简单的配置Apache,如果想深入掌握它,还得研究Apache2.0的文档。