Lubuntu去掉开机显卡启动画面(NVIDIA Splash Screen Logo)

近日将一台老的笔记本换上SSD,考虑到性能问题,选择安装Lubuntu,安装完成后顿时感觉笔记本还能再战5年,当然虚拟机神马的是不敢再玩了,用来写写PHP和上上网还是绰绰有余的,比如说这篇博文就是在这台电脑上打出来的。

当然每次配置Linux系列系统都要折腾一番,这也注定了在很长一段时间内,Linux只适合服务器领域,虽然随着Android的发力,Linux也逐步扩展到移动领域,而且在移动端是吊打微软的节奏。实际上从简单办公和编程来说Windows上一些比较优秀的软件不能移植确实很遗憾,不过好在有wine的加成,至少我现在已经成功安装了Office 2003(这个版本的顺手够用)、Fireworks 8和知网CAJViewer,对于我来说Linux有这三个原本运行在Windows下软件就足矣。其他一些软件比如PhpStorm就得益于Java可以方便的移植到Linux环境下了。

继续阅读

iptables劫持并拦截DNS查询53端口实现转向(Redirect)

企业内网中经常会有这样的需求,比如说业务服务器的IP地址为192.168.6.25,大家也就习惯于访问这个地址了,运维也很厚道的将某个域名解析到这个IP地址,这样大家也就不必记住繁琐的IP地址,同时运维也很方便的将业务服务器由192.168.6.25的主机迁移到192.168.6.26的主机而无需通知客户端更改地址,这也是域名发挥的作用,好了,现在问题来了:-)

客户说我们企业很小,不想另外购买域名,好吧,每年五十几块也是一笔费用,而且购买域名后还需要有人维护,比如要记得续费什么的,略麻烦。同样的还觉得将内网地址公布到外网上不是安全的行为。

经过我的询问得知该企业拥有一台自建的DNS服务器,为全网提供DNS查询,那这事情就好办多了,对DNS服务器软件硬绑定指定的域名到IP地址的记录(由于是我们自己的DNS服务器,这里的域名可以任意设置,当然最好设置为公网上没有的域名地址以避免冲突)。

继续阅读

MySQL备份、迁移及开放远程访问3306端口备忘

今天把数据服务器和业务服务器进行了分离,其中涉及对MySQL开放远程访问的,作出记录如下以供备忘:

假设数据服务器IP地址为192.168.1.101,业务服务器IP地址为192.168.2.51

首先在数据服务器192.168.1.101上安装好MySQL实例,然后使用root访问MySQL并建立好所需要的数据库和用户。

$ mysql -uroot -p
Enter Password:
 
> CREATE DATABASE business_db;
> GRANT ALL PRIVILEGES ON `business_db`.* TO 'business'@'192.168.2.51' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
> FLUSH PRIVILEGES;

继续阅读

树莓派Raspberry Pi用AirPlay播放实现WiFi连无线音响外放

之前有一篇文章介绍了如何使用蓝牙实现手机连接无线音箱外放,在网上搜索相关资料的过程中,我发现了树莓派另外一个强大的功能,那就是可以实现苹果(Apple)的AirPlay播放技术,简单的介绍一下,AirPlay类似于蓝牙音响播放,但是其是建立在WiFi局域网基础上的,在接入有AirPlay播放技术的局域网上,苹果的设备就会显示支持AirPlay。综合AirPlay的优势,我开始在Raspberry Pi(树莓派)上实现相关功能。

同样的,关于树莓派一些好玩的功能国外资料较为丰富,经过查阅后《Raspberry Pi Airplay Tutorial》(原文超级详细)这一篇文章对我帮助较大,具体步骤如下。

继续阅读

树莓派Raspberry Pi用蓝牙(Bluetooth)实现手机连无线音响外放

今天琢磨着如何在树莓派上挖掘出一些新玩意儿,正好上次为了试验iBeacon低功耗蓝牙基站买的一块USB蓝牙接收适配器一直闲在那儿,于是准备依托于蓝牙功能实现一些有意思的功能。

首先想到的是文件共享,蓝牙这货一开始基本功能也是文件共享吧,想到以前智能手机并不普及的年代,我曾经试验过通过拍照蓝牙传输聊天的功能,那时候想如果能通过蓝牙进行文本传输基本上就实现了一个小型聊天室了,好了,扯远了,我手边有部iPhone,据说未越狱的iPhone蓝牙传文件功能一直是短板,不知道为什么苹果要限制其蓝牙功能,折腾了许久文件传输一直未能实现,于是决定转战另外的功能。

我注意到iPhone手机可以任意的连接蓝牙耳机,也就是说可以轻松实现蓝牙的音频传送,同时在Raspberry Pi主板上有个音频输出接口,正好家里有闲置的笔记本USB Mini音箱,于是我决定将树莓派变成蓝牙多媒体播放中心。

继续阅读

使用Ziproxy图像压缩优化功能配合Squid3实现缓存加速

Ziproxy是转发,非缓存,压缩HTTP代理服务器。其可以压缩图像转换到低质量JPEG文件或JPEG 2000和压缩( gzip或) HTML和其他文字样的数据,同时还可以提供 HTML/CSS/JS 的优化,主动的主机名称解析,透明代理等功能。

之前我将Raspberry Pi(树莓派)配置了Squid3缓存代理,然后注意到了Ziproxy这款软件,因为Ziproxy没有缓存功能,所以考虑将Ziproxy和Squid3配合起来实现压缩兼缓存的上网加速功能,首先要考虑将Ziproxy放在Squid3之前还是之后,当然这两种不同的放置方法可能有不同的效果,鉴于部署的便捷性考虑,我将Ziproxy放置在Squid之前,也就是Internet - Ziproxy - Squid3 - Client。假设你已经安装好Squid3并配置好防火墙,接下来我将简单介绍一下Ziproxy的安装部署过程。

继续阅读

Debian系统SquidGuard结合Squid3进行上网行为管理(网页过滤)

之前有一篇文章介绍如何在树莓派(Raspberry Pi)上架构基于Squid3的透明代理。在文章后面讲到了如何利用广告黑名单进行广告过滤,但是这个方法比较局限,特别是没有分类要过滤的网页类型。

我今天要讲解的是利用Squid的一个插件(姑且这么称呼吧,因为这个软件是随Squid启动而启动的)SquidGuard,该软件会在Squid3处理请求的时候检查SquidGuard所管理的网站分类数据库,并根据自定义的规则进行转向(Redirect)拦截。

今天我们实验的平台依旧是树莓派(Raspberry Pi)的Raspbian,首先用apt-get先安装:

sudo apt-get install squidguard

继续阅读

Python利用htpasswd配置mini_httpd的基本认证授权(Authorization Basic)

前面我讲解了如何将树莓派(Raspberry Pi)打造成无线路由,感觉每次通过命令ssh管理显麻烦,于是自己动手编写Web界面,主要是使用Python编写的CGI程序,这里用到了mini_httpd这款轻量的Web服务器,本来想装nginx的,但是想想还是精简一些吧,毕竟资源有限,况且Web管理界面仅我一个人访问。

CGI应用跑起来了,但问题来了,如何实现普通路由的那种打开页面就弹出输入用户名密码的对话框?

这里主要用到HTTP协议的一个知识,那就是HTTP基本认证

继续阅读

Debian完全卸载清理并重新安装MySQL服务器

之前服务器上配置测试用的服务环境,我偷懒顺手用网上现成的脚本进行安装,结果MySQL启动不了,于是我只有老老实实的重新安装MySQL Server,原本以为apt-get --purge这类命令可以很好的帮我解决这个问题,于是我通过下面的命令重新安装:

sudo apt-get --purge remove mysql-server
sudo apt-get install mysql-server

然后再一次的启动MySQL,仍然失败报错,搜索网络依旧是提示重新安装MySQL服务程序,看样子是上面卸载命令不能很好的清理安装残余,最后找到这么一篇文章《MySQL Problems – a complete reinstall》。找到了完全清理卸载干净MySQL的办法,记录在这里供备忘。

继续阅读

解决项目依赖库缺少相关源文件导致无法编译的问题

项目在本机测试正常,准备先部署到测试服务器上供内部测试用,结果在部署设置环境时出现了错误。

主要是在easy_install所用到的Python库时编译出错导致的compilation terminated。经过调试找到了相关的解决方案,记录在这里算是个备忘。

在编译bcrypt时出现的错误:

fatal error: ffi.h: No such file or directory

通过下面的命令安装开发源文件解决:

sudo apt-get install libffi-dev

继续阅读