《在 Sourceforge 项目空间上部署 MediaWiki》的第一部分在这里

      造成 MediaWiki 不能向 config 目录写文件的原因,估计是 Sourceforge 服务器没有开放这样的权限。幸亏,MediaWiki 提供了一个变通的办法。找到下面的这些代码,把他们注释掉:
if( !is_writable( "." ) ) {
dieout( "

;Can’t write config file, aborting

In order to configure the wiki you have to make the
config subdirectory writable by the web server. Once configuration is done you’ll move the created
LocalSettings.php to the parent directory, and for added safety you can then remove the
config subdirectory entirely.

To make the directory writable on a Unix/Linux system:

    cd /path/to/wiki
    chmod a+w config
    

);
}

      这样一来,当目录没有写权限的时候,操作不会被取消,而是生成的配置文件会以文本的形式被打印在页面上。把这些代码拷贝、粘贴到一个名为 LocalSettings.php 的文件,然后上传到 MediaWiki 的根目录,在我们这个例子中也就是 /home/groups/s/sa/sample/htdocs/wiki/ 就可以了。

      最后还需要解决一下 session 的问题:

      由于 Sourceforge 使用了服务器集群,所以把 session 保存在内存中是有问题的,所以需要用文件来存储 session:

  1. 在 /tmp/persistent/ 下面创建一个用来保存 session 的目录,例如 /tmp/persistent/sample/sessions。这里的 sample 就是你的项目的 unix name。因为这个名称是唯一的,所以不用担心会跟别人的重复。但注意千万不要把它建在你的 project 目录下,因为他们是不能被 web 服务器写入的。
  2. 确保这个目录是可写的,也就是执行一下 chmod a+w /tmp/persistent/sample/sessions。sample 仍然是项目的 unix name。
  3. 告诉 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。(中国大陆地区访问可能会有障碍。)

Tags Categories: Sourceforge, 开源, 计算机科学与技术 Posted By: tangrui
Last Edit: 13 Jan 2007 @ 11 58 PM

E-mailPermalinkComments (0)
 15 Nov 2006 @ 2:07 PM 

      在开始部署之前,有一些准备工作要做:

  1. 你需要在 Sourceforge 上面拥有自己的帐号,并加入到一个项目,而且你的帐号在该项目中需要有访问 shell 的权限。同时确保该项目已经开通 MySql 数据库。
  2. 到 MediaWiki 的官方网站去下载 MediaWiki 1.6.8 版本。注意千万不要下载最新版本,因为 MediaWiki 从 1.7 版以后需要 php 5 的支持,而 sourceforge 服务器上部署的仍然是 php 4,因此无法运行最新版本。
  3. PuTTY 网站上下载 PuTTY.exePSFTP.exe

      为了方便,假设我在 Sourceforge 上拥有用户 usr,密码为 pwd,而且参与的项目为 sample。该项目的 MySql 数据库具有读写权限,可以添加、删除表和索引,并可以锁定表的用户为 mysqlusr,密码 mysqlpwd。

把下载来的 mediawiki-1.6.8.tar.gz 文件上传到项目空间,具体做法如下:

  1. 运行 psftp.exe
  2. 执行 open shell.sourceforge.net
  3. 按照提示输入你在 sourceforge 上注册的用户名,例如 usr
  4. 输入用户密码,例如 pwd
  5. 进入项目的 htdocs 目录,执行(以 sample 项目为例) cd /home/groups/s/sa/sample/htdocs/
  6. 把 mediawiki-1.6.8.tar.gz 复制到 psftp.exe 所在目录
  7. 运行 put mediawiki-1.6.8.tar.gz
  8. 待上传完成,关闭 psftp

解压已经上传的 mediawiki-1.6.8.tar.gz 文件:

  1. 运行 putty.exe
  2. 在 PuTTY Configuration 界面的 Host Name 中输入 shell.sourceforge.net,确认 Protocal 选中 SSH,然后点 Open
  3. 按照提示输入用户名,例如 usr
  4. 然后输入用户密码,例如 pwd
  5. 进入项目的 htdocs 目录,执行(以 sample 项目为例) cd /home/groups/s/sa/sample/htdocs/
  6. 执行 tar -xvzf mediawiki-1.6.8.tar.gz
  7. 将解压后的目录重命名为 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 命令更改权限。但是,尽管你按照提示完成了设置,错误依旧。

      本文的第二部分在这里

Tags Categories: Sourceforge, 开源 Posted By: tangrui
Last Edit: 26 Dec 2006 @ 03 10 PM

E-mailPermalinkComments (0)
\/ More Options ...
Change Theme...
  • Users » 2
  • Posts/Pages » 83
  • Comments » 11
Change Theme...
  • VoidVoid
  • LifeLife « Default
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LiteLight
  • No Child Pages.
  • No Child Pages.
  • No Child Pages.
  • No Child Pages.