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 Sourceforge 和MediaWiki: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”就可以了。

|

 |
|