2007年2月7日星期三

Discuz! 5.5 令人心动的一个新特性

Discuz! 5.5 令人心动的一个新特性:把论坛附件放在 FTP 服务器上!这样就可以解决论坛附件不能太大的问题了,而且可以把 FTP 服务器和论坛服务器分开!

http://www.discuz.net/thread-527718-1-1.html

2007年2月4日星期日

CTeX 论坛从 IPB 转换到 Discuz!

在经过一段时间测试、熟悉 Discuz! 后,昨天把 CTeX 论坛从 IPB 转换到了 Discuz!。
从 IPB 到 Discuz! 本身并不太难,Discuz! 论坛上提供了转换工具。问题是原来的 IPB 论坛数据库中存放的是 latin1 编码,而 Discuz! 用的是 gbk 编码。于是根据网上查到的方法,把数据库做了转换。基本过程是:

mysqldump -uctex -p --default-character-set=latin1 --set-charset=gbk ctex_ipb > ctex_bbs.sql

这一步是把数据库导出到 SQL 文件中,ctex_ipb 是论坛的数据库名字。然后用文本编辑器打开 ctex_bbs.sql 文件,把所有的 CHARSET=latin1 改为 CHARSET=gbk。同时把原来 IPB 的一些帖子中的链接方式改为 Discuz! 的方式,因为帖子的 id 不会变化,所以只要把前面的 URL 替换就行了。然后再导入到数据库中:

mysql -uctex -p --default-character-set=gbk ctex_test < ctex_bbs.sql

这里的 ctex_test 是临时建立的一个数据库。编码转换是否成功的一个判断方法就是用 phpMyAdmin 直接查看帖子数据,如果能看见正常的中文,就是转换正确了。

最后用 IPB 到 Discuz! 的转换工具从这个临时数据库转换到 Discuz! 数据库。

当然也可以通过修改 Discuz! 设置的方法来使得它支持 latin1 编码的数据库,可是采用 gbk 编码有很多好处的,例如可以直接用 phpMyAdmin 来检查、修改数据了。

2007年1月28日星期日

Apache 的 mod_evasive 模块

最近 CTeX 的服务器经常收到 DoS 攻击,导致论坛无法访问,甚至整个服务器瘫痪。今天抽空把 Apache 升级了一下,同时装了一个防 DoS 的模块 mod_evasive。希望能起作用。

2007年1月26日星期五

SideBySide (SxS) 错误

今天在系统的事件查看器中发现几个 SideBySide 错误:

事件ID: 32找不到附属汇编 Microsoft.VC80.MFCLOC,上一个错误是参照的汇编没有安装在系统上。

事件ID: 59Resolve Partial Assembly 为 Microsoft.VC80.MFCLOC 失败。参考错误消息: 参照的汇编没有安装在系统上。

事件ID: 59Generate Activation Context 为
C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.163_x-ww_39049d00\MFC80U.DLL
失败。 参考错误消息: 操作成功完成。

上网查了一下,发现和 VC8.0 的运行库有关,下载了一个 vcredist_x86 安装包安装后问题解决。

下载地址是:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=32BC1BEE-A3F9-4C13-9C99-220B62A191EE

2007年1月5日星期五

编译 Boost 1.33.1

今天安装了 Boost 1.33.1 版本,使用 Intel C++ Compiler 9.1 编译过程如下:
  1. 到 SourceForge 下载最新的 Boost 源码,解压缩到 D:\boost_1_33_1 目录
  2. 下载最新的 Boost-jam,解压缩到 D:\boost_1_33_1\tools\build\jam_src 目录(替换原来的目录,或者另建一个目录)
  3. 进入 jam_src 目录,运行
    build.bat icl
  4. 将上一步得到的 bjam.exe 拷贝到 PATH 环境变量包含的目录或者 D:\boost_1_33_1 目录下
  5. 进入 D:\boost_1_33_1 目录下,运行
    bjam.exe "-sTOOLS=intel-win32-stlport" "-sINTEL_VERSION=9.1" "-sINTEL_PATH=C:\Program Files\Intel\Compiler\C++\9.1\IA32" "-sSTLPORT_5.1.0_PATH=D:\STLport-5.1.0" "-sSTLPORT_VERSION=5.1.0" stage
    (如果 STLport 的版本以及安装路径不同,则做相应的修改,如果没有安装,则去掉相应的选项)

最后在 D:\boost_1_33_1\stage\libs 目录下得到了 156 个库文件。具体的这些文件的命名方式可以在 D:\boost_1_33_1\more\getting_started.html 文件的末尾找到。