Changeset 0931098 for server/other/cvsserver.xml
- Timestamp:
- 06/13/2004 05:38:30 AM (20 years ago)
- Branches:
- 10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 6.0, 6.1, 6.2, 6.2.0, 6.2.0-rc1, 6.2.0-rc2, 6.3, 6.3-rc1, 6.3-rc2, 6.3-rc3, 7.10, 7.4, 7.5, 7.6, 7.6-blfs, 7.6-systemd, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, gnome, kde5-13430, kde5-14269, kde5-14686, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, krejzi/svn, lazarus, lxqt, nosym, perl-modules, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, systemd-11177, systemd-13485, trunk, upgradedb, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
- Children:
- 60384c68
- Parents:
- 08254fc
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
server/other/cvsserver.xml
r08254fc r0931098 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" 3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ 4 <!ENTITY % general-entities SYSTEM "../../general.ent"> 5 %general-entities; 6 7 ]> 8 1 9 <sect1 id="cvsserver" xreflabel="cvsserver"> 2 10 <?dbhtml filename="cvsserver.html"?> 3 11 <title>Running a CVS server</title> 4 12 5 &cvsserver-intro; 6 &cvsserver-inst; 7 &cvsserver-exp; 13 <sect2> 14 <title>Running a <acronym>CVS</acronym> server</title> 15 16 <para>This section will describe how to set up, administer and secure 17 a <acronym>CVS</acronym> server.</para> 18 19 <sect3><title><application>CVS server</application> dependencies</title> 20 <sect4><title>Required</title> 21 <para><xref linkend="cvs"/> and <xref linkend="openssh"/></para></sect4> 22 </sect3> 23 24 </sect2> 25 26 <sect2> 27 <title>Setting up a <acronym>CVS</acronym> server.</title> 28 29 <para>A <acronym>CVS</acronym> server will be set up using OpenSSH 30 as the remote access method. Other access methods, including :pserver: and 31 :server: will not be used for write access to the <acronym>CVS</acronym> 32 repository. The :pserver: method sends clear text passwords over the network 33 and the :server: method is not supported in all <acronym>CVS</acronym> ports. 34 Instructions for anonymous, read only <acronym>CVS</acronym> access using 35 :pserver: can be found at the end of this section.</para> 36 37 <para>Configuration of the <acronym>CVS</acronym> server consists of four 38 steps:</para> 39 40 <sect3><title>1. Create a repository.</title> 41 <para>Create a new <acronym>CVS</acronym> repository with the following 42 commands:</para> 43 <screen><userinput><command>mkdir /home/cvsroot && 44 chmod 1777 /home/cvsroot && 45 export CVSROOT=/home//cvsroot && 46 cvs init</command></userinput></screen></sect3> 47 48 <sect3><title>2. Import source code into the repository.</title> 49 <para>Import a source module into the repository with the following 50 commands, issued from a user account on the same machine as the 51 <acronym>CVS</acronym> repository:</para> 52 53 <screen><userinput><command>export CVSROOT=/home/cvsroot && 54 cd <replaceable>[sourcedir]</replaceable> && 55 cvs import -m <replaceable>["repository test"] [cvstest] [vendortag] [releasetag]</replaceable></command></userinput></screen></sect3> 56 57 <sect3><title>3. Verify local repository access.</title> 58 <para>Test access to the <acronym>CVS</acronym> repository from the same user 59 account with the following command:</para> 60 61 <screen><userinput><command>cvs co cvstest</command></userinput></screen></sect3> 62 63 <sect3><title>4. Verify remote repository access.</title> 64 <para>Test access to the <acronym>CVS</acronym> repository from a remote 65 machine using a user account that has <command>ssh</command> access to the 66 <acronym>CVS</acronym> server with the following commands:</para> 67 <note><para>Replace <replaceable>[servername]</replaceable> with the 68 <acronym>IP</acronym> address or host name of the <acronym>CVS</acronym> 69 repository machine. You will be prompted for the user's shell account password 70 before <acronym>CVS</acronym> checkout can continue.</para></note> 71 72 73 <screen><userinput><command>export CVS_RSH=/usr/bin/ssh && 74 cvs -d:ext:<replaceable>[servername]</replaceable>:/cvsroot co cvstest</command></userinput></screen></sect3> 75 </sect2> 76 <sect2> 77 <title>Configuring <acronym>CVS</acronym> for anonymous read only access.</title> 78 79 <para><acronym>CVS</acronym> can be set up to allow anonymous read only access 80 using the :pserver: method by logging on as root and executing the following 81 commands:</para> 82 83 <screen><userinput><command>(grep anonymous /etc/passwd || useradd anonymous -s /bin/false) && 84 echo anonymous: > /home/cvsroot/CVSROOT/passwd && 85 echo anonymous > /home/cvsroot/CVSROOT/readers</command></userinput></screen> 86 87 <para>If you use <command>inetd</command>, the following command will add the 88 pserver entry to <filename>/etc/inetd.conf</filename>:</para> 89 90 <screen><userinput><command>echo "2401 stream tcp nowait root /usr/bin/cvs cvs -f \ 91 --allow-root=/home/cvsroot pserver" >> /etc/inetd.conf</command></userinput></screen> 92 93 <para>Issue a <command>killall -HUP inetd</command> to reread the changed 94 <filename>inetd.conf</filename> file.</para> 95 96 <para>If you use <command>xinetd</command>, the following command will add the 97 pserver entry to <filename>/etc/xinetd.conf</filename>:</para> 98 99 <screen><userinput><command>cat >> /etc/xinetd.conf << "EOF"</command> 100 service cvspserver 101 { 102 port = 2401 103 socket_type = stream 104 protocol = tcp 105 wait = no 106 user = root 107 passenv = PATH 108 server = /usr/bin/cvs 109 server_args = -f --allow-root=/home/cvsroot pserver 110 } 111 <command>EOF</command></userinput></screen> 112 <para>Issue a <command>/etc/rc.d/init.d/xinetd reload</command> to reread the changed 113 <filename>xinetd.conf</filename> file.</para> 114 115 <para>Testing anonymous access to the new repository requires an account 116 on another machine that can reach the <acronym>CVS</acronym> server via 117 network. No account on the <acronym>CVS</acronym> repository is needed. To 118 test anonymous access to the <acronym>CVS</acronym> repository, log in to 119 another machine as an unprivileged user and execute the following command: 120 </para> 121 122 <screen><userinput><command>cvs -d:pserver:anonymous@<replaceable>[servername]</replaceable>:/home/cvsroot co cvstest</command></userinput></screen> 123 <note><para>Replace <replaceable>[servername]</replaceable> with the <acronym>IP</acronym> address or 124 hostname of the <acronym>CVS</acronym> server</para></note> 125 126 </sect2> 127 128 <sect2> 129 <title>Command explanations</title> 130 131 <para><command>mkdir /home/cvsroot</command>: Create the <acronym>CVS</acronym> 132 repository directory.</para> 133 134 <para><command>chmod 1777 /home/cvsroot</command>: Set sticky bit permissions for 135 <envar>CVSROOT</envar>.</para> 136 137 <para><command>export CVSROOT=/home/cvsroot</command>: Specify new <envar>CVSROOT 138 </envar> for all <command>cvs</command> commands.</para> 139 140 <para><command>cvs init</command>: Initialize the new <acronym>CVS</acronym> 141 repository.</para> 142 143 <para><command>cvs import -m "repository test" cvstest vendortag 144 releasetag</command>: All source code modules must be imported 145 into the <acronym>CVS</acronym> repository before use, with the 146 <command>cvs import</command> command. The <userinput>-m</userinput> 147 flags specifies an initial descriptive entry for the new module. 148 The "cvstest" parameter is the name used for the module in all 149 subsequent <command>cvs</command> commands. The "vendortag" and "releasetag" 150 parameters are used to further identify each <acronym>CVS</acronym> module and 151 are mandatory whether used or not.</para> 152 153 <para><command>(grep anonymous /etc/passwd || useradd anonymous -s 154 /bin/false)</command>: Check for an existing anonymous user and 155 create one if not found.</para> 156 157 <para><command>echo anonymous: > /home/cvsroot/CVSROOT/passwd 158 </command>: Add the anonymous user to the <acronym>CVS</acronym> passwd file, 159 which is unused for anything else in this configuration.</para> 160 161 <para><command>echo anonymous > /home/cvsroot/CVSROOT/readers</command>: Add the 162 anonymous user to the <acronym>CVS</acronym> readers file, a list of 163 users who have read only access to the repository.</para> 164 165 </sect2> 8 166 9 167 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.