SourceForge guide

Tom Huckstep

  tomhuckstep@bigfoot.com
        

Revision History
Revision v0.0122 February 2001Revised by: teh
First draft
Revision v0.0223 February 2001Revised by: teh
Corrected/added some CVS info
Revision v0.0323 March 2001Revised by: jwg
Filled in details for sign up instructions, added web address for mailing list and web based forums to communication utilities.
Revision v0.047 May 2001Revised by: teh
Added advanced ssh instructions
Revision v0.114 July 2001Revised by: jee
Bumped up to v0.1 to denote that this is an edited version. Hence, this is an edited version, with some new content added in.
Revision v2.02 May 2002Revised by: jee
Turns out I already edited this one, so I just had a quick second look and bumped it up for release.

Table of Contents
1. Introduction
1.1. What is SourceForge?
1.2. Why use SourceForge?
2. Signing up
3. Web services
4. SourceForge Documentation
5. ssh services
5.1. Installing ssh
5.2. The shell server
5.3. CVS
6. Communication utilities
7. Advanced ssh
7.1. A little background
7.2. Setting up your public/private key
7.3. Setting up the server side
7.4. Protecting your private key
7.5. Concluding ssh
8. Further information
8.1. SourceForge
8.2. CVS

1. Introduction

1.1. What is SourceForge?

From the SourceForge FAQ: "SourceForge is a free hosting service for Open Source developers which offers, among other things, a CVS repository, mailing lists, bug tracking, message forums, task management software, web site hosting, permanent file archival, full backups, and total web-based administration."


2. Signing up

To use SourceForge for development, you need to register as a site user.

Head on over to http://www.sourceforge.net/ and follow the link, `New User Via SSL'. There, you will be presented with the SourceForge New Account Registration page. You will need to fill in the following details:

After you have completed that you will receive an email which will send you to the account verification page. This is where you will login with your new username and password.

To join the newbieDoc developers list you must contact one of the project administrators. To find out who these are, have a look at http://sourceforge.net/projects/newbiedoc/. Follow one or more of the links in the developer info box to find contact details. Send an e-mail to any or all of the admins explaining that you wish to become a developer, and be sure to tell them your SourceForge user name.


3. Web services

SourceForge provides a web-based interface to most of the functions it provides. All project administration is done through the web, as well as bug tracking, technical support, task management and more. The entry point to all this is the project's home page. For example, the home page for newbieDoc is at http://sourceforge.net/projects/newbiedoc/.


4. SourceForge Documentation

SourceForge provides good documentation on the services it provides. You can get it at http://sourceforge.net/docman/?group-id=1, or by following the `Site Docs' link.


5. ssh services

In the interests of security, SourceForge does all its communication with logged-in users over secure encrypted channels. This is the case even for the web-based services. There are two important utilities that cannot be accessed via a web interface, but instead by using ssh, the secure shell. These utilities are the shell server and CVS.


5.3. CVS

CVS is used to organize and store collections of files in a central repository, so that many developers can work on them at once. More than one developer can work on the same file at a time. If one change conflicts with somebody else's change, CVS will warn the second user and attempt to solve the problem.


5.3.1. Installing CVS

Note

Note: Debian-specific

apt-get install cvs

5.3.2. Using CVS for newbieDoc

Before using CVS with SourceForge you need to make sure the environment variable CVS_RSH is set to `ssh'. For bash you can set it like this:

$ export CVS_RSH=ssh

You can add this to your ~/.bashrc to have the variable set it every shell.


5.3.2.3. Add a new file
$ cd ~/cvs
$ emacs my_new_file.sgml
$ cvs add my_new_file.sgml
$ cvs commit

Of course, you may substitute your favorite editor for emacs.


6. Communication utilities

SourceForge provides the opportunity for both mailing lists and web-based forums. Go to http://lists.sourceforge.net/lists/listinfo/newbiedoc-discuss to subscribe to the mailing list. You don't have to be a member of newbiedoc or sourceforge to subscribe to the mailing list. So please subscribe and pass on any ideas or thoughts you may have! The web based forums are located here: http://sourceforge.net/forum/?group_id=18089 in case you do not want to subscribe to the mailing list.


7. Advanced ssh

You can log into the SourceForge shell and CVS servers without using your password, but instead using a public/private key pair. This means you never have to send your password over the network -- encrypted or otherwise -- and you only have to type your password once when you log on to your local workstation.


7.2. Setting up your public/private key

First you need to generate you public and private key pair. You do this using ssh-keygen. You can just keep pressing Enter to select all of the default values:

$ ssh-keygen 
Generating RSA keys:  ..........................oooooO...................oooooO
Key generation complete.
Enter file in which to save the key (/home/tom/.ssh/identity): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/tom/.ssh/identity.
Your public key has been saved in /home/tom/.ssh/identity.pub.
The key fingerprint is:
1024 3d:50:a1:6d:96:2e:5f:18:2e:6f:8f:1f:32:25:c8:9d tom@henry


7.4. Protecting your private key

Although your private key is set to be only readable by you, the root user of your system can also see it. If you don't trust your admins that much, or just want some extra security then you can put a passphrase on your key.

$ ssh-keygen -p
Enter file in which the key is (/home/tom/.ssh/identity): 
Key has comment 'tom@henry'
Enter new passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved with the new passphrase.

Note

Your choice of passphrase is not as restrictive as your choice of UNIX password is. It can contain all sorts of characters, including spaces and can be very long.


8. Further information