


Linux下虛擬域名的實現(3)
添加時間:2010-11-9
添加:
admin
目前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);
要實現虛擬域名的在線申請,就必須編寫相應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);
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解