设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 操作系统 >> UNIX系统 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
Linux系统中提高文件系统…
Windows Vista为IT业带来…
QQ为何会造成Windows Vi…
Windows Vista的日常操作…
Windows Vista操作系统安…
Win Vista应用技巧两则
Vista加入InfoCard身份认…
升级Windows Vista应知六…
微软证实Windows 2000不…
不同Windows中安装五笔的…
  Linux和Solaris建立Apache的虚拟根环境         
Linux和Solaris建立Apache的虚拟根环境
 

介绍

我曾经利用CERN httpd安装和使用了已经虚拟根环境下的Web服务器。对Web服务器建立虚拟根环境有各种各样的优点和缺点。在Web发展的早期阶段,这种技术还提供了额外的有价值的安全机制。但是在这个apache的领域中,这种技术似乎没有太大的用处,可它仍旧很有趣。

我提供对apache在linux和soloris环境下实现虚拟根环境的安装的例子,它既可以做标准的编辑(在必要的时候被标记为non-DSO)或者做动态共享对象编辑(在必要时它将被标记为DSO)。选项为DSO的Solaris的例子还没有进行文档化,所以我没有测试它(我打算在测试时使用Solaris 8)。

在Linux上安装一个虚拟根环境化的Apache目录树是相当的简单的。这个例子使用的是Red Hat 6.*和Apache 1.3.12。同时,它也包含PHP4(作为一个Apache模块),以及在虚拟根环境化的目录树上的perl5的安装。另外还安装了mod-ssl和mod-perl。

该例也假定Red Hat 安装比较完整 (即:有足够的文件、库和开发工具)。注意,如果你安装Red Hat时用了custom(prefered)的配置,并且选择了development选项;或者你就是使用了服务器(server)配置,你都会有一个完全的开发环境。

Mysql3.22.27并没有安装在实现了虚拟根环境目录树中,但是为了完整性我们在此将它包含进去。

声明

我并不是个专家:),尤其在加密方面(openssl、mod-ssl和company)我的水平更是有限。我也是个普通的人,也会犯错误,所以,如果你发现了什么或是有什么建设性的意见,请告诉我。

我写这篇文章只是希望,你能从中学到一些东西,获得一些帮助。我也可以经常提供一些RPM,但如果你知道你可以从草图开始,独立的建一个自己的现代Web网站,那恐怕会更有趣些。但是,在当前的Internet上,学习、理解关于运行一个Web网站各种问题以及所冒的风险,都要靠你自己了。

Solaris 例子

对Web目录树进行虚拟根环境化的solaris的例子与Linux的例子十分相似。当然,如果你没有安装GNU开发环境,solaris的例子就不可能像Linux例子那样容易。

Solaris的例子文档在另一个web页中。

附加的注释

使用工具ldd来发掘必要的共享库。

在这个例子中,用户有这样的提示:

root user:

ROOT#

ordinary user:

$

我基本上都是作为普通用户而不是root用户来编译和安装各种软件的。这有助于避免对文件系统(尤其是在使用不熟悉的软件时)造成的不必要的破坏。这也有助于在进行危险操作前给以警示,例如在已经安装的二进制文件上的“setuid"操作,以及在不寻常的地方安装文件的操作等危险操作前的警示。

在这个例子中,我作为用户soft:soft来进行编译和安装等操作。

其实,只要保证软件的所有者的身份ID与Apache目录树用户的ID(在本例中我们用的是888)不同就可以了。

Red Hat的缺省root环境中,有一个交互式的开关-I被加在命令cp、mv和rm上。如果你的root环境中没有这些设置,建议你最好将它加上。你可以检查下面的文件:

ROOT# alias |grep '-i'

alias cp='cp -i'

alias mv='mv -i'

alias rm='rm -i'

你应当使你的配置尽量的简单——不要安装那些用不到或根本不必要的模块。一般说来,一个标准的non-DSO(非动态共享对象)Apache,在安装一个perl,对大多数人都是足够的。

关于DSO和mod-ssl需要注意的地方:

如果你打算把任何东西都按照DSO模版进行编译,那你首先要建立mod-ssl,然后你确实要按照下面的顺序建立自己的Apache目录树。Mod-ssl会明显的修改Apache 建立的目录树,据我的经验,在使用我们刚才提到的软件版本的前提下,下面的顺序是做起来最简单的顺序:

建立Apache

在Apache中建立和增加mod-ssl

在Apache中建立和增加php 和mod-perl。

你应该在适当的地方记录下来你是如何编译你的目录树的,以便再做时参考。(你可以将其打印出来,并加上注释)

安装了各种软件之后,最终的虚拟根环境化的目录树有23MB,其中包含了8MB的共享库和perl。下面是基于DSO安装的文件的总结(以KB表示):

ROOT# pwd

/www

ROOT# du -s .

22737 .

ROOT# du -s *

6832apache

0 bin

1 dev

7 etc

6679lib

1 tmp

9215usr

1 webhome

ROOT# du -s apache /*

600 apache /bin

3 apache /cgi-bin

125 apache /conf

1560apache /htdocs

133 apache /icons

392 apache /include

3925apache /libexec

64 apache /man

29 apache /var

ROOT# du -s usr/*

8410usr/Local

336 usr/bin

340 usr/lib

128 usr/share

1.获得源代码

如果你想将一个包加入到你的虚拟根环境化的目录树中,那你必须获得这个包中任何一个文件的源代码。多数源文件都可以从相应的Linux版本的被称为SRPMs(RPM源代码包)的原码光盘中获取;当然也可从tarball文件(.tar.gz)中获取(这种方法很适合于你的带宽有限的情况)。

在Red Hat 系统中你作为root用户安装Source:

ROOT# rpm -i /path/to/SRPMfile.src.rpm

然后,在/usr/src/redhat/SOURCES/目录中提取出源代码。

在我们的例子中我将指出,在Internet上你可从何处获取这些源代码:

软件包版本号源代码文档信息

Apache  1.3.12www.apache.org/dist/ www.apache.org/docs/

MySQL3.22.27  www.mysql.com/downloads www.mysql.com/documentation/

PHP 4.0.2 www.php.net/downloads.phpwww.php.net/docs.php

Perl 5.00503  www.cpan.org/src/ www.cpan.org/doc/manual/html/index.html

mod_perl1.24  perl.apache.org/dist/ perl.apache.org/#docs

Hello.pm perl.apache.org/dist/contrib/

mod_ssl 2.6.6-1.3.12 ftp://ftp.modssl.org/source/ www.modssl.org/docs/2.6/

OpenSSL 0.9.5aftp://ftp.openssl.org/source/ www.openssl.org/support/faq.html

RSAref 2.0google search  google search

Linux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-3-31 2:41:33
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持