VPS 折腾全记录-part 3 

接上。

搞完了底层基础(db 和 runtime),还是搞上层软件(ftp 、http 、cache server).

先是vsftpd,解压,进入目录:
首先编辑 builddefs.h,选择一些特性(如tcp wrapper)的开与关。

接下来直接make 编译,一般来讲几乎不会有问题,如果出错,那就是bug.

编译完成,安装。

[root@PowerPC vsftpd-3.0.2]# make install
if [ -x /usr/local/sbin ]; then \
install -m 755 vsftpd /usr/local/sbin/vsftpd; \
else \
install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then \
install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
elif [ -x /usr/share/man ]; then \
install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
else \
install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
if [ -x /etc/xinetd.d ]; then \
install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi


就是一些启动脚本,执行主程序文件,手册。如果不使用 make install ,也可以手动复制。

接下来就是恢复配置文件 vsftpd.conf.

按说,因为我的vsftpd 是用pam_mysql 认证去做虚拟用户管理。本来我是打算重新编译一个pam_mysql.so 的,因为平时,每次,只要我安装了新的mysql 后都会这么做,因为之前的适用于之前版本的pam_mysql.so 不能用了。

可是,这次,很惊奇的是,给 mysql 5.6.8 的pam_mysql.so 居然可以用,呵呵。这倒给我省事了。

然而,问题还是有的。当我启动了vsftpd 后,我发现我的用户登录后出现了一个500错误:

vsftpd: refusing to run with writable root inside chroot()


经查,这是新版本的vsftpd 的一个新特性,及不允许虚拟用户的主根目录具有可写权限。

庆幸的是,这是可以关闭的。我在这里这里找到了答案。
参见:http://askubuntu.com/questions/239239/ubuntu-12-04-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot

修改后 vsftpd.conf 就像这样:

[root@PowerPC ~]# cat /etc/vsftpd.conf | grep chroot
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/ftpusers
allow_writeable_chroot=YES


请注意最后一行,是它禁用了这一安全检查。

这下,vsftpd 又可以像从前一样自由登入登出了。

搞定了ftp 服务器,现在轮到代理、缓存服务器了。

一样,解压varnish源码包,进入根目录:
我的configure:

[root@PowerPC varnish-3.0.3]# ./configure \
> --prefix=/opt/varnish \
> --disable-largefile \
> --enable-epoll \
> --with-pcre-config=/usr/bin/pcre-config \
> --with-jemalloc


检查编译,通过,开始编译安装。

一切都很顺利。

最后,别忘了恢复配置文件 default.vcl.

好了,缓存服务器也搞定了。

未完待续。

评论