CVS pserver und Viewvc installieren
Zuerst installieren wir die benötigten Programme.
root:~# apt-get install cvs viewvc xinetd
Nun erstellen wir zwei Gruppen cvspublic und cvsadmin.
root:~# groupadd -g 30000 cvspublic
root:~# groupadd -g 31000 cvsadmin
Nun erstellen wir zwei User cvspublic und cvsadmin.
root:~# adduser --quiet --shell /bin/false --no-create-home --disabled-password --gecos "cvspublic" --uid 30000  --gid 30000 cvspublic
root:~# adduser --quiet --shell /bin/false --no-create-home --disabled-password --gecos "cvsadmin" --uid 31000 --gid 31000 cvsadmin
Wir erstellen das cvs Repository.
root:~# cd /var/lib/
root:/var/lib# mkdir cvs
root:/var/lib# cvs -d /var/lib/cvs init
root:/var/lib# chown -R cvsadmin.cvsadmin cvs
Wir erstellen eine xinetd Datei für unseren cvspserver.
root:/var/lib# cd
root:~# vi /etc/xinetd.d/cvspserver
service cvspserver
{
     port = 2401
     socket_type = stream
     protocol = tcp
     user = root
     wait = no
         passenv = PATH
     server = /usr/bin/cvs
     server_args = -f --allow-root /var/lib/cvs pserver
     disable = no
}
Nun starten wir den xinetd Daemon neu.
root:~# /etc/init.d/xinetd restart
Nun erstellen wir eine VirtualHost Datei mit dem namen viewcvs.
root:~# vi /etc/apache2/sites-available/viewcvs
<VirtualHost *:80>
    ServerSignature Off
    ServerAdmin postmaster@example.com
    ServerName viewvc.example.com
    <IfModule mod_alias.c>
        ScriptAlias /viewvc /usr/lib/cgi-bin/viewvc.cgi
    </IfModule>
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteRule ^/$ /viewvc [R]
    </IfModule>
    <Location /viewvc>
        AuthType Basic
        AuthName "Password Required"
        AuthUserFile /var/lib/cvs/CVSROOT/passwd
        Require valid-user
        Order deny,allow
        Allow from all
    </Location>
    ErrorLog /var/log/apache2/viewvc-error.log
    CustomLog /var/log/apache2/viewvc-access.log combined
    LogLevel warn
</VirtualHost>
Nun aktivieren wir den vhost und starten den Apache neu.
root:~# a2ensite viewcvs
root:~# /etc/init.d/apache2 reload
Über die URL http://viewvc.example.com/ kann man dann auf die Repositories zugreifen. Zugang haben nur User die in der Datei /var/lib/cvs/CVSROOOT/passwd definiert sind.