搭一个 MediaWiki
在公司写 PHP 一直都是用 ODP,自己的 PHP 水平基本上就是能做语言翻译那样,还要经常查手册的那种。 总觉得 PHP 不是很适合我,也不知道这种主观感觉到底哪里来的 = =。
刚好碰到一个需求,须要搭一个内部的文档平台。自己写的话工期实在太长了,也没必要,所以决定试一试 MediaWiki。现在这种东西,应该都是傻瓜化的了吧,给自己估了一天的工作量(= = 还是 too young)。
PHP 版本
MediWiki 须要的 PHP 版本是 5.5.9。而手头上机器的 ODP 带的是 2 点几的,又不敢随便升级, 实在是太老了,人家都到 7 了啊。当然自己的环境应该不会遇到这种问题。 所以只能自己另外搭一个环境了,手动搭的话还是太累了,选择了用 XAMPP 来做。
XAMPP
XAMPP 这种东西真是造福我这种新手玩家,传说中的一键安装,就是上官网 下个包,然后 run 就行了。
但其实还是碰到了不少问题。
- root 权限 XAMPP 安装是须要 root 权限的,公司很多机子并不会给 root。
- 64 位系统 XAMPP 不支持 64 位的系统,须要安装一个 ia32-libs 库来进行兼容。
- 系统版本 机器上的系统很老了,是 CenterOS 3 的,安装之后总是会报 GCC 和 GLIBC 加载的错误。 只能整个重装。
幸好最后找到了一个有 root 的 ConterOS5 机器,不然真是不知道折腾到啥时候
MediaWiki
基本上就是照着安装指南 做就可以完成了。不过也不是一帆风顺
- 数据库 如果有数据库的 root 权限可以不用管,直接下一步就好了。如果没有 root 权限的话, 须要事先创建一个库,并在安装过程中指定。
- 权限管理
其实之前没怎么用过 MediaWiki 这一套,并不是很熟悉,了解之后其实还是很简单的。
所有的配置都包含在项目根目录下的 LocalSettings.php 文件里。权限管理其实就是配置
$wgGroupPermissions 这个多维数组。在『特殊:用户组权限』这个页面下可以看到当前的权限状态,
也可以看到每个权限的名字,根据自己的须要配置就好了。
类似这样,普通用户是 user,管理员 sysop,行政人员 bureaucrat
$wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['read'] = false; $wgGroupPermissions['*']['writeapi'] = false; # 普通用户只能进行 read 操作 $wgGroupPermissions['user']['edit'] = false; $wgGroupPermissions['user']['createpage'] = false; $wgGroupPermissions['user']['movefile'] = false; $wgGroupPermissions['user']['move'] = false; $wgGroupPermissions['user']['move-categorypages'] = false; $wgGroupPermissions['user']['move-rootuserpages'] = false; $wgGroupPermissions['user']['move-subpages'] = false; $wgGroupPermissions['user']['upload'] = false; $wgGroupPermissions['user']['reupload'] = false; $wgGroupPermissions['user']['reupload-shared'] = false; $wgGroupPermissions['user']['writeapi'] = false; $wgGroupPermissions['user']['changetags'] = false; $wgGroupPermissions['user']['purge'] = false; -
邮件服务 公司内网邮箱的安全策略问题,须要使用特定的 SMTP 服务,须要在配置文件中设置 $wgSMTP 这个变量。
$wgSMTP = array( 'host' => "邮箱域名", 'IDHost' => "发送域名", 'port' => 25, 'auth' => true, 'username' => '发件用户名', 'password' => '密码', );
EOF
估计工作量的时候,还是太年轻了,特别是涉及到环境问题这种玄学领域的时候, 真的是说不清楚。