Movable Type 安裝指引(中文版)
Movable Type 安装指引
名称
mtinstall - 安装 Movable Type
概要
这份文件描述着如何把 Movable Type 系统安装到你的机器上的程序。
需求
Movable Type 需要下列环境纔能执行:
- 一个可以执行自订 CGI 脚本的网页服务器账号。如果你不确定你的账号可不可以,就去询问主机提供者。这个程序本身约占 2 megabytes 的空间,但是我们建议你最好至少得在服务器上留有 25 megabytes 以上的空间,以便容纳未来会产生的档案及文章。
- 在你的服务器上得安装 Perl ,而且至少要有 5.004_04 版以上。你不知道你的 Perl 是哪一版的?
- 可以把所需档案上传到网页服务器的 FTP 程序;或者如果你想要从 shell 安装的话,你就得有 shell 存取权限。
- 启用 Javascript 的网页浏览器。
安装 MOVABLE TYPE
下载
你可以从 Movable Type 的网站下载这个套件: http://www.movabletype.org/download.shtml 。
可以下载的套件又分成两个版本:其中一个内附所有你执行这个系统所需的外部函式库,而另一个则祇有 Movable Type 系统本身。如果你知道你的主机提供者已经先把所有会用到的模块都装好了,那么你就祇需要『 lite 』的版本;另一方面,『 full 』版本安装起来也会比较轻松愉快,因为所有的外部函式库都附上了,所以你完全不需要另外安装。
下载之后,你会看到 .tar.gz 格式的档案;这是把 Movable Type 压缩并打包起来的套件。解开这个压缩档。
(需要关于解压缩的协助吗?)。
在你的服务器上寻找 Perl
mt-add-notify.cgi 、 mt-check.cgi 、 mt-comments.cgi 、 mt-load.cgi 、 mt-send-entry.cgi 、 mt-tb.cgi 、 mt-search.cgi 、 mt.cfg 、 mt-xmlrpc.cgi 和 mt-view.cgi 这些档案通通都是 Perl 脚本;在这些档案的第一列都会包含着你的网页服务器上的 Perl 路径;通常也就是 #!/usr/bin/perl 。如果你的网页服务器上把 Perl 放在其它地方,像是 /usr/local/bin/perl 的话,你就得修改这里。如果你得修改这个设定的话,请千万小心不要把每个档案第一列最后的 -w
给删掉了;这个设定会开启 Perl 的警告功能,保持开启显然会相当重要。
要得知你的网页服务器上的 Perl 路径,可能得要看看你的主机服务的维护页面。不然如果你有 shell (命令列)账号,而你又习惯这种接口的话,你也可以登入这个账号,然后输入:
$ whereis perl
这应该会告诉你在你的系统上 Perl 到底在哪里。
请注意: mt-db-pass.cgi 虽然有着这样的扩展名,但完全不是一般的 Perl 脚本;所以里面不应该包含 Perl 的路径。
安装目录
- 程序部分
选择要把 Movable Type 安装在网页服务器上的哪里。这也就是你(从你的网页浏览器)使用 Movable Type 系统时会用到的路径。如果你把 Movable Type 安装到 cgi-bin 目录的话,请注意你得把你的静态档案 -- images 、 docs 和 styles.css -- 上传到 cgi-bin 之外的目录里纔行。静态档案不能够被留在 cgi-bin 里面,这是因为网页服务器会试着去执行他们,并且透过网页接口把他们画成根本不能用的样子。
解决的方法是在你的网页可存取区内新建一个叫做 mt-static 的目录,然后把 images 、 docs 和 styles.css 上传到那个目录里。请留意 mt-static 所对应到的网址,因为稍后你在 mt.cfg 档案里组态系统的时候就会用到。
诀窍:如果你在 cgiwrap 或 suexec 底下执行 Movable Type 的话,就可以把他装得更加安全。请见使用 cgiwrap 或 suexec 的诀窍来看看如果你有其中任一种工具时还可以做些甚么。
- 数据库部分
如果你打算要使用 Movable Type 的 MySQL 或 PostgreSQL 数据库支持的话:这并不需要任何额外建立的目录。
如果你打算要使用 Movable Type 的 Berkeley DB 支持的话(默认值):
选择你要在网页服务器上的哪里存放你的 Movable Type 数据库档案。
如果引不是安装到 cgi-bin 目录的话,我们建议你在网页可存取的目录外,另外建立一个安全的数据库单独存放目录。这样可以防止网页浏览器窥视到任何数据库里的内容。举例来说,许多主机账号都会有个网页无法存取的 home 目录,以及一个被当作网页可存取区域 root 的 public_html 目录。把数据库存放在网页可存取区域之外能够防止网页浏览器窥视到数据库里的内容,放进 cgi-bin 目录里也会有一样的效果。
如果你打算要用 Movable Type 的 SQLite 数据库支持的话:
SQLite 会把你的数据存放在单一一个数据库档案里。然而它将需要能够自己建立出那个档案。也就是说,你还是得按照前述关于 Berkeley DB 支持部分的指导原则,来指定 SQLite 数据库目录的位置。
- 你的Blog目录
你还需要设立一个用来存放Blog的目录,这也是你的网站读者所会前来阅读Blog的地方。同时你也可以设立一个用来另外存放Blog汇整的目录,如果你想要的话。
组态
- 开启 mt.cfg 。
在 Movable Type 数据夹里找到 mt.cfg 档案,然后用文字编辑器加以开启。 - 组态 Movable Type 网址。
修改以 CGIPath 开头的那一列,指到你在安装目录那一步时所选择的网址。举例来说,如果你把 Movable Type 安装到 http://www.your-site.com/movabletype/ 的话,你就应该把 CGIPath 那一列改成
CGIPath http://www.your-site.com/movabletype/
请注意:请确定你的网址最后面留有一个往前的斜线(
/
)! - 组态数据库选项(适用于 MySQL 、 PostgreSQL 或 SQLite )。
如果你没有在用 Movable Type 的 SQL 支持的部分的话,请跳过这一步。当你在用文字编辑器编辑 mt.cfg 的时候,加入这几列:
ObjectDriver 驱动程序_名称 Database 数据库_名称 DBUser 数据库_使用者
这里的 驱动程序_名称 可以是下列这几种之一: DBI::mysql 、 DBI::postgres 或 DBI::sqlite ; 数据库_名称 则是你要用来存放数据的 SQL 数据库名称,而 数据库_使用者 则是要用来连接到数据库的使用者名称。
如果你的 SQL 服务器位于不同的主机上的话,你也可以用 DBHost 来指定主机名称:
DBHost 数据库_主机
如果你的 SQL 服务器位于本地端,但是 socket 却不是在标准的位置上时,你也可以用 DBSocket 来设定 socket 的路径:
DBSocket /路径/指到/mysql.sock
请注意:如果你所使用的是 MySQL 或 PostgreSQL 的话,你所指定的数据库一定要已经存在 -- Movable Type 没办法自己生出来!
请注意:如果你所使用的是 SQLite 的话,就不需要提供使用者名称,而 数据库_名称也就是数据库档案的名称。你可以任意地为这个数据库命名 -- mtdb 会是个不错的选择。请记得要将你存放这个数据库档案的目录一并包含在数据库_名称里。像是这样:
Database db/mtdb
- 组态数据库目录的路径(适用于 Berkeley DB )。
如果你没有在用 Movable Type 的 Berkeley DB 支持部分的话,请跳过这一步。当你在用文字编辑器编辑 mt.cfg 的时候,把这一列
DataSource ./db
修改成
DataSource /完整的/路径/指到/DB
这里的 /完整的/路径/指到/DB 请代换成你刚刚建立的 db 目录的完整档案系统路径。举例来说,如果你把这个目录建在 /home/melody/db 的话,上面那一列就应该要被改成
DataSource /home/melody/db
- 组态静态档案路径。
如果你并非安装到 cgi-bin 的话,请跳过这一步。你得在 mt.cfg 档案里把 StaticWebPath 的值设定成对应到你所选择的静态档案( images 、 docs 和 styles.css )摆放目录的网址。举例来说,如果你决定要把静态档案放到网页可存取区域的 root 的话,那你就应该在 mt.cfg 里面加入这一列:
StaticWebPath /mt-static/
- 启用安全功能。
如果你的服务器没有 cgiwrap 或 suexec 的话,请跳过这一步。要启用由 cgiwrap 和 suexec 所提供的极高等级安全的话,在你的 mt.cfg 档案里加入下列几列:
DBUmask 0022 HTMLUmask 0022 UploadUmask 0022 DirUmask 0022
- 储存并离开 mt.cfg 。
然后储存 mt.cfg 档案,并且离开文字编辑器。 - 设定你的 SQL 数据库密码。
如果你没有在使用 MySQL 或 PostgreSQL 的话,请跳过这一步。基于安全性的考量,你的 SQL 数据库密码不能就祇是单纯地放在 mt.cfg 里,而得放在一个叫 mt-db-pass.cgi 的档案中。
用纯文字编辑器开启 mt-db-pass.cgi ,并找到这一列:
database_password
请把 database_password 代换成要用来连接到你的 SQL 数据库所需的密码。
然后储存 mt-db-pass.cgi 档案,并且离开文字编辑器。
上传档案
- 连到你的网页服务器
开启你的 FTP 程序,并且开启到你的网页服务器的 FTP 联机。 - 上传程序
在你的 FTP 程序中,如果你打算要用来安装 Movable Type 的目录不存在的话,就自己建一个;然后开启那个目录。把所有在 Movable Type 套件里的档案都上传到你的网页服务器上。
如果你把他安装到 cgi-bin 的话:你应该把 images 、 docs 和 styles.css 上传到你要用来放置静态档案的地方。
请注意:进行这个步骤时请千万小心,有些档案可以用 ASCII 模式上传,但是其它的档案都应该要用 binary 模式纔行。如果你弄错了,这些脚本将完全不能用。
用 ASCII 模式上传这些档案/目录: docs 、 lib 、 extlib 、 mt.cfg 、 styles.css 、 tmpl 、 schemas 、 search_templates 、 plugins 和所有的 CGI 脚本( mt.cgi 等等)。
用 Binary 模式上传这些档案/目录: images 。
- 设定权限
把所有的 CGI 脚本(档名以 .cgi 结尾的档案)权限设定成 755 。权限设定成 755 表示系统上所有的使用者都具有
读取
和执行
的权限;但是祇有持有人纔拥有写入
的权限。如果你的 FTP 客户端软件使用图形来显示权限设定的话,画面看起来可能会像这样:
如果你是在 Unix shell 底下设定权限的话,祇需要使用这个命令
$ chmod 755 mt*.cgi
- 建立你的 Movable Type 数据库目录
如果你没有在用 Movable Type 的 Berkeley DB 支持部分的话,请跳过这一步。开启你选择要用来存放 Movable Type 数据库的路径。
建立一个叫做 db 的新目录。
如果你不是在 cgiwrap 或 suexec 底下执行 Movable Type 的话,把这个 db 目录的权限设定 (CHMOD) 成 777 。
把权限设定成 777 意味着系统上所有的使用者都具有
读取
、写入
和执行
的权限。如果你的 FTP 客户端软件使用图形来显示权限设定的话,画面看起来可能会像这样:
如果你是透过 Unix shell 来设定权限的话,就祇需要用到这个指令
$ chmod 777 db
- 建立你的Blog目录
建立一个你要用来存放Blog档案的目录;这也就是你的Blog目录所在的地方。如果你不是在 cgiwrap 或 suexec 底下执行 Movable Type 的话,请把你刚刚建立的目录权限设定成 777 (这个动作的意义请参照前述的段落)。
检查 Perl 模块
Movable Type 除了本身的程序代码以外还需要另外一些标准的 Perl 模块纔能够运作。如果你下载的是『 full 』版本的 Movable Type 套件的话,里面几乎附上了所有所需的模块,祇剩下 DB_File 、 DBD::mysql 和 Image::Magick ( Movable Type 套件里之所以没办法附上这些模块,是因为他们都还需要再编译过纔能用)。要判断你的服务器上是否已经安装过这些模块 -- 而且如果没有的话就加以安装 -- 的话,请遵照下列的步骤。
为了要让多种不同的选用功能发挥功效, Movable Type 需要一些选用的 Perl 模块。这些模块会被列在步骤 1 (请见后)中检查选用模块
标题之后的部分;如果你的网页服务器没有这些选用模块的话,这一段也会解释相关的 Movable Type 功能跟所用到的模块。如果你决定要使用这些功能的话,你也得安装这些模块;不过如果你并不想要用这些功能的话,就可以不要理会这些模块。
开启你的网页浏览器,并且指到你的站台的 mt-check.cgi 网址去。举例来说,如果你的站台位于 http://www.your-site.com/ ,而你把 Movable Type 的档案上传到 /mt 目录里,所以你就该输入 http://www.your-site.com/mt/mt-check.cgi 。
mt-check.cgi 是用来检查所需的模块是否已经安装在你的服务器上用的 Perl 脚本。如果你执行这个脚本后得到的响应是 500 Internal Server Error ,请先检查你是否已经有把权限设定成 755 (这个权限设定的意义请参照之前的段落),并且把档案以 ASCII 模式上传了。如果这个建议仍然没有帮助的话,请参考障碍排除小节。
如果脚本成功地执行了,就会显示检查所需的模块
之类的讯息。如果脚本回报说你的服务器已经安装了所有所需的模块了,那么你可以跳过以下的部分,直接看启动系统的区段。
如果你需要安装任何所需的模块,或者你想要用某些选用的模块,请现在就参照下列的指引把他们装起来:
- 如果你得安装 HTML::Template
- 如果你得安装 Image::Size
- 如果你得安装 File::Spec
- 如果你得安装 CGI::Cookie
- 如果你得安装 DB_File
- 如果你得安装 DBD::mysql
- 如果你得安装 LWP::UserAgent
- 如果你得安装 SOAP::Lite
- 如果你得安装 File::Temp
- 如果你得安装 Image::Magick
启动系统
开启你的网页浏览器,并且指到你的站台的 mt-load.cgi 网址去。举例来说,如果你的站台位于 http://www.your-site.com/ ,而你把 Movable Type 的档案上传到 /mt 目录里,所以你就该输入 http://www.your-site.com/mt/mt-load.cgi 。
mt-load.cgi 这个 Perl 脚本会把一些初始化数据加载 Movable Type 数据库里,包括:作者、Blog以及一些基本模版。如果你执行这个脚本后得到的响应是 500 Internal Server Error ,请先检查你是否已经有把权限设定成 755 (这个权限设定的意义请参照之前的段落),并且把档案以 ASCII 模式上传了。如果这个建议仍然没有帮助的话,请参考障碍排除小节。
如果成功了, mt-load.cgi 就会传回成功的讯息;否则它就会传会说有错误发生了;请参考障碍排除来修正这些错误。
非常重要的安全性注意事项:
一旦你成功地执行 mt-load.cgi 后,你应当马上从你安装 Movable Type 的目录里移除 mt-load.cgi 。没有成功地移除 mt-load.cgi 将可能会让别人在你的 Movable Type 系统里建立另一个新的Blog,同时还有可能因此而能够存取你的数据。没有删除 mt-load.cgi 将导致最主要的安全性顾虑。所以你应该现在就把他删掉。
执行 MOVABLE TYPE
现在你已经把系统安装起来了,可以开始用了。
- 开启你的网页浏览器,并且指到你的站台的 mt.cgi 网址。 mt.cgi 是 Movable Type 的主要应用程序。举例来说,如果你的站台位于 http://www.your-site.com/ 而你把 Movable Type 应用程序安装到 /mt 目录里,所以你就该输入 http://www.your-site.com/mt/mt.cgi 来存取 Movable Type 。
你应该会看到 Movable Type 登入提示画面;如果没有的话,请检查你的权限设定,并且确定你所有的 CGI 脚本都以 ASCII 模式上传了。如果这些都还没有帮助的话,请参考障碍排除小节。
- 以作者名字
Melody
跟密码Nelson
登入。 - 你该做的第一件事就是变更作者名字跟密码。首先按下
编辑你的个人数据
,然后在那里变更作者名字及密码。 - 下一件该做的事是组态你的第一份Blog。有一个叫做
我的Blog
的Blog已经在系统里了;这份Blog可以帮助你着手开始设定 Movable Type 里的第一份Blog。我的Blog
还会附带一些预先做好的模版;你当然可以修改这些模版、删除他们,或者做任何你想做的处置。但是这至少是个好的开始,可以帮助你培养出对模版标签及架构的熟悉感。要依照你的需求来组态Blog,请先按下
现有的Blog
中,连到我的Blog
的链接,然后再按下Blog组态
的链接。把Blog的名称改成任何你想要用的名称,并且输入叙述。然后填入网址信息及路径(
本机站台路径
、站台网址
、本机汇整路径
及汇整网址
)。本机站台路径
和站台网址
预先会填上默认值,好让你知道他们看起来应该会像甚么样子;当你在设定本机站台路径
和本机汇整路径
的时候,最好使用绝对路径(也就是以/
开头的路径),而不要使用相对路径。请注意这四个字段都一定要填写。你应该已经为你的Blog建立了一些目录了(也就是前述的建立你的Blog目录的部分)。以完整路径来填写这些目录的本地(站台及汇整)路径。然后再填入适当的网址来对应到这些目录。编辑任何你想更动的组态设定;完成后再按下
储存
。 - 就这样!你现在已经可以开始在你的Blog上发表文章、编辑模版了。
必备/选用的模块安装步骤
你祇需要安装还没被安装在你的系统上的模块。你可以执行 mt-check.cgi (检查 Perl 模块)来看看你还需要哪些模块。
如果你得安装 HTML::Template
- 连接到你的 FTP 服务器,并且开启你安装了 Movable Type 的目录。
如果某个名叫 extlib 的目录不存在的话,就建一个出来,然后开启那个目录。
- 从这个网址下载档案:
http://www.movabletype.org/cpan/cpan-HTML-Template.tar.gz
- 把这个 .tar.gz 压缩档解开(需要解开压缩档的协助吗?)。
- 在这个 extlib 目录(请见步骤 2 )里,建立一个名叫 HTML 的目录,并且开启这个目录;把 cpan-HTML-Template 压缩档里的 Template.pm 上传到这个新的 HTML 目录里。换句话说,经你上传之后, Template.pm 应该要位于 extlib/HTML/Template.pm 。
压缩档里的其它档案可以忽略不理。
如果你得安装 Image::Size
- 连接到你的 FTP 服务器,并且开启你安装了 Movable Type 的目录。
如果某个名叫 extlib 的目录不存在的话,就建一个出来,然后开启那个目录。
- 从这个网址下载档案:
http://www.movabletype.org/downloads/Image/Size.pm
- 在你的网页服务器上的 extlib 目录里,新建一个叫做 Image 的目录,并且开启这个目录。
- 把你刚刚下载到的 Size.pm 档案上传到这个新的 Image 目录里。
- 经你上传后, Size.pm 应该要位于 extlib/Image/Size.pm。
如果你得安装 File::Spec
- 连接到你的 FTP 服务器,并且开启你安装了 Movable Type 的目录。
如果某个名叫 extlib 的目录不存在的话,就建一个出来,然后开启那个目录。
- 从这个网址下载档案:
http://www.movabletype.org/cpan/cpan-File-Spec.tar.gz
- 把这个 .tar.gz 压缩档解开(需要解开压缩档的协助吗?)。
- 在你的网页服务器上的 extlib 目录里,新建一个叫做 File 的目录,并且开启这个目录。
- 把你刚刚下载到的 Spec.pm 档案上传到这个新的 File 目录里。
- 把 Spec 目录上传到这个新的 File 目录里。
- 经你上传后, Spec.pm 应该要位于 extlib/File/Spec.pm ,而 Spec 应该要位于 extlib/File/Spec/ 。
如果你得安装 DB_File
如果你是在 Win32 机器上安装 Movable Type 而你又有系统管理权限的话,你可以执行 Perl Package Manager (PPM) 来安装 DB_File 。从开始选单里选择执行...
,然后输入ppm
并执行。当你在 PPM 里的时候,就会看到一个提示符号( ppm>
),这个时候你应该输入 install DB_File
:
ppm> install DB_File
如果你是在 Linux/Unix 机器上安装 Movable Type 的话,你应该请你的服务器系统管理者来为你安装 DB_File 。如果你就是系统管理者,那么你首先得安装 Berkeley DB 函式库(你可以从 http://www.sleepycat.com/ 下载),然后安装 DB_File Perl 模块(你可以从 http://search.cpan.org/ 下载)。
如果你得安装 DBD::mysql 、 DBD::Pg 或 DBD::SQLite
如果你的服务器上没有所需的 DBD 模块的话,首先你该考虑使用 Movable Type 的 Berkeley DB 支持部分(也就是默认值)。
否则你就得联系你的主机提供者,并请她们安装 DBI 模块以及任何前述提及需要用来连结到你的数据库的模块。请注意除了要有这些模块外,你的账号还得要能存取 MySQL 数据库,这样纔能够用 Movable Type 的 SQL 支持部分。
如果你得安装 CGI::Cookie
- 连接到你的 FTP 服务器,并且开启你安装了 Movable Type 的目录。
如果某个名叫 extlib 的目录不存在的话,就建一个出来,然后开启那个目录。
- 从这个网址下载档案:
http://www.movabletype.org/cpan/cpan-CGI.tar.gz
- 把这个 .tar.gz 压缩档解开(需要解开压缩档的协助吗?)。
- 把 CGI.pm 档案和 CGI 目录上传到 extlib 目录里。
- 经你上传后, CGI.pm 应该要位于 extlib/CGI.pm ,而 CGI/ 应该要位于 extlib/CGI/ 。
如果你得安装 LWP::UserAgent
- 连接到你的 FTP 服务器,并且开启你安装了 Movable Type 的目录。
如果某个名叫 extlib 的目录不存在的话,就建一个出来,然后开启那个目录。
- 从这些网址下载档案:
http://www.movabletype.org/cpan/cpan-LWP.tar.gz http://www.movabletype.org/cpan/cpan-URI.tar.gz
- 把这个 .tar.gz 压缩档解开(需要解开压缩档的协助吗?)。
- 在 cpan-LWP 目录里有个叫 lib 的目录。开启这个目录,并且(以 ASCII 模式)把 LWP.pm 上传到你的 extlib 目录里。然后,一样也用 ASCII 模式,把 LWP 、 HTTP 、 Net 和 WWW 这几个目录都上传到 extlib 目录里。
- 从 cpan-URI 目录用 ASCII 模式上传 URI 目录和 URI.pm 档案到 extlib 目录里。
- 经你上传后,你的 extlib 目录中应该至少要包含有这些档案和目录:
extlib/LWP.pm extlib/LWP/ extlib/HTTP/ extlib/Net/ extlib/WWW/ extlib/URI.pm extlib/URI/
如果你得安装 SOAP::Lite
- 连接到你的 FTP 服务器,并且开启你安装了 Movable Type 的目录。
如果某个名叫 extlib 的目录不存在的话,就建一个出来,然后开启那个目录。
- 从这个网址下载档案:
http://www.movabletype.org/cpan/cpan-SOAP-Lite.tar.gz
- 把这个 .tar.gz 压缩档解开(需要解开压缩档的协助吗?)。
- 在 cpan-SOAP-Lite 目录里有个叫 lib 的目录。开启这个目录,并且(以 ASCII 模式)把 SOAP 、 XML 和 XMLRPC 这几个目录都以 ASCII 模式上传到你的 extlib 目录里。
- 经你上传后,你的 extlib 目录应该至少要包含有这些档案和目录:
extlib/SOAP/ extlib/XML/ extlib/XMLRPC/
如果你得安装 File::Temp
- 连接到你的 FTP 服务器,并且开启你安装了 Movable Type 的目录。
如果某个名叫 extlib 的目录不存在的话,就建一个出来,然后开启那个目录。
- 从这个网址下载档案:
http://www.movabletype.org/cpan/cpan-File-Temp.tar.gz
- 把这个 .tar.gz 压缩档解开(需要解开压缩档的协助吗?)。
- 在你网页服务器上的 extlib 目录里,新建一个叫 File 的目录(除非已经有一个叫 File 的目录了),并且开启这个目录。
- 把 Temp.pm 档案上传到这个新的 File 目录里。
- 经你上传后, Temp.pm 应该要位于 extlib/File/Temp.pm 。
如果你得安装 Image::Magick
安装 Image::Magick 需要编译 ImageMagick 函式库,并且安装可以跟此函式库交谈的 Perl 模块。如果你想要在你的服务器上安装这个模块,你需要请你的系统管理者来帮你安装。请注意如果你没有 Image::Magick 的话, Movable Type 仍旧可以运作良好 -- 安装 Image::Magick 祇是选择性的步骤,祇有当你想要为上传了的档案建立缩图时纔用得到。
附加注意事项
f2s 的问题
警告:已经有回报指出在 f2s 账号上执行 Movable Type 的问题了。这个问题跟磁盘空间有关;更精确地说,如果你的 f2s 账号可用磁盘空间不多的话,你执行 Movable Type 的时候就应该要很小心,因为当数据库更新的时候如果磁盘空间用完了,就会损毁你的数据。这个错误几乎总是可以修的,但它目前仍就是令人烦恼的。请注意这个问题并非一定限于 Movable Type 或者 f2s 纔会发生;任何程序当更新档案的时候用完磁盘空间时,总是会发生这样的问题。
你的服务器上的 Perl 版本
如果你不确定服务器上的 Perl 版本为何,你可以用这三个方法之一来找出答案:
- 检查你的 ISP (通常都是)所提供的支持文件。
- 询问你的 ISP 。
- 如果你有网页服务器的 shell 存取权限的话,你可以 telnet 到你的服务器上,然后执行下列的指令:
$ perl -v
这个指令会印出你的网页服务器上的 Perl 版本。
解开 .tar.gz 压缩档
Movable Type 套件跟几乎所有其它必须及选用 Perl 模块的套件都会以 .tar.gz 格式来储存 -- 他们是以 Gzip 压缩过的 TAR 档案。如果你在 Unix 上,你可以用 gunzip 和 tar 来解开这些压缩档。例如:
$ gunzip file.tar.gz $ tar -xvf file.tar
如果你在 Macintosh 上, Stuffit Expander 会解开这些压缩档。如果你在 Windows 上, PKZip 或 Winzip (用传统接口)会做这件事。
请注意:如果你解开 Movable Type 套件后,你发现居然变成一个不具任何目录结构的数据夹 -- 也就是所有的档案都被解到同一个数据夹里,而不是被分到原有的各个子目录中 -- 的话,你将无法安装 Movable Type ,这个问题常常在 Winzip 的精灵接口发生;在这个情况下,请确定你用了 Winzip 的传统接口,如前面所提到的一般。
使用 cgiwrap 或 suexec
cgiwrap 和 suexec 都是网页服务器上的特殊工具,让你的 CGI 脚本可以以『你』的身份,而不是以网页服务器的身份执行。这样可以简化 Movable Type 的安装,因为你无须再去处理Blog或 db 目录的权限了(不过你可能还是会想要设定 CGI 脚本自己的权限);这样也会更安全,因为你的Blog目录祇有你纔能够写入。
你也许会想要跟你的主机提供者确认是不是在服务器上已经装了 cgiwrap 或 suexec 可用。 虽然 Movable Type 可以自己去猜测是不是有支持了。当你在执行 mt-check.cgi 时,在回报服务器上 Perl 版本那一列后面,找找看有一列写着
(可能) 在 cgiwrap 或 suexec 底下执行
这就表示你的服务器很有可能已经装了 cgiwrap 或 suexec 了。
Win32 组态诀窍
当你要在 Win32 服务器上组态 Movable Type 时,你应该在脑海里记住下列诀窍:
- 指定完整档案系统路径时 -- 像是用在 DataSource 设定时 -- 有些服务器会要求你在最前面插入磁盘驱动器代号,然后再接一个倒斜线。举例来说:
DataSource d:\完整的\路径\指到\db
保护 mt.cfg
如果你不是在 cgi-bin 目录以外的地方执行 Movable Type 的话,你也许会想要在你安装 MT 的目录里加入一个 .htaccess 档案,来保护你的 mt.cfg :
<Files mt.cfg> <Limit GET> deny from all </Limit> </Files>
Copyright © 2001-2003 Six Apart. All Rights Reserved