目录

  • 1 Linxu服务器配置与管理
    • 1.1 首页
    • 1.2 申报书
    • 1.3 项目介绍
    • 1.4 项目团队
    • 1.5 建设方案
    • 1.6 支出预算
    • 1.7 课程资源
  • 2 学习情境1 RedHat Linux基础操作
    • 2.1 学习情境1.1 RedHat Linux基本应用操作
    • 2.2 学习情境1.2 常见工具软件应用
    • 2.3 学习情境1.3 Linux系统用户与用户组的管理
  • 3 学习情境2 网络服务器架设
    • 3.1 学习情境2.1 DNS服务器架设
    • 3.2 学习情境2.2 DHCP服务的架设
    • 3.3 学习情境2.3 MySQL数据库架设
    • 3.4 学习情境2.4 Apache Web服务器架设
    • 3.5 学习情境2.5 vsftp FTP服务架设
    • 3.6 学习情境2.6 Sendmail电子邮件服务架设
    • 3.7 学习情境2.7 Helix流媒体的架设
  • 4 学习情境3 系统维护管理
    • 4.1 学习情境3.1 Linux核心管理与定制
    • 4.2 学习情境3.2 RAID磁盘阵列与LVM逻辑卷的管理应用
    • 4.3 学习情境3.3 Web集群服务器的架构
学习情境2.4 Apache Web服务器架设

学习情境2.4 Apache Web服务器架设

2.4.1 学习要点

1.知识点:理解Apache服务器的工作原理,熟悉组织和管理站点内容的配置方法

2.技能点:掌握Apache的安装和简单配置,掌握访问控制、认证和授权的配置,正确安装php模块

2.4.2 任务描述

正确安装Apache软件,建立站点www.sl232.cn,端口5555,主目录设为Apapche,默认目录,访问Apache的默认主页index.html。

建立虚拟主机aaa.sl232.cn,端口5555,主目录为/www,主页为index.html(可从ftp://172.17.4.100上得到,为国旗飘扬页面),需输入用户cqvie密码cqvie访问。

安装php,让apache支持php动态网页。

编写主页为index.php文件,内容显示php的环境状况。

在www.sl232.cn站点下建立虚拟目录php,主目录为/phptest,其主页为index.php文件(php环境测试页面)。

2.4.3 相关知识

1.Apache web服务器简介

Web服务器也称为WWW(World WideWeb)服务器,主要功能是提供网上信息浏览服务。Apache是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。这里主要介绍如何进行Apache Web服务器的架设。

2.Apache的目录结构

在Red Hat Linux中,Apache将自己的所有配置文件和日志文件分别放在了“/etc/httpd”和“/var/log/httpd”目录下,其中“/etc/httpd/conf”下为配置文件,“/var/log/httpd”下为日志文件。在“/etc/httpd/”目录下有一个链接“logs”,可以直接进入/var/log/httpd目录。

在默认安装Apache时,将建立“/var/www”目录(Apache的默认站点目录),并在其下建立五个子目录:

(1)html/:存放HTML(主页)文件;

(2)cgi-bin/:存放CGI程序;

(3)manual/:存放apache系统的说明文档;

(4)error/:存放服务器错误提示文件;

(5)icons/:存放服务器自带图标。

Apache服务器的配置文件httpd.conf位于/etc/httpd/conf/目录下,用来配置Apache服务器的行为。

3.Apache服务器设置

编辑httpd.conf文件以下参数,可以对Apache服务器进行相关设置。

(1)设置网站服务端口号

Listen 80

设置httpd监听客户端请求的IP地址和连接端口号,默认是监听服务器拥有的所有IP地址。

(2)设置服务器管理员的E⁃mail地址

ServerAdmin root@localhost

设定APACHE的管理者E-mail信箱地址。预设的是超级使用者的E-mail。当服务器发生网页错误时,就会将错误的信息寄到下列的邮件信箱地址,预设是root@localhost。

(3)设置默认站点的主机名

ServerName www.wnt.com.cn:80

指定Apache用于识别自身的名字和端口号。预设是使用注解符号暂时关闭,如果我们的主机名称为www.sl099.cn,就将ServerName指令设成www.sl099.cn,80是服务器的监听端口。

(4)设置默认站点主目录及权限

DocumentRoot“/var/www/html”//网站文档的根目录设置为/var/www/html

<Directory“/var/www/html”>//设置/var/www/html目录的访问权限

Options Indexes FollowSymLinks//让目录索引,符号连接有效

AllowOverride None//让默认的.htacces控制文件失效

Order allow,deny//访问的顺序是先允许后拒绝

Allow from all//允许所有主机访问

</Directory>

Apache的配置文件httpd.conf是主要的配置文件,但是针对每个目录,Apache还允许在它们各自的目录下放置一个叫做.htacess的文件,这个文件同样也能控制这个目录的属性,Al⁃lowOverride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写。

AllowOverride:设定是否使用访问控制文件。

All缺省值,让用户访问控制文件有效;

None让用户访问控制文件.htacces无效。

Options:设定目录访问特性。

①All:准许以下除MultiViews以外所有功能;

②MultiViews:允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通过/foo来访问到它,这对于一个多语言内容的站点比较有用;

③SymLinksIfOwnerMatch:在该目录中仅仅跟踪本站点内的链接;

④FollowSymLinks:允许浏览器访问文档根目录(DocumentRoot)之外的文档;

⑤ExecCGI:允许这个目录下可以执行CGI程序;

⑥Indexes允许浏览器可以生成这个目录下所有文件的索引,使得在这个目录下没有index.html(或其他索引文件)时,能向浏览器发送这个目录下的文件列表。

Order:设置网站的访问先后顺序。

①Allow允许访问;

②deny拒绝访问;

如Order allow,deny表示先允许再拒绝;如果是Order deny allow表示先拒绝再允许。

例:

Order allow,deny

Allow from 210.62.146

Deny from all

原来只想允许210.62.146的所有主机可以访问,但是Order的顺序是先允许后拒绝,所以最后还是拒绝所有主机,结果从210.62.146的主机也无法访问,请小心Order的顺序。

(5)设置用户个人网站目录

UserDir public_html

设置用户个人网站目录为用户主目录下的public_html,通过“http://www.wnt.com.cn/~用户名”来访问个人网站。如果不想为正式的用户提供网页服务,使用DISABLED作UserDir的参数即可。

(6)设定网站访问的默认文档优先顺序

DirectoryIndex index.php index.html index.html.var

将这几个文件设为预设首页,也就可以直接输入http://网站地址,而不用再输入网页文件,如果这几个文件都存在,将按照index.php,index.html,index.html.var顺序访问。

(7)设置访问控制文件名AccessFileName.htaccess

AccessFileName定义每个目录下的访问控制文件的文件名,缺省为.htaccess,可以通过更改这个文件,来改变不同目录的访问控制限制。

(8)映射虚拟目录

因为某种需要而使用除实际站点目录(即主目录)以外的其他目录,或者使用其他计算机上的目录,来让Internet用户作为站点访问。这时,就可以使用虚拟目录,即将想使用的目录设为虚拟目录,而让用户访问。

Alias /php /phptest//设置实际目录/phptest的虚拟目录为php

定义好映射的路径之后,应该需要对/phptest目录设置访问限制。

<Directory /phptest>//设置对/phptest目录的访问权限

Order allow,deny  //设置访问目录的顺序

Allow from all   //允许所有主机访问

</Directory>

(9)使用多种语言的优先顺序设置

LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

如果同时使用多种语言,则可以使用LanguagePriority选项来排定使用的语言先后顺序。

En表示英语,zh-CN表示中国内地简体,zh-TW表示中国台湾繁体

4.Apache虚拟主机的配置

可以通过设置虚拟主机以实现在你的主机上有多个域名/主机名。大多数配置信息只使用基于名字的虚拟主机,因此服务器不必担心IP地址的问题。

要建立非基于IP的虚拟主机,多个域名是不可少的配置,因为每个域名就对应一个要服务的虚拟主机。因此需要更改DNS服务器的配置,为服务器增加多个主机记录或者CNAME选项,编辑2.1学习情境的数据库文件/var/named/chroot/var/named/zone.exp:

基本的设置选项都是为了www主机设定的,如果要为www1和www2设定虚拟主机,就要使用VirtualHost语句定义不同的选项,在语句中可以使用配置文件前面中的大部分选项,而可以重新定义几乎所有的针对服务器的设置。编辑/usr/local/apache2/conf/extra/httpd-vhosts.conf文件

NameVirtualHost 172.17.4.99//使用172.17.4.99这台主机

<VirtualHost 172.17.4.99>//虚拟主机地址是172.17.4.99

ServerAdmin webmaster@sl099.com//设置管理员邮件地址

DocumentRoot/www1//设置虚拟主机的网站目录/www1

ServerName www1.sl099.com//设置虚拟主机的域名是www1.sl099.com

ErrorLog“logs/www1.sl099.com-error_log”//出错日志的记录位置

CustomLog“logs/www1.sl099.com-access_log”common//设置日志文件的位置及格式

</VirtualHost>

<VirtualHost 172.17.4.99>

ServerAdmin webmaster@sl099.com

DocumentRoot/www2

ServerName www2.sl099.com

ErrorLog“logs/www2.sl099.com-error_log”

CustomLog“logs/www2.sl099.com-access_log”common

</VirtualHost>

这里需要注意的是,VirtualHost的参数地址一定要和NameVirtualHost定义的地址相一致,Apache服务器才承认这些定义是为这个IP地址定义的虚拟主机。

2.3.4 任务实施

Apache Web服务器安装配置要求

(1)正确安装Apache软件,建立站点www.sl232.cn,端口5555,主目录设为Apapche默认目录,访问Apache的默认主页index.html。

(2)建立虚拟主机aaa.sl232.cn,端口5555,主目录为/www,需输入用户cqvie密码cqvie访问。

(3)安装php,让Apache支持php页面。

(4)编写主页为index.php文件,内容显示php的环境状况。

(5)在www.sl232.cn下建立虚拟目录php,主目录为/phptest,其主页为index.php文件(php环境测试页面)。

任务步骤如下

(1)下载安装Apache源码包

①从http://www.apache.org下载Apache源码包httpd-2.2.10.tar.gz到本地的Linux服务器上。

②用tar指令解压软件。

#tar xvzf httpd-2.2.10.tar.gz

③安装Apache。

#cd httpd-2.2.10

[root@localhost httpd-2.2.10]#./configure—prefix=/usr/local/apache2—enable-so

Apache安装在/usr/local/apache2,允许DSO动态共享对象调用特性。

[root@localhost httpd-2.2.10]#make//编译

[root@localhost httpd-2.2.10]#make install//安装

安装时间根据硬件情况不同,一般就几分钟。

(2)启动Apache服务器

①启动Apache服务器

[root@localhost httpd-2.2.10]#/usr/local/apache2/bin/apachectl start

在Windows下访问服务器http://www.sl110.cn

显示:

Itworks!

表明Apache服务正常。

②修改Apache的服务端口

#cd/usr/local/apache2/conf

#vim httpd.conf

把Listen 80修改为Listen 5555,这样Apache的服务端口就从默认的80修改为5555。

③重启Apache

#/usr/local/apache2/bin/apachectl restart

在Windows下访问服务器显示http://www.sl232.cn:5555,网页还是显示正常。

(3)下载安装php5模块

①从http://www.php.org下载php源码包php-5.2.6.tar.gz到本地的Linux服务器上。

②还需要以下的支持库:

最新版本的libxml2 XML解析器,从XmlSoft.org下载。

最新版本的zlib库从www.gzip.org/zlib下载。

③安装zlib库。

#tar xvzf zlib-1.2.2.tar.gz//解压zlib-1.2.2.tar.gz软件

#cd zlib-l.2.2

#./configure—prefix=/usr/local/zlib//设置软件的安装位置在/usr/local/zlib

#make//编译

#make install//安装

这一步结束时,zlib被安装在/usr/local/zlib下。你可以使用指定prefix选项将其安装到其他地方。

④安装libxml2库。

#tar xvzf libxml2-2.6.19.tar.gz//解压libxml2-2.6.19.tar.gz软件

#cd libxml2-2.6.19

#./configure//设置

#make//编译

#make install//安装

这一步结束时,libxml2被安装在/usr/local/lib下。你可以使用指定prefix选项将其安装到其他地方。

⑤安装php5模块。

#tar xvzf php5.2.6.tar.gz//解压软件

#cd php5.2.6

#./configure—prefix=/usr/local/php5\//设置php5的安装路径

—with-apxs2=/usr/local/apache2/bin/apxs\//告诉php查找Apache 2.0的地方

—with-libxml-dir=/usr/local/lib\//告诉php放置libxml2库的地方

—with-zlib—with-zlib-dir=/usr/local/zlib//告诉php放置zlib库的地方

—with-mysql=/usr/local/mysql\//激活regularMySQL扩展功能

—with-mysqli=/usr/local/mysql/bin/mysql_config\//激活新增加的MySQL功能

—enable-mbstring\//允许使用等宽字符集

—enable-soap—enable-sockets//激活SOAP和Web services支持,socket通讯特性

#make

#make install

这一步结束时,libxml2被安装在/usr/local/php5下。你可以使用指定prefix选项将其安装到其他地方。

#cp php.ini-dist/usr/local/php5/lib/php.ini//php.ini是php的配置文件

(4)编辑Apache的全局配置文件httpd.conf

①进入Apache配置目录:

#cd/usr/local/apache2/conf

②编辑httpd.conf配置文件。

#vim httpd.conf

添加对php5模块的支持,php5在安装时会自动修改http.conf。

LoadModule php5_module modules/libphp5.so

添加对.php的脚本文件支持。

找到这两行:

AddType application/x-compress.Z

AddType application/x-gzip.gz.tgz

在其后添加:

AddType application/x-httpd-php.php

修改网站主页的显示顺序。

找到<IfModule dir_module>

DirectoryIndex index.html index.html.var

</IfModule>

修改DirectoryIndex参数如下:

DirectoryIndex index.php index.html

(5)编辑Apache的语言编码配置文件httpd-languages.conf

#cd/usr/local/apache2/conf/extra

#vim httpd-languages.conf

找到这一行LanguagePriority ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW

修改为LanguagePriority zh-CN ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-TW

这样网站的语言默认编码就是zh-CN,中文网页正常显示。

(6)编辑Apache的个人网站配置文件httpd-userdir.conf

#cd/usr/local/apache2/conf/extra

#vim httpd-userdir.conf

修改UserDir public_html为

UserDir www//把个人网站的目录从public_html改到www。

修改<Directory“/home/∗/public_html”>为

<Directory“/home/∗/www”> //设置个人网站目录/home/∗/www的访问权限,∗表示个人目录

(7)编辑Apache的虚拟主机配置文件httpd-vhosts.conf

①DNS服务的数据文件修改。

首先DNS服务器的数据库文件/var/named/chroot/var/named/zone.exp中要有aaa的别名

aaa CNAME www

这样aaa.sl232.cn会被解析到www.sl232.cn。

②编辑虚拟主机配置文件。

#cd/usr/local/apache2/conf/extra

#vim httpd-vhosts.conf

NameVirtualHost 172.17.4.232:5555//使用172.17.4.232这台主机,端口号5555

<VirtualHost 172.17.4.232:5555>//虚拟主机地址是172.17.4.232,端口号5555

ServerAdmin webmaster@sl232.cn//设置管理员邮件地址

DocumentRoot/www//设置虚拟主机的网站目录/www

ServerName aaa.sl232.cn //设置虚拟主机的域名是aaa.sl232.cn

ErrorLog“logs/aaa.sl232.cn-error_log”//出错日志的记录位置

CustomLog“logs/aaa.sl232.cn-access_log”common//设置日志文件的位置及格式

</VirtualHost>

这样aaa.sl232.cn的虚拟主机的访问目录就指向/www。

上传网页到/www,再修改/www的访问权限。

#vim/usr/local/apche2/conf/httpd.conf

<Directory“/www”>//设置对/www目录的访问权限

Options FollowSymLinks//允许符号连接

AllowOverride None//让/www目录下的.htaccess访问控制文件无效

Order allow,deny//设置访问顺序

Allow from all//允许所有主机访问

</Directory>

这样,目录/www就可以被访问。

(8)配置Apache对虚拟主机访问的用户存取认证

①建立用户的密码文件。

#mkdir/key

#cd/key

建立密码文件所存放的目录/key,该目录可随便取名。

利用Apache的htpasswd命令,建立一个passwd的密码文件。该文件有一名为cqvie的用户。

#/usr/local/apache2/bin/htpasswd-c passwd cqvie

New password://输入用户cqvie的密码

Re-type new password://再次输入上面的密码

Adding password for user cqvie

-c参数代表create创建一新文件。这样就创建一个密码文件passwd,查看文件内容,发现有一个用户

#cat passwd

cqvie:rbM.0xI30TXvc

其中cqvie是用户:后是cqvie用户密码的密文。

如果要添加用户test,再次执行htpasswd指令。

#/usr/local/apache2/bin/htpasswd passwd test

New password://输入用户test的密码

Re-type new password:

Adding password for user test

#cat passwd

cqvie:rbM.0xI30TXvc

test:tv2SzT4Ty8mOI

发现密码文件passwd新添加了用户test。

②设置对目录的/www的访问权限。

#vim/usr/local/apche2/conf/httpd.conf

<Directory“/www”>

Options FollowSymlinks//允许Apache遵循符号链接

AllowOverride ALL//允许服务器的所有访问控制文件

Order allow,deny

Allow from all

AuthName“www测试”//认证名称设为www测试

AuthType Basic//用户认证协议设为Basic基本认证

AuthUserFile“/key/passwd”//用户密码文件

require user cqvie//需要cqvie用户才可以访问

</Directory>

(9)设置Apache的虚拟目录

①在系统下建立/phptest目录。

#mkdir/phptest

②在该目录下创建index.php文件。

#vim/phptest/index.php

编辑文件内容如下<?php phpinfo();?>。这是php一个脚本,函数返回php的所有信息。包括了php的编译选项及扩充配置、php版本、服务器信息及环境变量、php环境变量、操作系统版本信息、路径及环境变量配置、HTTP标头及版权宣告。

③修改Apache配置文件httpd.conf。

#vim/usr/local/apche2/conf/httpd.conf

在文件末尾添加如下内容:

Alias /php /phptest //phptest实际目录设置为php虚拟目录

<Directory“/phptest”>//设置/phptest目录的访问权限

Options FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

(10)重新启动Apache做测试

#/usr/local/apache2/bin/apachectl restart

在Windows下访问服务器http://www.sl233.cn:5555,http://aaa.sl232.cn:5555,http://www.sl232.cn/php:5555,网页正常显示如图2.4.1~2.4.3所示。

图2.4.1 http://www.sl233.cn:5555网页

图2.4.2 http://aaa.sl232.cn:5555网页

图2.4.3 http://www.sl232.cn/php:5555网页

2.4.5 考核要点

表2.4.1 Apacheweb服务器架设考核要点

2.4.6 能力拓展

一、阅读以下关于在Linux系统中配置Apache服务器的说明,回答问题1至问题3。

【说明】

在Linux系统中采用Apache配置Web服务器。Apache服务器提供了丰富的功能,包括目录索引、目录别名、虚拟主机、HTTP日志报告、CGI程序的SetUID执行等。

【问题1】

请在(1)、(2)、(3)、(4)空白处填写恰当的内容。

Web客户机与服务器共同遵守(1)协议,其工作过程是:Web客户端程序根据输入的(2)连接到相应的Web服务器上,并获得指定的Web文档。动态网页以(3)程序的形式在服务器端处理,并给客户端返回(4)格式的文件。

(1)~(4)的备选项

A.HTML B.ASP C.JSP D.IIS

E.SOAP F.URL G.HTTP H.VGA

【问题2】

请在(5)~(11)空白处填写恰当的内容。

Apache的主配置文件为httpd.conf。某Web服务器的httpd.conf文件部分内容如下:

ServerType standalone ServerRoot“/etc/httpd”Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

MinSpareServers 5

MaxSpareServers 20

StartServers 8

MaxClients 150

MaxRequestsPerChild 100

Port 8080

User nobody

Group nobody

ServerAdmin root@webtest.com.cn

ServerNameWebTest

DocumentRoot“/home/webtest/jakarta-tomcat/webapps/webtest”Options FollowSymLinks

AllowOverride None

Options Indexes Includes FollowSymLinks

AllowOverride None Order allow,deny Allow from all

DirectoryIndex index.html index.htm index.shtml index.cgi

Alias/doc//usr/doc/order deny,allow deny from all

allow from localhost

Options Indexes FollowSymLinks

以RPM方式安装的Apache服务器,配置文件httpd.conf存储在Linux的(5)目录下。根据上述配置文件,该Web服务器运行在(6)模式下,其运行效率比在inetd模式下(7);当某个Web连接超过(8)秒没有数据传输时,系统断开连接。

如果客户需要访问Linux服务器上/usr/doc目录,则应在浏览器地址栏中输入(9)。虚拟主机是指在同一台服务器上实现多个Web站点。虚拟主机可以是基于IP地址的虚拟主机,也可以是基于(10)的虚拟主机。创建基于(10)的虚拟主机时,还需要配置(11),并在区数据库文件中添加相关记录。

【问题3】

如图2.4.4所示是配置Apache服务器的一个窗口,选中目录选项ExecCGI,意味着什么?如果将图示的目录选项中Indexes选中状态取消,并且虚拟主机目录中也没有相关的Index文件,客户机通过浏览器访问有关的虚拟主机目录时有何后果?

图2.4.4 配置Apache服务器的一个窗口