Movable Type 上手

dimlau

倒腾了好几天了吧,一直没有做个总结。今天Looki说他也要安装个MT试试,虽然他不见得会遇上麻烦。不过我总得总结一下,或许有人能用得着。

MT所需的配置:

Requirements
A standard web browser (Microsoft Internet Explorer 5.x or higher, Apple Safari, Mozilla or Mozilla Firefox) is required, and an FTP utility may be required.
Operating Systems:
Linux BSD Mac OS X Windows Server
Web Servers:
Apache Microsoft IIS Netscape
Databases:
MySQL Berkeley DB PostgreSQL SQLite

我的服务器配置:

操作系统(OS): MSWin32
Perl 版本: 5.8.6 Web
服务器: Microsoft-IIS/5.0

以下以我的安装为例说一下过程。

首先,下载Movable Type,我下载的是3.32版。

设置安装路径。在根目录下建立blog文件夹,在blog文件夹里建立cgi-bin文件夹..当然,你也可以直接在根目录建立cgi-bin文件夹。在cgi-bin文件夹内安装MT,为避免混淆以后可能装得其他CGI程序,建立mt文件夹,将下载来的程序解压后上传至此。

然后,配置mt-config.cgi文件。

下载来的程序文件中没有mt-config.cgi只有mt-config.cgi-original将文件名中的-original删掉即可。在文件中需要改的是cgipath,staticwebpath,还有数据库信息。

数据库信息不说了,文件中列了三种数据库,把不是你的种类的信息行前面加上#

CGIPath    https://xxx.com/cgi-bin/mt/
StaticWebPath    https://xxx.com/cgi-bin/mt/mt-static/ 

这时候,打开地址https://xxx.com/cgi-bin/mt/mt-check.cgi可以看到当前 CGI 程序目录: x:/xxx/blog,而MT 主目录: x:\xxx\blog\cgi-bin

这个现象会导致安装失败,解决办法限于篇幅,下回再说.

上回说到CGI 程序目录和MT 主目录在mt-check.cgi中显示为不同的路径。这会导致安装出错,提示:

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.

解决办法有两种。

第一种:

从“控制面板→管理工具”中打开IIS管理器,在你的网站上单击右键,选择属性。这样会弹出网站属性窗口,点击其中的“主目录”标签,按下“执行权限”右侧的“配置”按钮。在“应用程序配置”的“映射”标签下,找到扩展名为cgi的应用程序扩展名映射,点击编辑,将可执行文件由“C:\usr\bin\perl.exe "%s' %s”改为“C:\usr\bin\perlis.dll”。用同样方法编辑扩展名为pl的映射,其中C:\usr为ActivePerl的安装路径。

经过此番设置,ActivePerl就将以ISAPI方式解析CGI程序,这比命令行方式的兼容性更好。

Movable Type官方的办法:

  1. 在IIS下创建一个虚拟目录,指向Movable Type CGI脚本所在的物理路径,即mt-check.cgi报告的MT home directory;
  2. 下载这个新的Bootstrap.pm文件,将其拷贝到lib/MT/Bootstrap.pm,覆盖原文件;
  3. 编辑mt-config.cgi文件,设置CGIPath为刚才建立的虚拟目录的URL;

再次运行mt-check.cgi,你会发现 Current working directory 和 MT home directory 的路径相同,都指向了文件真实的物理路径。

问题解决了(方法来自平生一笑),限于篇幅,下一波我们再结束安装过程。

接着上回,打开mt-check.cgi页面。直接翻到页面最下端,如果提示通过检查了,那么就太好了。如果提示缺少模块,很简单,缺什么补什么咯。

一些必备的模块安装方法:开始-运行-ppm回车。会打开ppm的窗口:

ppm> install DB_File
====================
Install 'DB_File' version 1.811 in ActivePerl 5.8.0.806.
====================
Downloaded 288086 bytes.
Extracting 10/10: blib/arch/auto/DB_File/DB_File.lib
Installing D:\usr\bin\site\lib\auto\DB_File\DB_File.bs
……
Successfully installed DB_File version 1.811 in ActivePerl 5.8.0.806.

ppm> install DBI
……
Successfully installed DBI version 1.48 in ActivePerl 5.8.0.806.

ppm> install DBD::mysql
Searching for 'DBD::mysql' returned multiple results. Using 'search' instead...
Searching in Active Repositories
1. DBD-mysql [3.0002] A MySQL driver
2. DBD-mysql [2.1026] MySQL driver
……

ppm> install DBD::mysql 1
Package 1:
====================
Install 'DBD-mysql' version 3.0002 in ActivePerl 5.8.0.806.
====================
Downloaded 610245 bytes.
Extracting 17/17: blib/arch/auto/DBD/mysql/mysql.lib
……
Successfully installed DBD-mysql version 3.0002 in ActivePerl 5.8.0.806.

ppm>……

ok,基本上没问题了,接着,打开mt.cgi页面,配置帐户密码就ok了~

文章从blogger 导入Moveable Type

从结果(我这里就是从blogger搬过来的的)来看还算成功。
文章的固定连接基本保持不变,结构由于我一直用的MT的移植模版,所以也很容易搞定。
各类归档设置也没问题。

记录一下方法:

第一步:当然是登陆blogger.com备份你的各项设置以备不时之需,主要是备份下模版

第二步:把模版修改成如下形式

<Blogger>
TITLE: <PostSubject><$BlogItemSubject$></PostSubject>
AUTHOR: <$BlogItemAuthor$>
DATE: <$BlogItemDateTime$>
-----
BODY:
<$BlogItemBody$>
--------
</Blogger>

第三步:修改设置:

  1. 发布选项:把blog首页文件名改一改(假设改成mtuse.html),以免覆盖了原来的。
  2. 格式选项:所有文章都在首页显示;时间戳格式(不是日期标题)改成MM/DD/YYYY HH:MM:SS AM|PM(选项里是不是这种形式而是显示当时时间);转换断行设置为否;
  3. 存档设置:无存档。
  4. 重新发布blog索引,把得到的mtuse.html放置到mt安装目录下的import文件夹中。
  5. 进入mt后台,选择要接受导入的blog,导入/导出选项,根据自己的需要稍微设置一下(基本不用设置什么),导入~~~OK,成功了!!!

旧评论存档

过客 2007-02-05,16:26 says:
本来只是想搜一下,结果还真有这样的方法。好啊,这种文章才最实用。不过,看起来是不是只能应用于ftp发布的blogger?另外,对于现在的新版的blogger适不适用?

我 2007-02-05,22:12 says:
理论上来说是都适用的
如果是在blogspot的用户也可以依照上述方法,发布之后把首页另存为txt文件就是了。

延伸阅读

本站架设在 RamNode VPS

Grav -> Hugo