康骄建材信息网

ad2

[图解]在RHEL 4下安装使用Apache+花生壳搭建网站服务

时间:2004-10-14 01:25来源: 作者: 点击:
Web服务,也称WWW服务,是最常见的网络服务之一,用户通过网页浏览器可以轻松浏览Web服务器中的网页内容。目前较常见的Web服务器有运行在Windows环境中的IIS服务器和在几乎在各种平台都可以运行的Apache服务器。        Apache 音译为阿帕奇, Ap
Web服务,也称WWW服务,是最常见的网络服务之一,用户通过网页浏览器可以轻松浏览Web服务器中的网页内容。目前较常见的Web服务器有运行在Windows环境中的IIS服务器和在几乎在各种平台都可以运行的Apache服务器。
       Apache 音译为阿帕奇, Apache这个命名是根据北美当地的一支印第安部落而来,这支部落以高超的军事素养和超人的忍耐力著称,19世纪后半期对侵占他们领土的入侵者进行了反 抗。为了对这 支印第安部落表示敬仰之意,取该部落名称(Apache)作为服务器名。但一提到这个命名,这里还有流传着一段有意思的故事。因为这个服务器是在 NCSA httpd 服务器的基础之上,通过众人努力,不断地修正、打补丁(Patchy)的产物,被戏称为“A Patchy Server”(一个补丁服务器)。在这里,因为“Patchy”与“Apache”是谐音,故最后正式命名为“Apache Server”。
       Apache 是最著名的开源软件之一,在Web服务器领域长期占据超过半数的份额。本文在Red Hat Enterprise Linux 4系统下安装配置Apache,并使用花生壳(Peanuthull)2008 for Linux实现动态域名访问Apache站点。

一、           在RHEL4中编译安装Apache


       RHEL4系统中默认安装了Apache服务器,软件包名称是httpd而不是apache,版本为2.0.52。我们可以用命令”rpm –e –nodeps httpd”先把这个旧版卸载掉,以防止即将安装的新版和旧版的安装目录文件发生冲突。



       安装时采用编译安装的方式,此种方式相对RPM包安装会复杂一些,但是具有更大的自由度,可以根据自己的应用需要在编译之前对Apache服务器进行功能的定制。编译安装的主要步骤包括:
1.       获得Apache服务器的源码包
2.       确认具备编译所需的环境
3.       进行Apache的编译安装
 
1.       获得Apache服务器的源码包
 
      首先需要下载Apache的源码包。Apache软件基金会(也就是Apache Software Foundation,简称为ASF)专门负责管理和维护Apache 项目,ASF的官方网站是http://www.apache.org 。http://httpd.apache.org/download.cgi 是ASF官网下载Apache的主页,这里列出了Apache的主要版本:1.X和2.X。当前最新也是最好的版本是2008-12-14日发布的 2.2.11版,我们需要下载的软件包是httpd-2.2.11.tar.gz(软件包名称是httpd而不是apache)。如下图:



       httpd-2.2.11.tar.gz包下载后,我们把它保存在/home/paopaobo/backup,大小有6M多。如下图:



2.       确认具备编译所需的环境
 

       RHEL4系统中编译安装Linux需要一定的开发编译环境。我们可以用命令”rpm –qa | grep gcc”查询最重要的gcc软件包在系统中是否已经安装。结果是没有。那么可以通过命令”system-config-packages”运行RHEL4 提供的软件包管理程序安装完整的开发编译环境。如下图:



       实际上”system-config-packages”这个命令就是调用了下图中所示的”Add/Remove Applications”:



运行命令后会先检查系统状态,然后在弹出的界面选中Development Tools进行Update,如下图:



接下来按照系统的提示插入安装所需的光盘既可,如下图:



耗时十几分钟,终于安装好所需的编译环境,如下图:




此时再次用命令”rpm –qa | grep gcc”查询,gcc软件包在系统中已经安装,如下图:




3.       进行Apache的编译安装
 
       接下来正式进入编译过程。Apache服务器的编译安装采用标准的源代码编译安装步骤,主要包括:
1)       使用tar命令释放源代码安装包
2)       使用”./configure”命令进行编译前的配置工作
3)       使用make命令进行程序的编译
4)       使用make install命令将已经编译的文件安装到系统中
       其中3)和4)可以合并完成。
 
      下面按照步骤进行详细说明:
 
1)释放源码包文件
 
      将下载保存在/home/paopaobo/backup的源码包复制到目录”/usr/local/src/”中,该目录通常用于保存需要编译的程序源代码。进入目录”/usr/local/src/”后可使用tar命令将源代码包释放,如下图:



      tar命令执行后会在当前目录下生成名为httpd-2.2.11的源代码目录,进入该目录可看到释放后的文件,如下图:



2)编译前的配置
 
       在httpd-2.2.11的源代码目录中使用”./configure”命令进行编译前的配置工作,如下图:



        命令为”./config –prefix=/usr/local/apache2 --enable-so --enable-rewrite”,含义如下:
“–prefix”选项预指定Apache服务器程序将要安装到的系统目录,此处我们指定为” /usr/local/apache2”,从上图可见当前” /usr/local/”下并没有这个目录,该目录将在命令运行过程中被建立。
      “--enable-so”选项设置Apache服务器可以使用动态加载模块功能,相当于Windows系统中的.dll文件,动态加载模块功能可节省系统内存资源。
      “--enable-rewrite”选项设置Apache服务器具有rewrite功能,可实现对动态网页地址的重写。
 
       ”./config” 命令的执行需要一定的时间,其间屏幕将显示配置过程信息。
 
3)编译服务器程序
 
       配置完成后,执行make命令进行程序的编译,该过程真正的将程序源代码转换为可执行程序。
 
4)安装已编译完成的程序
 
       得到可执行程序后的最后一步,就是用make install命令将已经编译完成的可执行程序安装到预指定的安装目录” /usr/local/apache2”中。
 
       步骤3和4耗时很久,在这里我们把这两步一起执行,命令是”make;make install” ,如下图:



       命令运行中同样会显示过程信息,时间上比”./config” 配置命令更长。
 
       可以看到安装成功后” /usr/local/”中多了一个apache2目录,该目录包括了完整的源代码编译获得的Apache服务器程序,目录文件总大小约24M,如下图:



二、           在RHEL4中配置Apache
 
      至此Apache就通过编译安装在系统的目录” /usr/local/apache2”中了,该目录称为Apache服务器的根目录。下面我们看看Apache服务器根目录中包含的子目录。



如上图,根目录” /usr/local/apache2”中包含以下目录:
 
       bin目录中包含了Apache服务器运行和管理所需的执行程序,其中httpd是服务器的执行程序,apachectl是服务程序的启动脚本。
 
       lib目录中保存了Apache服务器运行所需的库文件。
 
       conf目录用于保存Apache服务器的配置文件,其中httpd.conf是Apache服务器的主配置文件。
 
       htdocs目录是Apache服务器的文档根目录,该目录将作为Web服务器的根目录。
 

       manual目录中保存了Apache服务器的帮助手册文件,文件是网页格式的,可以通过访问Apache服务器中的” manual”目录阅读该目录下的帮助文件内容。



继续看,如上图,根目录” /usr/local/apache2”中还包含的目录有:
 
       man目录用户保存Apache服务器的手册页文件,文件被分别保存在man1和man8两个子目录中,可以使用man命令阅读指定的手册页文件查询目录的帮助信息。
 
       logs目录用户保存Apache服务器的日志文件。
 
       理解以上Apache服务器常用目录的功能有助于对服务器的管理。
 
 
       接下来我们将httpd服务运行起来。
前面我们说过,bin目录中的apachectl是服务程序的启动脚本。进入bin目录后:
“apachectl start”——启动httpd服务
“apachectl stop”——停止httpd服务
“apachectl restart”——重启httpd服务
 
更多命令参数:进入bin目录后,直接运行“apachectl”将显示帮助信息。
 

现在我们进入”/usr/local/apache2/bin”目录,用“apachectl start”启动httpd服务,如下图:





       如果要使Apache服务器在Linux系统启动时自动运行,可以将Apache服务器的启动脚本apachectl的启动命令写入到/etc/rc.local文件,如下图:



在文件末尾添加启动命令”/usr/local/apache2/bin/apachectl start”,然后保存、退出,如下图:



       启动了httpd服务后,我们在RHEL4本机已经可以访问到Apache服务器的测试页面内容。证明httpd服务的确已成功启动,如下图:






       接着我们在局域网内另一台Windows XP Pro SP3上测试,却无法访问到192.168.0.10,如下图:



       经过分析,不能访问的原因在于RHEL4的防火墙设置。用命令”system-config-securitylevel-tui”打开防火墙配置工具,在该界面中选择Customize进入防火墙设置界面,如下图:








      在防火墙的设置界面中,选中WWW(HTTP)网络服务,允许网络中的其他计算机访问当前RHEL4主机的WWW网络服务,如下图:



       该防火墙配置工具设置保存后是即时生效的,并将设置保存到文件中。
这时我们再回到局域网内另一台Windows XP上刷新浏览器页面,成功的访问到Apache服务器的测试页面,如下图:



       最后我们说一下Apache服务器的配置文件”/usr/local/apache2/conf/httpd.conf”,前面提到过,httpd.conf是Apache服务器的主配置文件,如下图:



用vi打开httpd.conf,我们看到相当多的注释,如下图:



       注释行以”#”开头,其内容只起到说明和注释作用,对服务器的配置不起作用。初学者通过阅读注释行可以快速获得配置项的帮助内容。而行首没有”#”的称为设置行,是配置文件中真正有效的设置内容。
 
       经统计,httpd.conf文件中的注释行的数量甚至超过了设置行的数量,过多的注释行内容会对配置文件的阅读造成一定的干扰,我们可以用grep命令去除httpd.conf文件中的注释行的内容,来获得有效的配置清单,如下图:



       如上图,httpd.conf文件中的设置行大致内容如下:
ServerRoot用于设置Apache服务器的根目录;
Listen设置Apache服务器监听的网络端口号,默认为80;
ServerAdmin用于设置Apache服务器管理员的E-mail地址;
DocumentRoot用于设置Apache服务器网页(文档)根目录在Linux系统中的实际目录;
……
这类配置项称为全局配置项,这些配置项不包括在任何区域中,决定了Apache服务器的全局设置。
 

       还有一类配置项称为区域配置项。实际上,httpd.conf文件中的大多数设置都是包括在区域中的,例如:



      在以上的区域定义中,使用<Directory />定义区域的开始,使用</Directory>定义区域的结束,区域开始和结束之间的设置内容只作用于该区域内部,而不会在全局或 其他区域中生效。掌握在区域中进行合理设置可以对Apache服务器进行非常灵活的功能设置。
 
       关于Apache服务器的更多设置,请参考http://www.apache.org。

三、           在RHEL4中安装花生壳(Peanuthull)2008 for Linux实现动态域名访问

       最后我们在RHEL4系统中安装Peanuthull 2008 for Linux,实现通过域名对Apache测试页面的访问。
 
       将适合RHEL4的包phlinux-1.0-install.redhat.tar.gz下载到系统中,然后进入压缩包所在文件夹,用tar命令解压缩,如下图:



解压后生成文件夹phlinux_install,进入文件夹,执行安装脚本#./install.sh,如下图:



       执行过程中系统报错:缺少libstdc++.so.5库,用rpm –qa | grep libstdc查询,发现RHEL4系统默认安装的是libstdc++3的版本,如下图。去查找libstdc++3安装即可,过程省略。





       安装好libstdc++.so.5库后,再次执行安装脚本#./install.sh,将自动以互动配置模式的phlinux程序:
输入web服务的地址,直接回车
 
Runing phlinux for first configuration...
Peanuthull Linux-core 1.0 by oray.net, copyright 2005
No user configuration found, entering interactive mode automatically!
 
Peanuthull Linux-core Interactive startup.
Please input service address(press ENTER use phservice.oray.net):
 
输入花生壳服务器地址phlinux3.oray.net,直接回车
Please input server address(press ENTER use PH031.Oray.Net):
 
此处提示输入花生壳护照名
Please input username(press ENTER use ):
 
此处提示输入花生壳护照密码
Please input password:
 
系统提示是否保存配置文件,在这里输入yes回车,花生壳即登录在线。
Save to configuration file (/etc/phlinux.conf)?(yes/no):
 

       登录完成后,在局域网内另一台Windows XP系统的电脑上用”nslookup 域名 ns1.oray.net”检查解析结果,如下图:



尝试访问域名,显示Apache测试页面,如下图:



       总结:在Red Hat Enterprise Linux 4下安装和配置使用Apache后,经过花生壳的动态域名解析,就可以实现通过域名访问到Apache站点。在实际应用中,除了Web服务器之外,还需要 有网页编程语言和后台数据库等多种角色,例如LAMP网页应用架构(Linux平台下的Apache服务器+MySQL数据库+Perl/PHP /Python语言)。
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
Copyright 康骄建材信息网(www.hker.net). All Rights Reserved. 渝ICP备19017680号
Powered by Hker6.0 建议1024*768.本站文字来源网络,如有侵权请联系我们删除:Hkeradmin@gmail.com。