参考了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的中文语言包:平生一笑版
版权声明:可以转载,转载时请务必以超链接形式标明文章 MT安装笔记:初始化和安全配置 的原始出处和作者信息及本版权声明。
http://www.chedong.com/blog/archives/000001.html
Comments
你好,我的兴趣在于内容管理中的内容一块,看了你的网站,觉得非常好,将你的blog做了连接,希望能和你有更多的交流。
就像现在我对那些大型的blog提供商的速度无法忍受,但是自己对CGI的程序不懂,上MT特别麻烦......
由: jxhill 发表于 2004年02月01日 夜间02时57分
我愿意给你空间,我的服务器现在压力很小。不过我在上海,有没有关系呢?
由: leo 发表于 2004年02月02日 下午04时26分
1、get方法的参数都要小于255吗?我记得好象http里只对url的总长度限制为不能超过1024的?
2、在trackback规范里,提到好象逐渐不再支持get方法的trackback了。
由: Hilton 发表于 2004年02月05日 早上08时39分
不知道mt数据迁移是否方便
我打算先申请一个cgi空间放mt
然后今后再购买一个java空间或用自己的空间
那么数据如何迁移?能否导出?
由: 冰云 发表于 2004年02月12日 夜间02时26分
51支持mysql,只是封锁了一些模块,无法发送TrackBack。
不知道哪儿的空间能够支持?
由: cyril 发表于 2004年03月17日 晚上10时54分
在浏览器中输入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';
由: okll2000 发表于 2007年06月06日 下午04时35分
自己搭建了环境.apache2.2.6 mysql 5.0.45 perl 5.8.8
test.cgi文件打开正常...MT就是装不起..打开MT.cgi.始终是500错误.
由: release 发表于 2007年11月15日 上午10时21分
楼主,我刚接触MT ,现在被一个问题困绕着,我MT都装好了,页面也进去了,就是网页的表示更新不出来,不知道为什么,楼住能帮我解决下么~
由: ymjzj1986 发表于 2009年11月02日 晚上09时38分