`
忧里修斯
  • 浏览: 425757 次
  • 性别: 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操作了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics