默认的 Apache 配置一般会在服务器自动生产的页面底端附带一个“签名”,包含 Apache版本、运行于什么系统、加载了什么模块等等。控制开关为 ServerSignature,默认为On,修改为Off即可。 http header里也会返回服务器的一些基本信息,比如某搜索引擎网站的 http header 返回如下字段: Server: Apache/2.0.54 (Unix) PHP/4.4.1,某论坛的则是:Server: Apache/2.0.53 (Unix) Resin/3.0.11。(使用 Firefox 的扩展 livehttpheaders 可以很方便的查看 http header)。这是ServerTokens这个选项控制的,默认为Full(返回完整信息),修改为Prod(仅返回产品信息),返回的字段将只有Apache。(修改源码可以把这个产品信息"Apache"修改为别的字串,不过个人不建议这么做,而且不知这么作是否违反Apache协议)。
虽然这些做法对一心要搞破坏的 hacker 来说并不一定有效,但是,请相信暴露的信息越少,对你网站的安全就多一点点帮助。
ReadMore: ONLamp.com: A Day in the Life of #Apache
03/02: 无光驱无软驱安装 Debian 一法
Debian 的安装方法很多很多,参考Debian 安装手册应该可以满足 95% 以上的人的需求了。不过我的情况有一点特殊:无光驱、无软驱、能支持 USB 安装但身边没有现成的 Linux 系统;有网络,机器上已有系统 Windows 2000。
准备 Debian 网络安装需要的介质
参考手册里的说明,首先需要两个基本文件:
- vmlinuz(内核二进制文件)[注:文件名也可能为linux]
- initrd.gz (内存虚拟磁盘映像)
现在,你一般可以在 netboot/debian-installer/i386/ 目录 下找到这两个文件。下载后放到硬盘上的某个地方,比如 c:\boot\debian-install 下。硬盘分区NTFS与否无关紧要,因为下面的 Grub for DOS 支持 NTFS.
安装 Grub for DOS 并引导 Debian 安装程序
下载Grub for DOS 的最新版本,解压到 c:\ 盘跟目录下,注意有 grldr, grub.exe 文件以及 boot\grub 目录。
编辑 grub 的引导菜单,c:\boot\grub\menu.lst,再次参考Debian 安装手册。menu.lst 文件大致如下:
timeout 10 default 0 #启动原有的 Windows 系统 title Windows root (hd0,0) chainloader +1 #启动 Debian 安装程序,注意 linux 与 initrd.gz 是先前下载的 title Debian Installer kernel (hd0,0)/boot/debian-install/linux root=/dev/ram0 ramdisk_size=12000 devfs=mount,dall initrd (hd0,0)/boot/debian-install/initrd.gz
让 Windows 2000 原有的启动程序加载 grub:编辑 c:\boot.ini,添加一行 c:\grldr="Start GRUB"。grldr 来自于 GRUB for DOS,刚才已经放在 c:\ 根目录下了。
OK,一切准备妥当。重新启动,开始 Debian 安装之旅...
18/01: non-root用户从CPAN安装perl模块
系统已经安装有 perl,但缺少部分需要的模块。我不具有 root 权限,只好把模块安装在自己的 $HOME/perl 里。
大致步骤
首先,运行$perl -MCPAN -e shell,此命令配置 CPAN,会询问一堆问题。配好后,~/.cpan/CPAN/MyConfig.pm 包含所有配置信息。确定有 'makepl_arg'=>q[PREFIX=~/perl] 这一行。
之后,前面的那个命令就启动 CPAN 命令提示符 cpan>了,运行 install Module,安装模块 Module。
设置 PERL5LIB 环境变量,把 ~/perl 下的相关目录添加进 PERL5LIB。以 bash shell 为例,在 ~/.bashrc 里添加:
export PERL5LIB=~/perl/lib:\
~/perl/lib/perl5/5.8.0/i386-linux-thread-multi:\
~/perl/lib/perl5/5.8.0:\
~/perl/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi:\
~/perl/lib/perl5/site_perl/5.8.0:\
${PERL5LIB}
小技巧
运行 $perl -e 'use Module',如果没有任何输出,则表示模块 Module 成功安装。
使用 CPAN 安装模块有时候会 make test 一步失败。可到 ~/.cpan/build 的相应目录下直接 make install。
最后声明一点,本人初涉 perl,上面的说法不一定正确。