AWS CentOS 6.5上搭建PPTP VPN服务

主要参考了这篇网上文章:
centos 6.4 6.5安装搭建pptp vpn服务

有两个要点:
1,iptables里面要打开1723端口
2,要在AWS管理台里面,将EC2的安全组的inbound rule进行修改,以支持1723端口

另外,在修改 linux 内核文件 #vi /etc/sysctl.conf后执行/sbin/sysctl -p时,报错:
error: “net.bridge.bridge-nf-call-ip6tables” is an unknown key
error: “net.bridge.bridge-nf-call-iptables” is an unknown key
error: “net.bridge.bridge-nf-call-arptables” is an unknown key

解决方法如下:
modprobe bridge
lsmod|grep bridge

在我搭建完了后,发现了这篇文章,看起来有人做了一个自动化脚本,搞定一切:
使用AWS EC2搭建PPTP服务
我没有测试,不知道如何,读者诸君自己判断吧。

G31主板加阵列卡组raid0

前段时间将家里一台老机器略微升了级,近期由于手头主力机器没怎么使用,用老机器为主,办公看网页都很好,不过开两个虚拟机的时候,则略微有些性能不足了。总体来说,能再升级当然更好,譬如加内存,不过G31的主板内存插槽只有两个,各插了一根2G DDR2 800的内存。现在老内存条比DDR3的贵很多,老机器如此升级不合算了。不如看看提升IO性能,硬盘是老的160G,16M缓存的,其实有点慢了,好在正好有两个这样的硬盘。于是想不如做个raid0,两个并成一个,而且还提高读写速度。

查资料,这款梅捷的G31主板(sy-i5g31-l)是不支持raid功能的,于是淘宝了一块raid卡,拆机下来的乐扩MM-SA3114-4IR5,20元+6元运费=26元搞定。下面说说硬件及系统安装的要点。(点这里到该阵列卡的官方网站

硬件安装其实很简单,装在PCI插槽就可以了。这块梅捷G31主板一个PCI-E插槽和两个PCI插槽,由于上次买了个9500GT显卡装上,其风扇挡住了一根PCI插槽,所以我其实只有一个选择啦。两个硬盘的资料事先备份后,将sata线从主板上拔下改插到阵列卡上,如此就可以了。开机后,会显示阵列相关的信息,并且提供Ctrl+S或者F4快捷键进入raid设置。具体设置过程不列举了,无非就是选择raid0,选择两块硬盘,然后点创建。这里最好先将两个硬盘做低级格式化,然后创建成raid0,

硬件安装过程中有小插曲,我PCI插槽没有插牢固,导致主板没有认出raid卡,开机好几次都没看到raid设置,进BIOS也看不到raid卡,更看不到原有硬盘了。一度以为被JS骗了,后来重新插了一遍,终于成功。

安装系统则费了一点周章,我一共尝试了四种操作系统。

第一种是windows 7,目测应该能安装,但由于别的原因没安装成功(蓝屏,提示这块板子的设置不支持ACPI)。

第二种是Ubuntu 14.04,用U盘引导安装,进入硬盘分区设置的地方比较诡异,选择第一种全覆盖安装就报错,选择LVM安装也是报错,说bootlooder不能安装到硬盘上,选择自定义安装,则看到一堆硬盘分区,基本能看到两个硬盘的原有分区都在里面,不是说好两个硬盘组raid0以后系统就识别当成一个硬盘的吗?

第三种是Fedora Wokstation 22,刚刚发布出来的很漂亮的系统,用u盘安装,结果完全认不出硬盘,只得放弃。

第四种是CentOS 6.5,识别一个320G的硬盘,一路向下,顺利完成,安装体验不错。

网上查了一下,可能有Ubuntu和Fedora支持阵列卡的解决办法,无非是安装程序启动时加载驱动之类的。本人暂时没时间折腾,再说这是台二奶机器,就算了。

就跑CentOS 6.5吧,胜在稳定。上面再跑虚拟机好了。

安装CentOS 6.5用作桌面系统

种种原因,家里一台老台式机装上了CentOS 6.5,因为主力机器最近因故没用,所以这两天将这台台式机当桌面系统在用。就目前流行来看,更多人可能会用Ubuntu,因为方便、漂亮且流行。也可能有很多人用Fedora Wokstation,尤其是做软件开发的用户,Fedora应该是开发环境支持做得不错,而且界面也漂亮。我的选择是硬件导致的,这里不细说了。

CentOS 6.5稳定,界面略朴素。安装比较顺利,当然还手工要安装一堆东西。第一个是nVidia显卡驱动,这个可以从nVidia官网下载,不过官网也说了,不同Linux发行版,可能有自己的repository支持,建议优先从那些地方安装。我查了一下,ELRepo源是可以的。具体安装过程:

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

这是第一次用ELRepo源,其口号是”For the community, by the community.” 好耳熟啊,政治课听到过类似表述有没有?

以上完成后,用系统带的添加/删除软件工具,就可以看到nvidia的驱动了。选择对应版本,并且卸载系统默认安装的开源的nouveau驱动就可以了。

顺便提一下,同样是nVidia 340.78的驱动,centOS下对双显示器的支持,比在Ubuntu下好,我亲测如此。

此外,还添加了EPEL源,EPEL全称是“Extra Packages for Enterprise Linux”,添加方式:
sudo yum install epel-release

由于更习惯于用英文系统,所以此外还要手工选择安装中文输入法、安装NTFS文件格式的支持。

安装VirtualBox的时候,extensionPack哪怕看起来安装成功了,但可能是有问题的,忘了做什么的时候报了个错,说没有安装好,要我运行/etc/init.d/vboxdrv setup,结果还报错,说内核编译不成功,通过看/var/log/vbox-install.log的错误信息“unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again. ”,网上查了才知道,要安装内核的开发文件,于是:
sudo yum install gcc kernel-devel kernel-header
如此再运行
sudo /etc/init.d/vboxdrv setup
则成功。

还有一堆软件的安装就不再列举。

网上有篇很好的CentOS 7的安装过程记录,可以参考:
http://seisman.info/linux-environment-for-seismology-research.html

新建的Joomla网站慢的原因之一

这两天帮朋友搭建基于Joomla的网站,服务器放置在香港。从家里访问起来始终很慢。
一开始以为是大陆和香港的网络问题。后来尝试用香港的VPN连接,各种速度的测试。
发现虽然有改善,但仍然很慢。

在排除了网络、服务器硬件性能等一系列因素后,将注意力放在了网站本身。

最后发现其实问题很简单,哪怕不用特别的分析软件,就凭肉眼,也能发现:
当首页加载的时候,浏览器一直在加载http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js文件。
原来如此!google可是被伟大的G.F.W墙掉的阿!能成功加载才怪了。

解决办法就是把所有的调用修改掉,要么修改一个大陆访问很快的jquery库,要么修改为调用网站服务器的本地文件。
要注意的是,joomla在安装了各种模块后,对google jquery文件的调用可能不止一处。
在我的case里,一共两个地方:
1,K2里面有调用,解决起来很简单,只要在管理后台K2的设置里面去修改就可以;
2,Responsive Contact Form模块,这个要修改mod_responsive_contact_form.php:

// $document->addScript('//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js');
$document->addScript(JURI::root(true).'/media/k2/assets/js/jquery-1.8.3.min.js');

这是最简单的办法,不知道如果模块升级,这个文件会不会被更新掉。考虑到这是一个简单的模块,哪怕有新版本,要么不升级,要么升了再检查修改吧。