MT安装笔记:初始化和安全配置


参考了UDOO的51.net上的MT安装备忘,略有改动。

网站发布系统在设计上最重要的就是良好引用(well referenced),良好组织(well organized),良好导航(with easy navigation),此外MT的良好的web化管理部署的确非常精致。

终于无法忍受ChinaDNS的服务,除了不稳定外:反相代理不能即时更新页面,MT安装不上,没有MYSQL数据库支持。

但是:虎翼网是禁用phpinfo()的。以至于安装phpMyAdmin的时候都不得不改了几处,其实sourceforge上都是允许使用phpinfo()的。

MT的安装:
MT的目录规划和分布

MT是一个多用户/多内容库(Blog)的发布和管理系统:所有文章库内容和用户权限都通过一个后台管理系统集中管理并存放在数据库中,网站的发布过程是从数据库中提取内容然后根据模板导出成静态文件。

文件/目录规划
=============


后台管理: 程序 example.com/cgi-bin/mt/mt.cgi + 公共文档(帮助/图片等) example.com/share/
/ | \
物理文件:/path/to/blog1/ /path/to/blog1/archives/ /path/to/blog2/
| | |
发布目录:example.com/blog1/ example.com/blog1/archives/ blog2.example.com/

用户管理:用户和文章库之间是一个多对多的关系,
blog1 (user1 user2 user3)
blog2 (user1 user3 user4)
blog3 (user4 user5)

一个文章库(Blog)可以有多个用户管理,按照权限,分别有管理模板,管理属性,上传文件等权限。

所有的文章库后台管理入口:
MT是一个基于PERL的CGI应用,而管理系统的部署分为2个部分:cgi应用程序和静态文档,这2个路径是需要在全局配置文件mt.cfg文件中预先配置好的
CGI管理程序:
实际文件系统路径就是:/home/apache/cgi-bin/mt/mt.cgi
对外的管理入口:www.example.com/cgi-bin/mt/mt.cgi
因此需要在mt.cfg中配置:CGIPath http://www.example.com/cgi-bin/mt/

静态共享文档:公用的HTML静态文档,包括管理界面用的style.css,图片images目录, 帮助文档docs目录和需要使用的mt.js。

一般系统的cgi-bin目录下是专门放置可执行应用的,而不允许放置静态文件,所以一定要把以上这些目录发布到可以进行HTML浏览的目录下。

实际文件系统路径就是:/home/apache/cgi-bin/htdocs/share/ 下放置 styles.css docs/ images/ ...
发布路径:www.example.com/share/ 下放置 styles.css docs/ images/ ...
因此需要在mt.cfg中配置:StaticWebPath /share/

具体安装发布过程
================
1 主站点: MovableType.org下载完整版:Full version with libaries 并解包
然后安装台湾MTBOOK.NET的汉化包,解包后覆盖原来目录

2 上传到cgi-bin/mymt目录下后,下面的过程就是开始修改配置mt.cfg=>复制静态文件==>初始化mt-upgrade.cgi=>登录配置Melody/Nelson
可以先用mt-check.cgi 检查一下需要的库是否齐备:

3 修改mt.cfg
对外的管理入口:
CGIPath http://www.example.com/cgi-bin/mt

数据设置:
MT支持使用MYSQL和DBM格式,如果使用DB,直接在MT目录下按照缺省设置创建一个db目录即可。cgi-bin/mt/db/
或者安全一些放到更高层不对外发布的目录也可以。
../../db/

如果使用:mysql驱动。
ObjectDriver DBI::mysql
Database dbname
DBUser dbusername
DBHost localhost
DBPassword dbpassword
另外,数据密码明文写在:mt-db-pass.cgi中 mt 3.2以后配置文件合一了。

静态文件发布目录:规划在www.example.com/blog/目录下
StaticWebPath /blog

把docs images目录和style.css, mt.js 移动到规划的/blog目录下


/blog/mt.js
/blog/style.css
/blog/docs/
/blog/images/


取消HTML元素转义
NoHTMLEntities 1
设置使用UTF-8字符集
PublishCharset UTF-8

注:以上2个选项在MT3中已经是缺省配置了

然后就可以调用 www.example.com/cgi-bin/mt/mt.cgi 进行初始化了。
www.example.com/cgi-bin/mt/mt-load.cgi进行配置的初始化:数据安装等 mt会自动提升相应的安装流程。

初始化完成后,把mt-load.cgi移走, 然后就可以从www.example.com/cgi-bin/mt/mt.cgi用缺省的Melody/Nelson登录,注意:登录后一定要修改自己的帐号名,并加入密码提示问题,否则忘记密码后无法取回。

如果中间出错了怎么办:
把:mt\schemas\mysql.dump 文件中的创建数据库里的每个表初始化前增加删除数据库脚本:
drop table if exists mt_XXX;
然后重新运行mt-load.cgi 就把数据库reset了。

保护你的配置文件:
51.NET的虚拟主机的CGI-BIN目录是允许浏览的,因此需要增加 .htaccess
<Files mt.cfg>
    <Limit GET>
    deny from all
    </Limit>
</Files>

4 一个MT系统可以管理多个BLOG,每个BLOG一般分成2层:根目录是各种索引页,如首页,各种归档(台湾翻译叫汇整)目录:按月,按天,分篇的归档。虽然首页可以指向分月归档,但是还是觉得按缺省的分篇归档比较容易突出个别文章的主题。

例子:
http://www.example.com/blog1/
http://www.example.com/blog1/archives/
对应的文件系统路径为:
/home/apache/htdocs/blog1/
/home/apache/htdocs/blog1/archives/

还可以发布独立的虚拟主机:
http://blog2.example.com/
http://blog2.example.com/archives/
对应的文件系统路径为:
/home/apache/htdocs/blog2/
/home/apache/htdocs/blog2/archives/

5 用户和语言界面设置:
安装过汉化补丁的都可以登录后通过用户配置界面切换成简体/繁体中文界面。从管理上讲,最好是按照切换界面,先创建BLOG,后创建用户,并设置用户管理权限映射关系。所有权限分配还是比较清晰的:从一个服务的管理员(能够创建新的BLOG),到站点级别管理,文章级别的管理,都有相应的权限可以控制。

更新
2004-11-16
给MT模板的内容详情页增加了一个分类归档:
<MTArchiveList archive_type="Category" >
<b>
<a href="<$MTArchiveLink$>">[ <$MTArchiveTitle$>
]</a>
</b>
<br />
<MTEntries lastn="5">
<a href="<$MTEntryLink$>"><$MTEntryTitle$></a>
<$MTEntryDate$><br />
</MTEntries>
</MTArchiveList>

仔细学习了一下MT的MTArchiveList MTEntries 这2个属性
无法只显示当前页面所属类目,因为模板只能解析一次,无法递归的进行多次解析。

另外把首页改成:按最后修改时间排序,尽量编辑旧的文档
<MTEntries sort_by="modified_on">

2004-11-30
CatHome01里学了通过相关关键词搜索插件将相关文章关联起来的具体方法

2005-10-22
mt 3.2的中文语言包:平生一笑版

作者:车东 发表于:2004-02-04 03:02 最后更新于:2007-04-22 21:04
版权声明:可以转载,转载时请务必以超链接形式标明文章 的原始出处和作者信息及本版权声明

引用通告

以下是前来引用的链接: MT安装笔记:初始化和安全配置:

» 最终还是选择了MT程序,终于自己当家做主了! 来自 [快递这一叶]
MT是本人最喜欢的blog程序,原来在Mblog用过,非常顺手。后来mblog中止了托管服务,我辛苦架设和策划的blog就倏忽报销了,非常遗憾。后来也尝试过注册其他的blog托管类的网站,可是不是速度... [阅读更多细节]

» MT安装简记 来自 数据库管理员的BLOG
选择 Movable Type 作为Blog发布工具。参考资料。 [阅读更多细节]

» Related Entries Plugin 来自 BlogFirefox
利用Keyword来进行MT的「关联文章」的表示方法已经有介绍了。今天又看到了一... [阅读更多细节]

» 相关文章的Plugin安装好了 来自 Life Is For Expressions
plugin 安装 [阅读更多细节]

» 利用Google Groups配置留言簿:注意防止SPAM 来自 车东[Blog^2]
最近Google Groups的浏览已经提供了中文界面,用来做自己的留言簿绝对是一个很不错的主意,留言直接可以发送到创建者的GMail邮箱中,可以很方便的在GMail中进行消息跟踪和留言回复,同时又... [阅读更多细节]

» [MTRelatedEntriesByKeyword]给MT加入Tagging机制 来自 车东[Blog^2]
曾经介绍过给自己的Blog加上Y!Q用于在互联网上搜索搜索相关文章http://www.chedong.com/blog/archives/000910.html,但目前Y!Q对于中文的支持有限,而且实时性很差。我暂时从模板中去掉了。其实猫叔介... [阅读更多细节]

Comments

你好,我的兴趣在于内容管理中的内容一块,看了你的网站,觉得非常好,将你的blog做了连接,希望能和你有更多的交流。

就像现在我对那些大型的blog提供商的速度无法忍受,但是自己对CGI的程序不懂,上MT特别麻烦......

我愿意给你空间,我的服务器现在压力很小。不过我在上海,有没有关系呢?

1、get方法的参数都要小于255吗?我记得好象http里只对url的总长度限制为不能超过1024的?
2、在trackback规范里,提到好象逐渐不再支持get方法的trackback了。

不知道mt数据迁移是否方便

我打算先申请一个cgi空间放mt
然后今后再购买一个java空间或用自己的空间
那么数据如何迁移?能否导出?

51支持mysql,只是封锁了一些模块,无法发送TrackBack。

不知道哪儿的空间能够支持?

在浏览器中输入www.example.com/cgi-bin/mt/mt.cgi, 进行初始化时,界面出现下面的东西,而不是gui得初始化叶面
,不知道怎么回事?
#!/usr/bin/perl -w

# Copyright 2001-2007 Six Apart. This code cannot be redistributed without
# permission from www.sixapart.com. For more information, consult your
# Movable Type license.
#
# $Id: mt.cgi 1051 2007-01-23 23:52:24Z gboggs $

use strict;
use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'lib';
use MT::Bootstrap App => 'MT::App::CMS';

自己搭建了环境.apache2.2.6 mysql 5.0.45 perl 5.8.8
test.cgi文件打开正常...MT就是装不起..打开MT.cgi.始终是500错误.

楼主,我刚接触MT ,现在被一个问题困绕着,我MT都装好了,页面也进去了,就是网页的表示更新不出来,不知道为什么,楼住能帮我解决下么~

发表一个评论

(如果你此前从未在此 Blog 上发表过评论,则你的评论必须在 Blog 主人验证后才能显示,请你耐心等候。)