Archive for the ‘开源’ Category
在 Sourceforge 项目空间上部署 MediaWiki(2)
《在 Sourceforge 项目空间上部署 MediaWiki》的第一部分在这里。
造成 MediaWiki 不能向 config 目录写文件的原因,估计是 Sourceforge 服务器没有开放这样的权限。幸亏,MediaWiki 提供了一个变通的办法。找到下面的这些代码,把他们注释掉:
if( !is_writable( "." ) ) {
dieout( "<h2>;Can't write config file, aborting</h2>
<p>In order to configure the wiki you have to make the
<tt>config</tt> subdirectory writable by the web server. Once configuration is done you'll move the created
<tt>LocalSettings.php</tt> to the parent directory, and for added safety you can then remove the
<tt>config</tt> subdirectory entirely.</p>
<p>To make the directory writable on a Unix/Linux system:</p>
<pre>
cd <i>/path/to/wiki</i>
chmod a+w config
</pre> );
}
这样一来,当目录没有写权限的时候,操作不会被取消,而是生成的配置文件会以文本的形式被打印在页面上。把这些代码拷贝、粘贴到一个名为 LocalSettings.php 的文件,然后上传到 MediaWiki 的根目录,在我们这个例子中也就是 /home/groups/s/sa/sample/htdocs/wiki/ 就可以了。
最后还需要解决一下 session 的问题:
由于 Sourceforge 使用了服务器集群,所以把 session 保存在内存中是有问题的,所以需要用文件来存储 session:
- 在 /tmp/persistent/ 下面创建一个用来保存 session 的目录,例如 /tmp/persistent/sample/sessions。这里的 sample 就是你的项目的 unix name。因为这个名称是唯一的,所以不用担心会跟别人的重复。但注意千万不要把它建在你的 project 目录下,因为他们是不能被 web 服务器写入的。
- 确保这个目录是可写的,也就是执行一下 chmod a+w /tmp/persistent/sample/sessions。sample 仍然是项目的 unix name。
- 告诉 MediaWiki 使用这个目录来存放 session,方法是在 LocalSettings.php 文件的开始处添加 session_save_path("/tmp/persistent/sample/sessions/"); 注意不要丢掉 sessions 后面的那个 "/"。
如果你这样做之后,在编辑或查看页面的时候退出,碰到空白页面,请把 ini_set( "include_path", ".:$IP:$IP/includes:$IP/languages" ); 添加在上一步的 session_save_path 之前。
这样,你的 Wiki 就基本上可以在 Sourceforge 的项目空间上运行了,不过还有很多问题这里没有涉及到,比如:如何配置邮件系统、如何修改网站的 logo、或者是一些碰到的其他的问题。更多内容请详见 Running MediaWiki on Sourceforge.net。(中国大陆地区访问可能会有障碍。)
在 Sourceforge 项目空间上部署 MediaWiki
在开始部署之前,有一些准备工作要做:
- 你需要在 Sourceforge 上面拥有自己的帐号,并加入到一个项目,而且你的帐号在该项目中需要有访问 shell 的权限。同时确保该项目已经开通 MySql 数据库。
- 到 MediaWiki 的官方网站去下载 MediaWiki 1.6.8 版本。注意千万不要下载最新版本,因为 MediaWiki 从 1.7 版以后需要 php 5 的支持,而 sourceforge 服务器上部署的仍然是 php 4,因此无法运行最新版本。
- 从 PuTTY 网站上下载 PuTTY.exe 和 PSFTP.exe 。
为了方便,假设我在 Sourceforge 上拥有用户 usr,密码为 pwd,而且参与的项目为 sample。该项目的 MySql 数据库具有读写权限,可以添加、删除表和索引,并可以锁定表的用户为 mysqlusr,密码 mysqlpwd。
把下载来的 mediawiki-1.6.8.tar.gz 文件上传到项目空间,具体做法如下:
- 运行 psftp.exe
- 执行 open shell.sourceforge.net
- 按照提示输入你在 sourceforge 上注册的用户名,例如 usr
- 输入用户密码,例如 pwd
- 进入项目的 htdocs 目录,执行(以 sample 项目为例) cd /home/groups/s/sa/sample/htdocs/
- 把 mediawiki-1.6.8.tar.gz 复制到 psftp.exe 所在目录
- 运行 put mediawiki-1.6.8.tar.gz
- 待上传完成,关闭 psftp
解压已经上传的 mediawiki-1.6.8.tar.gz 文件:
- 运行 putty.exe
- 在 PuTTY Configuration 界面的 Host Name 中输入 shell.sourceforge.net,确认 Protocal 选中 SSH,然后点 Open
- 按照提示输入用户名,例如 usr
- 然后输入用户密码,例如 pwd
- 进入项目的 htdocs 目录,执行(以 sample 项目为例) cd /home/groups/s/sa/sample/htdocs/
- 执行 tar -xvzf mediawiki-1.6.8.tar.gz
- 将解压后的目录重命名为 wiki,执行 mv mediawiki-1.6.8 wiki
登录 phpMyAdmin,创建一个 Database,例如 wikidb。当然用 sourceforge 提供的 MySql 服务创建 Database 时,命名都需要有一个前缀,在此忽略。
打开浏览器,登录项目 Wiki,例如 http://sample.sourceforge.net/wiki。此时由于 MediaWiki 尚未配置,信息提示让你进入配置页面,点击进入配置页面,发现出错了。大意是说你的 config 目录没有写权限,让你在 MediaWiki 的安装目录执行 chmod a+w config 命令更改权限。但是,尽管你按照提示完成了设置,错误依旧。
本文的第二部分在这里。
You are currently browsing the archives for the 开源 category.