You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs-cvs@perl.apache.org by pe...@apache.org on 2002/06/01 00:06:45 UTC
cvs commit: modperl-docs/src/docs/general cvs_howto.pod Changes.pod
pereinar 2002/05/31 15:06:45
Modified: src/docs/general cvs_howto.pod Changes.pod
Log:
Added a section about CVs+SSH developer access at request from Stas.
Some inspiration from http://jakarta.apache.org/site/cvsonunix.html.
Revision Changes Path
1.7 +116 -0 modperl-docs/src/docs/general/cvs_howto.pod
Index: cvs_howto.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/general/cvs_howto.pod,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- cvs_howto.pod 30 May 2002 15:59:11 -0000 1.6
+++ cvs_howto.pod 31 May 2002 22:06:45 -0000 1.7
@@ -156,6 +156,118 @@
(through C<cvs log>, C<cvs diff> and friends), but the web interface
makes it much easier to get a good overview of the different files.
+=head1 CVS+SSH access for mod_perl committers
+
+If you are lucky enough to have commit access to the mod_perl CVS
+repositories, you'll have to use SSH together with CVS for added
+security. We suppose that you have the user name I<user> and password
+I<pass>, whcih you will have received from the sysadmin.
+
+Firt, you'll need an SSH client running from the shell. For Unix, look
+to http://www.openssh.org/. For Windows, you might want to look at
+Putty, http://www.chiark.greenend.org.uk/~sgtatham/putty/, especially
+the I<plink> client which runs from the command line.
+
+=head2 Checking out
+
+The checkout procedure is approximately the same as for anonymous
+CVS. However, some additional measures need to be taken beforehand.
+
+First of all, set your C<CVS_RSH> environment variable to C<ssh> (if
+your SSH program has a different name, such as I<plink>, use that
+instead):
+
+ % export CVS_RSH=ssh
+
+This all depends on which shell you are running under. You should add
+this your I<.bashrc> or similar file, so that it's set on startup. For
+Windows, add the line
+
+ set CVS_RSH=ssh
+
+to I<autoexec.bat>, or set the environment variable through the System
+section of the Control Panel on NT systems.
+
+Second, your CVS Root now changes. Check out with the line:
+
+ % cvs -d :ext:user@cvs.apache.org:/home/cvs co modperl
+
+Next, SSH will probably ask you if you want to allow the host
+I<cvs.apache.org>. Answer yes. Then you are asked for your password;
+type it in. Now you will get a freshly checked out copy of the
+I<modperl> repository.
+
+=head2 Working with CVS
+
+Normally, most changes should go through peer review first. It might
+be a good idea to discuss the intricacies of a change on the
+appropriate mailing list before commiting anything. Then, to commit:
+
+ % cvs update
+ % cvs commit
+
+Running C<cvs update> avoids any problems with out of date versions of
+files. If you get any conflicts because of it, these must be changed
+before doing C<cvs commit>, which will incorporate any changes into
+the repository. To commit only a single file, do:
+
+ % cvs commit path/to/file
+
+To add a file:
+
+ % cvs add path/to/file
+
+If it is a binary file, you must make sure to do:
+
+ % cvs add -kb path/to/binary/file
+
+Then, to add it permanently, you will have to commit it.
+
+One B<very> important note before (ab)using your powers: the mod_perl
+documentation project makes use of an automatic build system. This
+means that any changes commited will be periodically rebuilt to create
+the new site. This is great, but a side-effect of this is that if
+someone commits anything that doesn't work, the build will fail, and
+might leave the site unavailable.
+
+To avoid these problems, please make sure to run C<bin/build> on your
+working copy to test I<before> commiting. Also, make sure to run C<cvs
+update> to check that you have added all files to the repository, it
+can happen quickly to forget adding the files you had changed!
+
+=head2 Avoiding typing in the password
+
+From the ssh man page:
+
+ As a third authentication method, ssh supports RSA based
+ authentication. The scheme is based on public-key cryptography:
+ there are cryptosystems where encryption and decryption are done
+ using separate keys, and it is not possible to derive the decryption
+ key from the encryption key. RSA is one such system. The idea is
+ that each user creates a public/private key pair for authentication
+ purposes. The server knows the public key, and only the user knows
+ the private key. The file $HOME/.ssh/authorized_keys lists the
+ public keys that are permitted for logging in. When the user logs
+ in, the ssh program tells the server which key pair it would like to
+ use for authentication. The server checks if this key is permitted,
+ and if so, sends the user (actually the ssh program running on
+ behalf of the user) a challenge, a random number, encrypted by the
+ user's public key. The challenge can only be decrypted using the
+ proper private key. The user's client then decrypts the chal- lenge
+ using the private key, proving that he/she knows the private key but
+ without disclosing it to the server.
+
+ ssh implements the RSA authentication protocol automatically. The
+ user creates his/her RSA key pair by running ssh-keygen(1). This
+ stores the private key in $HOME/.ssh/identity and the public key in
+ $HOME/.ssh/identity.pub in the user's home directory. The user
+ should then copy the identity.pub to $HOME/.ssh/authorized_keys in
+ his/her home directory on the remote machine (the authorized_keys
+ file corresponds to the conventional $HOME/.rhosts file, and has one
+ key per line, though the lines can be very long). After this, the
+ user can log in without giving the password. RSA authentication is
+ much more secure than rhosts authentication.
+
=head1 mod_perl and Related Projects on cvs.apache.org
=over
@@ -252,6 +364,10 @@
=item *
Doug MacEachern
+
+=item *
+
+Per Einar Ellefsen E<lt>per.einar (at) skynet.beE<gt>
=back
1.7 +2 -0 modperl-docs/src/docs/general/Changes.pod
Index: Changes.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/general/Changes.pod,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Changes.pod 29 May 2002 05:03:41 -0000 1.6
+++ Changes.pod 31 May 2002 22:06:45 -0000 1.7
@@ -17,6 +17,8 @@
some of them (mod_perl 2 and mod_perl docs) relative to their
installation. Added a note about ViewCVS. [Per Einar]
+ o Added section about CVS+SSH developer access. [Per Einar]
+
* perf_reference:
o added a section on overriding functions to trace their failure.
---------------------------------------------------------------------
To unsubscribe, e-mail: docs-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: docs-cvs-help@perl.apache.org