Linux下虚拟域名的实现(3)_unix linux

目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程。下面就基于目前比较流行的RedHat来讨论一下。
三、CGI程序的编制

要实现虚拟域名的在线申请,就必须编写相应CGI程序动态修改独立的配置文件(即上面的vhostdbm文件)和进行用户的管理(包括用户申请,登录,密码修改等等)。在此只介绍对独立的配置文件的操作,其他属于如何用Perl语言来编写CGI程序,请参考有关资料。

vhostdbm文件使用dbm格式来记录数据,与用普通文本文件相比可加快寻找速度,而且易于修改。许多UNIX系统都具有叫做dbm(database management)的标准库。该库将键-值对的集合存贮到一对磁盘文件中,提供简单的数据库管理工具,可以方便的更改、新增或删除数据内容。

Perl访问dbm的方式:通过一个类似于打开文件的进程将关联数组与dbm数据库联系起来。在数组中创建新元素时立即就更改了dbm数据库。删除一个元素的同时也删除了dbm数据库中的数值。可使用:

1、欲将dbm数据库与dbm数组相关联起来:

dbmopen(%arrayname,"dbmfilename",$mode);

如果dbmfilename不存在的话就新建该库。%arrayname参数是Perl的关联数组(如果这个数组已经有值,那么这些值就被删除)。该关联数组连接到叫做dbmfilename的dbm数据库中。$mode 参数是当需要创建库时控制库文件权限的数字,该数字被指定为8制,经常被用到的是0644,给除了机主之外的新用户以只读的权限,机主可有全部权限。

2、关闭dbm库:

dbmclose(%arrayname);
%arrayname 是已经与dbm库关联了的数组名。

例6、VHOST打开vhostdbm,或新建一个dbm库:

dbmopen(%VHOST,"vhostdbm",0644);

例7、新建记录或更改已有记录(设从html文件form中传过来的参数名为vhost、rhost):
$VHOST{$FORM{'vhost'}}=$FORM{'rhost'};

例8、删除已有记录(设从html文件form中传过来的参数名为vhost):
delete $VHOST{$FORM{'vhost'}};

例9、关闭vhostdbm:

dbmclose(%VHOST);

注:以上已经假设传过来的参数经过了验证,不存在重复的记录,否则会导致已有记录的混乱。(出处:PConline)

时间: 2024-10-27 05:01:50

Linux下虚拟域名的实现(3)_unix linux的相关文章

Linux下虚拟域名的实现(2)_unix linux

目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程.下面就基于目前比较流行的RedHat来讨论一下. 二.Apache服务器的配置 Apache服务器是目前互联网上使用最多的Web服务器,它可以维护非常繁忙的站点.RedHat 6.0捆绑了Apache Web Server 1.3.它的配置文件位于"/etc/httpd/conf"目录下,有httpd.conf.srm.conf.access.conf,下面讨论一下与虚拟域名有关的配置: 1.静态配

Linux下虚拟域名的实现(1)_unix linux

目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程.下面就基于目前比较流行的RedHat来讨论一下. 一.DNS服务器的设置 我们知道互联网网是基于TCP/IP协议的,要进行通信必须获得对方的IP地址,这是通过DNS服务器来实现的.因此要想实现虚拟域名首先应当令DNS服务器接受该虚拟域名,即把它映射到指定的IP地址上.因为我们靠Web服务器来区分域名,所以这个IP地址自然应当是Web服务器所管理的. RedHat6.0操作系统中捆绑有BIND DNS服务器.它

Linux下的Chrome快捷键详细整理_unix linux

Linux下的Chrome快捷键详细整理 标签页和窗口快捷键 Ctrl+N 打开新窗口. Ctrl+T 打开新标签页. Ctrl+Shift+N 在隐身模式下打开新窗口. 按 Ctrl+O,然后选择文件. 在 Chrome 浏览器中打开计算机中的文件. 按住 Ctrl 键的同时点击链接.或用鼠标中键(或鼠标滚轮)点击链接. 从后台在新标签页中打开链接. 按住 Ctrl+Shift 的同时点击链接.或按住 Shift 键的同时用鼠标中键(或鼠标滚轮)点击链接. 在新标签页中打开链接并切换到刚打开的

如何在linux下做软raid实现方法_unix linux

如何在linux下做软raid?希望以下介绍能对朋友们有所帮助和启发! 在虚拟机系统中添加一块10g的硬盘为sdb,将硬盘分5个逻辑盘分别是sdb{5,6,7,8,9},每个盘的大小是1G. 首先利用其中三块硬盘sdb{5,6,7}建立raid5,sdb8为热备盘. 然后将sdb6作为故障盘下线,之后拔出sdb6,插入新的盘sdb9. 命令如下:mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sdb{5,6,7,8} 通过上面命令建立了使用空间为2G的raid5.盘符为/d

浅析Linux下那些超有趣的命令_unix linux

yes:输出一串y,有时可以用来对付很多y/n选择的应用 .输出很多... banner:打印字符标题,就是用字符拼出大字来 ,最好把窗口最大化,否则可能显示不全. ddate:把日历转成什么其他历,Today is Sweetmorn, the 63rd day of Discord in the YOLD 3173 fortune:输出一句话,内容有很多种,据说有唐诗宋词(有唐诗宋词的是fortune-zh,安装完之后,fortune会随机的输出唐诗宋词或英文名言.) cal 9 1752:

linux下删除带-号的文件_unix linux

不知为何主目录下突然多了个-sV文件,目测是因为nmap的-sV参数产生的. 写下来权当做个笔记~ 现在来模拟下当时的情况 touch -- -sV touch ./-sV # 两种都行 现在工作目录底下会产生一个文件名为-sV的文件 如果执行 rm -sV 会产生一个错误 rm: invalid option -- 's' Try 'rm --help' for more information. 原因是无效的参数s 本来打算Google下看看的,结果rm --help就看到答案了 To re

在Linux下用软件实现RAID功能_unix linux

数据安全性是人们在使用计算机中最重要的问题之一.通常情况下,人们会在服务器环境中采用硬盘镜像技术,以达到数据的双重备份.同样,在Linux环境下,我们也可以采用这种技术. 在Linux环境下,采用Raidtools工具,不仅可以将两个硬盘进行镜像,还可以制作软RAID0.RAID1.RAID5.说是软RAID,是因为通常情况下,RAID盘是通过专用的RAID卡进行的,而在Linux环境下,可以利用Raidtools软件实现RAID功能,所以称为软RAID.本文介绍根据不同的Linux版本,建立并

linux下ffmpeg 采集1920x1200分辨率视频 导致linux文件系统写保护

问题描述 linux下ffmpeg 采集1920x1200分辨率视频 导致linux文件系统写保护 采集参数:ffmpeg -f video4linux2 -i /dev/video0 -vcodec mpeg4 -b 2000k -r 30 求解答!!!

NT 下虚拟域名的实现

虚拟域名实际上是虚拟主机的一种. 虚拟主机的出现是为了节省硬件的投资.如果 ISP 为每个申请了域名的用户都使用一台单独的机器,显然费用会很高,而且对于访问不是很频繁的站点来说也是一种浪费.所以就出现了大家公用一台机器,但每个用户之间相互独立,功能完全等同与拥有自己的主机. 虚拟主机分为基于 IP 地址的( IP-based )和基于名称的( name-based )两种. 基于 IP 地址的虚拟主机大家虽然在同一台机器上,还是要给每个域名配置独立的 IP 地址,这样看来还不能算是一种很理想的方