DirectAdmin额外流量模块For WHMCS

如果没猜错,WHMCS自带的DirectAdmin模块是不带添加额外流量的功能的。

看了下DirectAdmin的API文档,利用CMD_API_MODIFY_USER即可实现添加额外流量的功能。

一开始打算用CURL的,不过DirectAdmin提供了一个httpsocket.php,创建数组调用里面的函数就行了。

下载地址:http://soft.yzs.me/additionalbandwidth.zip

使用方法:

1)  上传到WHMCS的modules/servers目录,然后解压。

2) 到后台添加服务器,选择Type为Additionalbandwidth,并填写好信息。

3) 添加并配置产品,在“Custom Fields”标签页添加一个编辑框,勾选“Required Field”和“Show on Order Form”,建议使用正则表达式限制纯英文字母:Custom Fields

不会写正则表达式就用这个:

完成上面一步后,到“Module Settings”标签页,设置好要添加的流量,以及刚刚添加的“Custom Fields”的“Fields Name”

Module Settings

 

4) 测试,下单时在那个编辑框中填入控制面板的用户名

NOTE:Suspend以及Unsuspend功能并没有实际效果,只是把WHMCS处的服务标记为暂停与激活状态。Create是添加额外流量,Terminate是把额外流量设置为0。

由于此API的操作不返回任何信息(不管错误亦或是正确),因此不管是否成功添加流量,WHMCS处都会提示“Module Command Success”。

解决bind mount下使用ro参数提示mount: warning: /bindmountdir seems to be mounted read-write.

假期有事情忙,最近又开学了,所以隔了好久没更新博客。

用过Linux的,对mount命令都不会太陌生,可以利用它,挂载物理磁盘,虚拟磁盘等到特定的目录。

不过Linux实在是“毁三观”,从2.4.0的内核开始,就加入了“bind”这个挂载参数,意味着,你可以把指定文件挂载到指定文件,指定目录挂载到指定目录,而两个文件/目录内容保持一致。

bind是一个挂载参数,因此要使用该参数挂载时,在-o后面添加bind就行了:

使用–bind参数,效果一样:

不过使用过程中发现,如果使用了bind参数的同时,添加了ro参数,会提示:mount: warning: /bindmountdir seems to be mounted read-write.

Bind Mount

其实mount还有一个很好用的参数,那就是remount。

利用remount参数,我们就可以把bind mount的文件/目录挂载为ro:

执行mount命令查看mount信息:

 

Read Only

 

可以看到,新的目录已成功挂载为read only。

往里面写入数据,如果提示Read-only file system就对了:Touch

 

开启OpenVZ的二级配额(允许小鸡使用配额)

OpenVZ,一个非常强大的虚拟化技术,性能损失近乎零(不超资源上限的情况下),因此也是我最喜欢的一种虚拟化技术。

最近在给OpenVZ安装某个程序,由于是多用户,因此需要使用Linux的配额(quota)功能,但是执行edquota -u 用户名时,提示无文件系统支持配额。

noquota

 

由于OpenVZ虚拟出来的VPS并不是独立一个分区的,甚至可以说只是一个简简单单的chroot,那就意味着无法简单地通过mount为usrquota和grpquota来开启配额支持。

看了下相关的官方文档,发现OpenVZ有二级配额功能。

首先关闭VPS的电源:

VPS的CTID可以通过执行vzlist查看。

然后执行以下命令添加配额限制:

注意上面的100是限制配额数目,主要看你要对多少个用户启用配额,你执行以下命令可以看到你系统有多少个用户:

那么限制数目限制一定要比系统的用户数目大。否则超出配额用户数目限制后,部分用户会一直提示超出配额限制,无法正常使用。

执行好上面的命令设置配额限制后,启动VPS:

登录进VPS里面,再次执行edquota修改配额,无错误提示了:

edquota

 

修改软和硬限制的blocks和inodes数值,保存,然后以该用户身份创建一个大文件:

exceeded

 

出现“超出磁盘配额”的提示,则表明配额已生效。

 

XEN VPS上使用ISO安装Windows Server 2012(解决提示:缺少计算机所需的介质驱动程序)

今天在给一个XEN的VPS用ISO安装系统(你没看错,我也没打错,的确是XEN)。

因为是XEN,虚拟机,无DVD驱动器,也不给你从面板挂载ISO,因此只能从硬盘安装。

大概的步骤是这样的:

下载ISO到另一个分区——EasyBCD添加ISO启动项——重启——登录VNC,选择ISO的那一项……

上面这几步都很顺利,但是到安装那就出问题了:Failed

 

提示:缺少计算机所需的介质驱动程序。这可能是 DVD、U 盘或硬盘驱动程序。如果你有包含该驱动程序的 CD、DVD 或 U 盘,请立即插入。注意:如果Windows 安装介质在 DVD 驱动器或 U 盘中,你可以在这个步骤中放心地将其取出。

XEN的硬盘应该是不需要额外的驱动的,不过我记得这个问题在一次的重装系统时遇到过,貌似需要运行sourcess里面的setup.exe。

尝试着运行ISO挂载出来的X盘的sourcess里面的setup.exe,仍旧那种提示。

于是重启,进入原来的系统,把ISO解压到了D盘。再次进入Windows Server 2012的安装面界。

然后按Shift+F10召唤出CMD,切换到D盘,执行解压出来的sources/setup.exe。

SETUP

 

不过Windows Server 2012安装要KEY呢:KEY

 

没KEY还不给安装……

Google了个对应版本的KEY:

KEY Finish

成功进入下一步:

Success

 

操作分区,把原来C盘删掉,重新创建(D盘放着ISO,最好别删吧)

分区

 

开始安装:开始安装

 

整个过程十分钟不到,是VPS性能太好了?还是Windows Server 2012优化过?

设置密码(就算原来打了“●”我也要把密码位数掩盖掉)

设置密码

 

搞定:

登录面界

 

 

到此为止,这下我真的看不出KVM有什么优点了……