骤雨打新荷
» 游客:  注册 | 登录 | 会员 | 社区银行 | 股票中心 | 帮助

 

作者:
标题: 简述如何在sourceforge.net上构建项目 上一主题 | 下一主题
txfzq
管理员




积分 33428
发帖 13147
注册 2005-5-26
状态 离线
#1  简述如何在sourceforge.net上构建项目

1 准备


1.注册SF账户

Sourceforge上注册一个账户。为了便于说明,假设你注册的用户为:sfuser;密码为:sfpassword。

2.创建SF项目

登陆你的SF账户,在你的个人账户中创建一个项目。项目并不是立即创建成功,你需要等待SF批准,如果通过的话,SF会给你发信,里面提供了你的项目的信息:

1.项目名称(假设为sfproject)
2.group id(假设为123456)
3.主页地址(假设为sfproject.sourceforge.net)
4.cvs(假设为sfproject.cvs.sourceforge.net)

2 主页

我们用winscp来维护我们创建的项目的主页。

1.去winscp.net下载winscp(这篇文章写作时最新为4.1.8),并按照提示安装
2.运行puttygen.exe(位于winscp安装目录下的PuTTY目录中)

点击Generate按钮,同时鼠标在PuTTY程序对话框中随意滑动,以产生一些随机数让PuTTY生成ssh key(持续滑动鼠标,直到进度条消失)。

1.Key comment可以设为你在SF的邮箱以帮助记忆:sfuser@user.sourceforge.net
2.Key passphase设置ssh key的保护密码:sshkeypassphase
3.点击Save public key保存SSH key的public key(假设为c:\sf\pub)
4.点击Save private key保存SSH key的private key(假设为c:\sf\pri.ppk)
5.注意对话框上部的"Public key for pasting into OpenSSH autorized_keys file:"下面的只读编辑框,里面的东西要用来配置SF账户

到目前为止,SSH key产生好了。

3.设置SF账户(sfuser)的ssh public key
      注释:提交public key

进入https://sourceforge.net/account/services

输入正确的用户名密码,

进入后的页面的靠下面部分有一个连接

Number of SSH Shared Keys on file: [Edit SSH Keys for Shell/CVS]

按下[Edit SSH Keys for Shell/CVS],

出现Change Authorized keys页面,

在Authorized keys下方有一个编辑框。这里需要填写public key。

这时候从puttygen中把public key的所有内容复制进入这个编辑框。(刚刚的puttygen还没有关闭)

按下update。

这时候public key已经提交,但是我们还不能立刻用ssh登陆。

因为sourceforge.net需要将你在页面上提交的public key同步到shell和cvs访问系统上去。

会有一段时间延迟。sourceforge.net网站上声称的是10分钟左右。我们等上15用账户、密码登陆Sourceforge

1.点击Account Options

找到Host Access Information部分,可以看到Number of SSH Shared Keys on file,默认为0个。编辑SSH public key,在打开的页面中的编辑框中拷入PuTTY对话框上部的"Public key for pasting into OpenSSH autorized_keys file:"下面的只读编辑框中的全部文字,不要添加也不要漏掉。如果puttygen.exe已经被你关掉了,那么重新启动,选择界面上的Load,把刚才保存的SSH key重新加载进来。

1.运行WinSCP.exe上传主页文件

程序设置如下:  



点击Login连接服务器,连接过程中会要求输入ssh Key passphase。 登陆成功之后,弹出FTP管理界面,用过其它FTP工具的话,很容易就可以熟悉。可以看到你的home目录下有三个目录:

1.cgi-bin
2.htdocs
3.persistent

如果你上传一个index.htm文件到htdocs目录下,那么你访问你的项目主页sfproject.sourceforge.net 时就能看到你上传的这个页面了(注意: SF要求每一个页面都有SF的logo)。

如果你只想自己编辑、上传html文件到htdocs目录,那么主页部分就OK了。如果你想让自己的主页看起来像NSIS 一样,那么你还需要在自己的主页上布置MediaWiki

2.布置MediaWiki

和上面的过程比起来,这一步稍稍有点复杂。参考Sourceforge:Running MediaWiki on SourceforgeMediaWiki:Running MediaWiki on Sourceforge 上的说明。简述步骤如下:

1.SF数据库设置

1.用账户、密码登陆Sourceforge,进入你的工程sfproject
2.点击Admin/shell/DB/Web,在打开的页面中点击Manage Project Databases
3.设置readonly,readwrite,admin密码,密码设置成功之后,你就可以用mysql数据库了
  1.s123456ro:passworddb
   2.s123456rw:passworddb
   3.s123456admin:passworddb

之所以你的数据库用户名以s开头,那是因为我们假设的你的项目名称sfproject第一个字母是s,实际请况取决于你的项目。s后面的123456是你的group id。

4.创建mysql数据库

1.用管理员账户s123456admin登陆https://mysql-s.sourceforge.net/

这里mysql-s后面的"-s"之所以是"-s",也是因为你的项目名称sfproject第一个字母是s,根据实际情况修改。

2.创建数据库s123456_wikidb

2.MediaWiki

1.去MediaWiki下载mediawiki,有各种版本,我下载的是较小的1.6.12,对php的要求也较低
2.解压缩得到的压缩文件(mediawiki-1.6.12.tar.gz)(比如c:\sf\mediawiki-1.6.12)
3.把c:\sf\mediawiki-1.6.12目录中的所有文件都用winscp上传到主页服务器上htdocs/wiki目录中,注意不要拷贝images目录,这个目录之后会特别创建
4.用winscp在persistent目录中创建sessions目录,修改它的权限为所有人rwx
5.用winscp在wiki目录中创建sessions的符号链接(symbol link)
      1.进入htdocs/wiki目录
    2.点击winscp菜单栏/Files/new/link



6.同样的方法在persistent目录中创建images,在wiki目录中创建images的符号链接;把c:\sf\mediawiki-1.6.12目录下的images中的文件拷贝到persistent/images目录中
7.编辑文件wiki/config/index.php

进入wiki/config,在文件index.php上右键单击选Edit,注释掉如下几行:

  Quote:
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>;" );}

这个函数大概在156行。

8.在浏览器中打开sfproject.sourceforge.net/wiki安装MediaWiki,配置参数

  Quote:
* Wiki name: sfproject * Contact e-mail: sfuser@users.sourceforge.net * Admin username : WikiSysop * Password : password * Shared memory caching: No-caching * E-mail (general):disabled * mysql: mysql-s * Database name: s12345_wikidb * DB username : s12345admin * DB password: passworddb

9.如果一切正确的话,MediaWiki的配置结果会显示在网页上,在wiki目录中创建LocalSettings.php把配置结果拷贝到里面。

10.在ini_set那行后面添加

session_save_path("/home/groups/s/sf/sfproject/htdocs/wiki/sessions/");

11.添加Sourdeforge logo

修改文件wiki/includes/Skin.php

  Quote:
function getPoweredBy() { global $wgStylePath; $url = htmlspecialchars( "$wgStylePath/common/images/poweredby_mediawiki_88x31.png" ); $sf = '<;a href="http://sourceforge.net">;<;img src="http://sflogo.sourceforge.net/sflogo.php?group_id=123456&;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" />;<;/a>;'; $img = '<;a href="http://www.mediawiki.org/">;<;img src="'.$url.'" alt="MediaWiki" />;<;/a>;'.$sf; return $img;}

这个函数大概在973行,把其中的group_id "123456"替换成你自己的group_id

12.在浏览器中打开sfproject.sourceforge.net/wiki(你可能需要刷新一下),可以看到你的wiki已经可以正常访问。可以参照MediaWiki上的文档修改定制你的wiki

3 CVS

1.去https://sourceforge.net/projects/cvsgui/ 下载winscp(我下载的是WinCvs2_0_2-4),并安装

2.打开wincvs,在菜单/Admin/Preferences.../CVS中设置本地的目录,比如c:\sf\sfproject  



3.如果你希望用命令行模式,那么去python.org 下载python并安装(2.1版本以上,个人认为最好2.6版本以上)
4.菜单/Admin/Preferences.../wincvs页面中设置python和tcl的路径

5.菜单/Admin/Login,CVSROOT 编辑框中输入:

  Quote:
ssh:sfuser@sfproject.cvs.sourceforge.net:22/cvsroot/sfproject

具体设置可以参考Sourceforge: WinCvs instructions

如果wincvs返回值是

  Quote:
***** CVS exited normally with code 0 *****

那么说明设置连接正确,你就可以进行cvs操作了。

6.Checkout cvs服务器上的整个项目

在WinCvs的output窗口(默认位于下方)中,输入"cvs checkout .",以把cvs服务器上的文件都下载到本地工作目录中(c:\sf\sfproject)。完成之后你的工作目录里面就会产生CVSROOT目录,接下来你就可以进行cvs操作了。


4 程序&代码发布

到了这一步,程序的发布应该不是问题了,有问题参看sourceforge上的说明 。  

5 关于项目上传:

根据上述步骤设置完毕后,在winCvs中,点Remote->Import  module...,然后会弹出wincvs alert提示框,点“yes”就可以了,接着会显示出wincvs的filter窗口,如果上传的文件中有gif格式的,那么这里就会报错的,你选中关于gif图片格式的记录,点击“edit”,选择“Force binary(-kb)”,然后确定就可以进行图片格式的正常转换了。接着就要进行导入设置了,在“Important Settings”窗口,只要在里面设置repository和cvsroot就可以了。repository就是你要上传的项目文件夹名,cvsroot为ssh:sfuser@projectname.cvs.sourceforge.net:22/cvsroot/projectname,其中sfuser是你在SourceForge.net中的账号,projectname是你在SourceForge.net中的项目名称。配置完成后,点确定,就可以上传到sourceforge.net的cvs服务器上了,你只需要在cvs客户端进行相应的配置就可以更新和提交文件了。

6 关于cvs客户端的配置(以myeclipse6.0 自带的cvs为例)

首先切换到cvs浏览器模式,新建cvs,然后如下图进行配置,只需把projectname换成你在SourceForge.net中注册的项目名,账号和密码就是你的注册账号和密码,点“finnish”就可以了。





2010-1-14 13:38
查看资料  发短消息   编辑帖子  引用回复


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转:  



[ 联系我们 - 骤雨打新荷 ]

Powered by Discuz! 2.5 © 2001-2005 Comsenz Technology Ltd.