Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Linux Apache Web 服务器(续二)

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

五、为用户开辟个人主页空间

  如果我们利用了LINUX系统架设了一台WEB服务器,我们不仅可以存放公司的主页,而且还可以为公司的每一个员工提供一块个人主页的空间。

  首先,为需要个人主页空间的员工在LINUX上开设一个帐号。这样,它就拥有了一个用户主目录‘/home/用户帐号名’。

addusr 用户帐号名
passwd 用户帐号名

  在用户主目录下建立一个目录‘public_html’,然后为其设置相应的权限。

cd ~用户帐号名
mkdir public_html
chmod 755 public_html

  确认在srm.conf文件中的UserDir命令设置的是public_html目录。

  让员工将自己的个人主页上传到自己用户主目录下的public_html目录中。

  现在就可以使用‘http://www.company.com/~用户帐号名’来访问员工的个人主页了。

六、用Apache实现虚拟主机服务

6.1 什么是虚拟主机服务

  所谓的虚拟主机服务就是指将一台机器虚拟成多台WEB服务器。举个例子来说,一家公司想从事提供主机代管服务,它为其它企业提供WEB服务。那么它肯定不是为每一家企业都各准备一台物理上的服务器,而是用一台功能较强大的大型服务器,然后用虚拟主机的形式,提供多个企业的WEB服务,虽然所有的WEB服务就是这台服务器提供的,但是让访问者看起来却是在不同的服务器上获得WEB服务一样。

  具体地说,就是,我们可以利用虚拟主机服务将两个不同公司www.company1.com与www.company2.com的主页内容都存放在同一台主机上。而访问者只需输入公司的域名就可以访问到它想得到的主页内容。

  用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于名字的虚拟主机,下面我们分别介绍一下它们的实现方法。以便大家在具体的应用中能够选择最合适的实现方法。

6.2 设置实现基于IP地址的虚拟主机服务

1. 实现前提

  这种方式需要在机器上设置IP别名,也就是在一台机器的网卡上绑定多个IP地址去为多个虚拟主机服务。而且要使用这项功能还要确定在你的LINUX内核中必须支持IP别名的设置,否则你还必须重新编译内核。

  下面举一个拥有两个虚拟主机的服务设置,以供参考。

2.配置步骤

  假设,我们用来实现虚拟主机服务的机器,首先已经为自己提供了WEB服务,现在将为新的一家公司www.company1.com提供虚拟主机服务。

1) 规划IP地址:为虚拟主机申请新的IP地址。(假设本机IP地址为202.101.2.1)

www.company1.com 202.101.2.2

2) 让ISP作好相应的域名解析工作。

3) 为网卡设置IP别名:

/sbin/ifconfig eth0:0 202.101.2.2 netmask 255.255.255.0

4) 重新设置‘/etc/httpd/conf/httpd.conf’,在文件中加入:

<VirtualHost 202.101.2.2>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/www.company1.com
ServerName www.company1.com
ErrorLog /var/log/httpd/www.company1.com/error.log
</VirtualHost>

5)建立相应的目录:

mkdir /home/httpd/www.company1.com
mkdir /var/log/httpd/www.company1.com/error.log

6)将相应的主页内容存放在相应的目录中即可。

3.不利因素

  这种虚拟主机的实现方法有一个严重的不足,那就是,每增加一个虚拟主机,就必须增加一个IP地址。而由于IP地址空间已经十分紧张,所以通常情况下是无法取得这么多的IP地址的。而且从某种意义上说,这也是一种IP地址浪费。

6.3 设置实现基于名字的虚拟主机服务

  而基于名字的虚拟主机服务,是比较适合使用的一种方案。因为它不需要更多的IP地址,而且配置简单,无须什么特殊的软硬件支持。现代的浏览器大都支持这种虚拟主机的实现方法。当然,这也就是指一些早期的客户端浏览器也许不支持这种虚拟主机的实现方法。

  正是以上原因,我们没有理由不使用基于名字的虚拟主机服务而使用基于IP地址的虚拟主机服务。配置基于名字的虚拟主机服务需要修改配置文件:‘/etc/httpd/conf/httpd.conf’,在这个配置文件中增加以下内容。

NameVirtualHost 202.101.2.1
<VirtualHost 202.101.2.1>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/www.company1.com
ServerName www.company1.com
ErrorLog /var/log/httpd/www.company1.com/error.log
</VirtualHost>
<VirtualHost 202.101.2.1>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/www.company2.com
ServerName www.company2.com
ErrorLog /var/log/httpd/www.company2.com/error.log
</VirtualHost>

  也就是在基于IP地址的配置基础上增加一句:NameVirtualHost 202.101.2.1而已。在本例中,为了体现只需要增加一次,所以特别地设置了两个虚拟主机服务。

  最后也是建立相应的目录,将主页内容放到相应的目录中去就可以了。

七、配置CGI

7.1 什么是CGI

  CGI是独立于语言的网关接口规范,它实际上可以用任何广泛流行的应用程序开发语言来实现,包括C、C++、Perl、Shell脚本甚至Java。

  WEB服务器从客户端得到某个URL,它告诉WEB服务器,必须运行一个CGI外部应用程序。那么WEB服务器启动这一应用程序,等待它完成并返回输出结果。最后,它将此应用程序的输出结果传输给另一端的WEB客户。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Linux成为"文件服务器"之一   下一篇:开放源码发展史上的重要事件

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号