Skip to content

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.