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)的发布和管理系统:所有文章库内容和用户权限都通过一个后台管理系统集中管理并存放在数据库中,网站的发布过程是从数据库中提取内容然后根据模板导出成静态文件。
文件/目录规划
用户管理:用户和文章库之间是一个多对多的关系, 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目录下
然后就可以调用 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 deny from all
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模板的内容详情页增加了一个分类归档: [ <$MTArchiveTitle$> ] <$MTEntryTitle$> <$MTEntryDate$>
仔细学习了一下MT的MTArchiveList MTEntries 这2个属性。 无法只显示当前页面所属类目,因为模板只能解析一次,无法递归的进行多次解析。
另外把首页改成:按最后修改时间排序,尽量编辑旧的文档
2004-11-30 从CatHome01里学了通过相关关键词搜索插件将相关文章关联起来的具体方法。
2005-10-22 mt 3.2的中文语言包:平生一笑版