WHMCS模块——Freeradius MySQL(可实时查看流量使用情况)

上周完成了个Freeradius Server & Freeradius Client with Poptop Server and L2TP Over IPSec的安装程序,考虑到可能有需要与WHMCS对接的,因此特意弄了个WHMCS的模块。

下载地址:http://soft.yzs.me/freeradius.tar.bz2

使用方法:

解压下载的文件,把freeradius目录上传至WHMCS的modules/servers/目录中。

登录Freeradius Server的MySQL Server,添加允许远程连接MySQL的用户,且对Freeradius Server的数据库拥有所有权限。另外,my.cnf中如果有bind 127.0.0.1,需要注释掉。

登录WHMCS管理员区域,添加服务器,用户名是MySQL的用户名,密码是该MySQL用户的密码。

添加产品,到“Module Settings”标签页设置参数:

“Freeradius Database Name”为Freeradius Server使用的数据库名;“Password Type”为MySQL中密码的保存方式,可选MD5加密或明文保存(用MD5方式保存,虽然radtest是回应Accept,但PPTP仍然提示密码错误,所以用PPTP的还是用明文保存吧);“User Group Name”为新建的用户加入的组名称,留空则不加入任何组。

“Radcheck”为添加用户时往radcheck表中额外加入的记录,不需要输入id和用户名,不同字段以“|”隔开,不同记录以“,”隔开。例如“Hourly-Traffic|:=|1024”,Hourly-Traffic属于attribute,:=属于op,1024属于value,id与用户名会自动填写。

“Radreply”为添加用户时往radreply表中额外加入的记录。id与用户名自动填写,不同字段以“|”隔开,不同记录以“,”隔开。例如“Framed-IP-Netmask|:=|255.255.255.0”,Framed-IP-Netmask属于attribute,:=属于op,255.255.255.0属于value。

例如图中的设置:

settings

则添加用户后radcheck表该用户的记录为:radcheck

radreply表该用户的记录为:

radreply

 

 

切换到“Custom Fields”标签页,添加一个名为“Traffic Usage”的Custom Fields,“Field Type”为“Text Area”,并勾选“Admin Only”:Custom Fields

 

如果设置无误,即可正常使用:

Freeradius MySQL

 

NOTE:有任何的问题或建议,欢迎提出。

利用.my.cnf,安全实现Shell下MySQL免输入密码登录

MySQL,相信大家都不陌生,平时也可能会在Linux服务器上使用mysql,mysqldump等登录到MySQL服务器进行操作。

如果直接执行

则会提示输入该用户的密码。

mysql

想一想,如果执行该命令的是cron等非交互式的程序,那到这一步就无法继续。

有人会在-p后接上密码,这是非常不安全的一种做法,万一有用户这时执行ps aux,你的密码就暴露了……

其实,MySQL官方文档有说明,可以在~/.my.cnf处指定用户的密码。

.my.cnf的格式如下:

上面的user一行可以省略,不指定user,则自动以当前Shell登录的用户身份登入mysql。

把上述代码保存到~/.my.cnf,再次输入mysql(或mysql -u 用户名),mysql-client就会自动读取当前用户的家目录下.my.cnf文件的信息,可以无密码自动登入MySQL。

cron等非交互式的程序执行mysql,可能不会自动读取~/.my.cnf,或者.my.cnf保存在其他路径或保存为其他文件名时,就需要使用–defaults-file参数手动指定该配置文件的路径了:

Defaults file

 

最后说一句:一定要保证.my.cnf别的用户/组不能读取(chmod 400)……

LNMPV0.3 Stable For Ubuntu 12.*/Debian 6/Debian7/CentOS6 32Bit or 64Bit

从今天开始,LNMPV的网站正式启用,以后新版均在http://www.mke2fs.com发布

 

LNMPV 0.2 Stable:

昨天发布了LNMPV 0.1测试版,感谢http://imlonghao.com/这个勇敢的小白,试用了我的LNMPV0.1,告知了我很多BUG,经过昨晚的努力,终于解决了。

另外还要感谢单手摘JJ,经过他昨晚的提醒,让我恍然大悟,发现可以一站一POOL来实现PHP以特定的用户身份执行。从而解决跨站问题。

本次更新:

1 )使用sock方式链接PHP-FPM

2 )添加可选的一站点一POOL的功能

3 )修改PHP-FPM的进程上限

4 )修改PHP-FPM的默认执行身份

5 )修复部分过分精简的Debian 6无法安装的问题

many……

使用环境:

CentOS 6 32Bit,CentOS6 64Bit,Ubuntu 12.04 32Bit,Ubuntu 12.04 64Bit,Ubuntu 12.10 32Bit,Ubuntu 12.10 64Bit,Debian 6 32Bit,Debian 6 64Bit

将会安装:

Nginx 1.4.1

PHP5.3(Debian6,Ubuntu12.04,CentOS 6)或PHP5.4(Ubuntu12.10)

MySQL5.5

Varnish3.0.4

Memcached

我们Nginx所包含的模块:

不知道有没有列全,反正是挺多的了,具体有什么用,怎样用,Nginx WIKI欢迎您……

完美解决PHP跨站问题……

安装耗时:使用Ubuntu/Debian且网络好的大概需要一首背对背拥抱的时间,使用CentOS,甚至地处墙厚的地理位置,服务器配置太低,网速太慢,大概需要一首情歌王(或许更长)的时间……

安装以及使用教程:

没有wget的同志执行这个:

CentOS 6.*:

Ubuntu12.* or Debian 6

这里三选一(LNMPV0.1请到下面找):

zip包:

tar.gz包:

tar.bz2包:

 安装:

For CentOS 6.*:

For Ubuntu 12.*:

For Debian 6:

CentOS 6安装时需要输入MySQL密码:

CentOS6 Install

 

如果回车跳过,则安装后密码为root。

 

Ubuntu 12.*/Debian6也要(好看多了):

Set MySQL Password

 

输入两次……

输入完密码,就开始自动安装了!

看到如下提示,祝贺你,一切完成:

Finish Install

探针地址:http://你服务器的IP:8910/tz.php

phpMyAdmin:http://你服务器的IP:8910/phpmyadmin

 

添加虚拟主机:

任何地方输入addhost:

另外提供一个删除网站的Shell Script:

执行完上面的命令后,在任意地方输入”delsite”,可看到如下提示:

Delsites

 

此处列出了您所添加的站点的配置文件,假设要删除360buy.com这个网站,就输入360buy.com.conf(不要忘了.conf),按Enter。

确定无误,就按任意键继续,本Shell Script会删除相应的配置文件并且重启相应的服务。

Finish

 

更多问题,请查看FAQ

 ==================================================

其它版本:

LNMPV0.1-Beta:

经过三天半的夜以继日地紧张劳作,LNMPV0.1-Beta终于问世了……

LNMPV,是Linux,Nginx,MySQL,PHP,Varnish的简称。

自己搭建过环境的都知道,Nginx是“资源节约型”的服务器程序,是个既要马儿跑,又要马儿吃草少的东西,但这仅仅是Nginx……

相信PHP-FPM进程到了上限,要排队访问,甚至502,503的场面,大家也不陌生。

此一键包,就是为了解决该问题而生的……

下载地址:

这里三选一:

zip包:

tar.gz包:

tar.bz2包:

 

FAQ

1 ) WordPress安装插件/主题时提示输入FTP账号密码:

如果添加虚拟主机时没有使用以不同用户身份运行PHP,就执行:

如果添加虚拟主机时对该站点使用了不同用户身份运行PHP,则执行:

 

2 )关于Rewrite(重写),就是伪静态规则,可以加入到:

里面,然后重启nginx:

3 ) 关于8910端口的页面:

本人建议大家更改该页面的端口:

把listen 8910;改成其他不易被猜到的端口。

同时可使用密码控制访问:

执行后访问:8910的默认用户名是:admin,密码是:passwd

 

4 ) 关于FTP:

木有!用SFTP吧,账号是root,密码是你root账号的密码……

关于控制面板:

木有!!!玩Linux,控制台就是你的控制面板!

有待添加……

 

如果安装失败,或者安装过程出现些什么错误,请把安装目录下的log文件通过邮件方式发到我的邮箱:e”at”yzs.me

有什么好的建议,或者反映BUG的,也可以通过邮件联系我。

 

下个版本打算加入可自定义每个站点的缓存时间的功能。:8910的首页开发中……

把外链图床搬回本地

我以前一直是用SAE做图床的,当时SAE还没收费,用得也很开心。

后来,一个突如其来的消息:SAE要开始收费了,我就知道,我的网站有大部分的图片要挂了……

终于,在2012年11月12日,我的应用因欠费被停了,网站上大部分文章的图片都无法显示了……

就在今天,我想起了那些挂了的图片,为什么不把那些图片搬回自己的VPS上呢?很多文章都用了SAE做图床,如果搬回来的话,就要一篇一篇文章地去修改了,那样太麻烦了。简便点的方法,就是从MySQL下手了,MySQL有很多命令,应该会有有批量替换内容的命令吧?百度了一下,终于找到了:

首先,使用Cyberduck把SAE上的图片都下载回来。然后使用FTP上传。

我在SAE的图片的地址都是http://fztte-upload.stor.sinaapp.com,我需要替换成http://zhensheng.im/sae,wordpress的文章内容的

做下面步骤前,先备份好数据库!

如果使用PHPMyAdmin,点选wordpress数据库和wp_posts这张表,然后点SQL,输入代码以下点执行:

如果使用SSH,则要链接进MySQL:

执行后会提示输入密码,OK后回车,执行:

注意这句和上面在PHPMyAdmin执行的有区别,那就是末尾有个英文分号“;”

SQL查询

 

成功后,再次打开我以前的文章,图文并茂的局面又回来了……

真正可用的重置MySQL密码的方法

我是个喜欢折腾的人,因此经常折腾VPS,由于今天误操作,把MySQL的ROOT密码给搞丢了……

有事谷歌百度嘛,找了N多方法,没有一个真正可以,重启MySQL就打回原形了,最后,只好自己到MySQL官网看文档,终于找到方法了:

首先,结束Mysql的服务:

然后无验证启动MySQL(注意不要把&给漏了):

接着执行:

无误后,就可用如下语句重置MySQL密码:

把”passwd”里面的passwd改成你要改的密码就行了。

OK后,刷新MySQL系统权限相关的表:

退出MySQL:

重启Mysql:

一切无误后,即可使用新密码登录PHPMyAdmin。