Eine kurze Beschreibung, wie man mit Hilfe von CVS einer Benutzergruppe Zugang zu einem Projekt einrichtet.
Die Authentifizierung werden wir mit Hilfe von SSH vornehmen, damit die Daten verschlüsselt übertragen werden. Die ganzen nachfolgenden Befehle müssen als Benutzer “root” auf dem Server ausgeführt werden.
1. Einrichtung von SSH auf dem Server
Um den ssh-Server möglichst vor Sicherheitsprobleme zu sichern, sollten folgende Änderungen in der /etc/ssh/sshd_config gemacht werden:
Protocol 2
PermitRootLogin no
RhostsAuthentication no
2. Einrichtung der SSH Accounts
Alle Benutzer, die auf CVS Repositories Zugriff haben sollen, müssen als Benutzer auf dem Linuxserver angelegt werden, um einen Zugriff mit SSH zu erhalten.
adduser -g users benutzer1
adduser -g users benutzer2
passwd benutzer1
passwd benutzer2
Damit wurden zwei Accounts für die Benutzer benutzer1 und benutzer2 angelegt. Anschließend wurde jedem Benutzer ein Kennwort zugewiesen.
3. Einrichtung der CVS Umgebung
Nun legen wir ein Verzeichnis an, innerhalb dieses alle zukünftigen CVS Repositories angelegt werden. Das Verzeichnis sollte auf keinen Fall über den Webserver zugänglich sein.
mkdir /home/cvs
chmod 755 /home/cvs
4. Anlegen eines CVS Repository
Für jedes Projekt wird nun ein Verzeichnis innerhalb unserer CVS Umgebung angelegt.
mkdir /home/cvs/cms
chown alex:users /home/cvs/cms
chmod 775 /home/cvs/cms
mkdir /home/cvs/dokumenation
chown alex:users /home/cvs/dokumenation
chmod 775 /home/cvs/dokumenation
Es wurden zwei Projekt names “cms” und “dokumentation” angelegt. Wichtig dabei ist, dass man die Benutzerrechte auf die Projektbenutzer überträgt, damit diese innerhalb dieses Projektes Repositories anlegen können.
Repository initialisieren:
cvs -d /home/cvs/dokumentation init
Um nun ein Verzeichnis zu importieren, wechselt man in das jeweilige Verzeichnis und führt folgenden Befehl aus:
cvs import -m "Imported sources" dokumentation/book1 yoyo start
Eine ausführliche Dokumentation kann in Open Source Development with CVS gefunden werden.
Es empfiehlt sich, dass man Webfrontends für eine komfortable Ansicht der Repositories benutzt. Folgende populäre Projekte kann ich empfehlen: