`
忧里修斯
  • 浏览: 436142 次
  • 性别: Icon_minigender_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
    1. 用账户、密码登陆Sourceforge
    2. 点击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重新加载进来。

  4. 运行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

  5. 布置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,注释掉如下几行:

        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,配置参数
           * 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

        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. wincvs.org 下载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 编辑框中输入:
    ssh:sfuser@sfproject.cvs.sourceforge.net:22/cvsroot/sfproject  
    

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

    如果wincvs返回值是

    ***** CVS exited normally with code 0 *****
    

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

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

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

分享到:
评论

相关推荐

    sourceforge 项目资源下载助手

    需要去sourceforge.net下载软件,使用电信,移动等的宽带又进不去的亲们,可以通过该软件下载。 本软件系自己使用方便开发,完全免费发布给大家使用,功能不受限制。本人使用移动3g,不能浏览sourceforge网站,所以...

    struts2入门实例代码,sourceforge.net经典

    这个"struts2-tutorial-lesson2.zip"压缩包包含了一个基础的Struts2入门实例,是SourceForge.net上的经典教学资源。SourceForge作为一个开源项目托管平台,为开发者提供了许多高质量的学习材料。 这个入门实例...

    SourceForge.net-开源

    在SourceForge.net上,开发者可以创建自己的开源项目,利用Git等版本控制系统来管理代码。项目管理员可以设置权限,决定谁可以访问和贡献代码。此外,SourceForge.net还提供了项目网页、邮件列表、论坛等功能,方便...

    webrcp-tutorial:来自 sourceforge.net 的 webrcp 项目教程

    WebRCP 教程是尝试获取托管在 Sourceforge.net 上的原始的教程,再次工作。 背景:Sourceforge.net 上原始项目的最后一次活动可追溯到 2013 年。从那时起,Java 和 Eclipse 环境发生了一些变化,这意味着该项目只能...

    新sourceforge免费空间注册使用教程终稿.pdf

    在SourceForge.net上创建项目非常简单。首先,用户需要注册一个账户并通过邮箱验证激活。注册完成后,登录账户并点击"Account",然后在"Projects"下选择"Register a New Project"。输入项目名称和网址,系统会自动...

    http://jhttp2.sourceforge.net/

    标题 "http://jhttp2.sourceforge.net/" 暗示我们关注的是一个与HTTP协议和可能的Java实现相关的项目。这个项目可能是一个开源的HTTP/2客户端库,它允许开发者在Java应用程序中集成HTTP/2通信功能。HTTP/2是HTTP协议...

    WinMerge 文件对比合并工具

    Bug 和对新功能的建议应当提交到 sourceforge.net 的 bug 和 RFE trackers 上。 Bug tracker: http://sourceforge.net/tracker/?group_id=13216&atid=113216 当您提交 bug 时,请告诉我们 WinMerge 的版本号! Win...

    Linux NTFS file system support:开发移至https://sourceforge.net/projects/ntfs-3g/-开源

    该项目的开发已移至https://sourceforge.net/projects/ntfs-3g/,该项目的目标是:为NTFS文件系统(1.2、3.x和更高版本)创建新Linux内核驱动程序,用户空间实用程序(例如,格式,ntfs检查等)和一个库,可避免代码...

    SourceForge.net Hosted Applications-开源

    描述中提到的 "SourceForge.net托管应用程序的源代码和补丁",意味着用户可以在该平台上找到这些项目的完整源代码,以便于学习、定制或贡献。源代码的开放性是开源软件的核心特征,允许任何人查看、修改和分发软件,...

    OpenPalestra:https://sourceforge.net/p/openpalestra-开源

    OpenPalestra项目旨在促进在学术环境中举办的活动中颁发证书,在这些活动中,有可能在一些资源中管理补充活动中的时数库。 更多详细信息,请访问:https://sourceforge.net/p/openpalestra

    glew-2.1.0.tgz

    [](http://glew.sourceforge.net/glew.png) http://glew.sourceforge.net/ https://github.com/nigels-com/glew [![Build Status](https://travis-ci.org/nigels-com/glew.svg?branch=master)]...

    SourceForge.net Site Documentation-开源

    SourceForge.net 是一个知名的开源软件开发平台,为全球的开源项目提供服务。该站点不仅允许开源开发者上传文件以便用户下载,还通过远程服务器(称为“Media Data Mirror”或“MPs”)分发这些文件,以提高下载速度...

    pinyin4j工具类和jar包

    它是sourceforge.net上的一个开源项目,功能非常强大: + 支持同一汉字有多个发音 + 还支持拼音的格式化输出,比如第几声之类的, + 同时支持简体中文、繁体中文转换为拼音…使用起来也非常简单。下面是其官方...

    GifLib:giflib从http://giflib.sourceforge.net下载

    GifLib是一个开源库,主要用于处理GIF图像格式,它为C语言编程提供了方便的API,使得开发者可以轻松地在应用程序中读取、...在实际应用中,根据项目需求,可能还需要配置编译选项,链接GifLib库,并遵循库的许可协议。

    abanq.sourceforge.net-开源

    标题中的"abanq.sourceforge.net-开源"表明这是一个与开源软件相关的项目,具体是Abanq,它是一个在SourceForge.net上托管的项目。SourceForge是一个知名的开源软件开发平台,为全球开发者提供了一个集中管理和协作...

    dev-cpp5.11官方版本

    用户可以方便地在不同项目之间切换,管理各自的依赖和构建设置。 6. **调试功能**:内置的GDB(GNU Debugger)允许用户对程序进行单步调试,查看变量值,设置断点,以及检查调用堆栈,这对于查找和修复程序中的错误...

    See http://sourceforge.net/projects/foam-开源

    同时,OpenFOAM社区活跃,用户可以在论坛上交流问题,获取帮助,也可以贡献自己的代码和案例,共同推动软件的发展。 总的来说,OpenFOAM作为开源的CFD工具,不仅提供了强大的计算能力,还具有高度的可扩展性和灵活...

    skychart-4.2.1-4073-windows-x64-SkyChart夜空图表绘制软件.exe

    https : //sourceforge.net/projects/ccdciel/ https://sourceforge.net/projects/indistarter/ https://sourceforge.net/projects/eqmodgui/ 要求: https://sourceforge.net/projects/libpasastro/ 另请参见:...

    industrypack-devel.lists.sourceforge.net.0

    标题“industrypack-devel.lists.sourceforge.net.0”和描述中的信息看似简洁,但实际上它们可能与开源项目管理和协作平台SourceForge.net相关。"industrypack-devel"这一部分可能指的是一个特定的开源项目或者开发...

Global site tag (gtag.js) - Google Analytics