/* //paragraph [1] Title: [{\Large \bf \begin{center}] [\end{center}}] //paragraph [2] Center: [{\begin{center}] [\end{center}}] //paragraph [10] Footnote: [{\footnote{] [}}] //paragraph [44] table4columns: [\begin{quote}\begin{tabular}{llll}] [\end{tabular}\end{quote}] //characters [20] verbatim: [\verb@] [@] //characters [21] formula: [$] [$] //characters [22] capital: [\textsc{] [}] //characters [23] teletype: [\texttt{] [}] //[--------] [\hline] //[TOC] [\tableofcontents] //[p] [\par] //[@] [\@] //[LISTING-SH] [\lstsetSH] //[ae] [\"a] //[oe] [\"o] //[ue] [\"u] //[Ae] [\"A] //[Oe] [\"O] //[Ue] [\"U] [1] CVS Installation und Konfiguration auf Server Zeppelin [2] Januar 2010, Markus Spiekermann [TOC] 1 Das Basisverzeichnis CVSROOT Unterhalb diese Basisverzeichnisses befinden sich alle von CVS verwalteten Repositorys. Diese befinden sich auf einer eigenen Festplattenpartition unter dem Mountpoint. */ /home/cvsroot -> /cvsroot CVSROOT = /home/cvsroot /* der als "CVSROOT" verwendet wird. Momentan gibt es mehrere Unterverzeichnisse (Repositorys), unter anderem */ secondo secondo-data secondo-documents CVSROOT students ... /* Das Verzeichnis "/home/cvsroot/CVSROOT" ist das Konfigurationsverzeichnis des Servers hier sind folgende Dateien wichtig: */ passwd = CVS-Benutzernamen und Passwortdatei readers = Benutzer, die nur Leseberechtigt sind users = E-Mail Adressen der CVS-Benutzer cvswrappers = Besondere Behandlung von Dateien mit einer bestimmten Endung /* Jeder CVS-Benutzer wird einem Betriebsystembenutzer zugeordnet. In der Datei "readers" k[oe]nnen Benutzer festgelegt werden, denen nur lesender Zugriff auf die Repositories gestattet werden soll. Um Berechtigungen auf der Ebene einzelner Dateien oder Verzeichnisse zu realisieren diese durch die Berechtigungskonzepte des Betriebsystems realisiert werden. Uneingeschr[ae]nkt schreibberechtigte Benutzer sind dem Linux-Benutzer "spieker", der den Gruppen "crew" und "cvs-crew" angeh[oe]rt zuzuordnen. Fuer Studenten stehen die Linux-Benutzer "diplomand1, diplomand2, ..., dimplomand20" zur Verf[ue]gung. F[ue]r "1 < X < 20" sind die Benutzer jeweils der Gruppe "diplomandX" und "cvs-dipl" zugeordnet. Durch eine geeignete Zuordnung von CVS-Benutzer auf Linux-Benutzer sowie der Zuordnung von Owner- und Gruppenrechten auf Dateien und Verzeichnisse k[oe]nnen nun beliebige Zugriffsbeschr[ae]nkungen auf Betriebsystemebene realisiert werden. Diese k[oe]nnen im Repository Verzeichnis mittels der Befehle "chgrp" und "chmod" ver[ae]ndert werden. Dass Passwort f[ue]r einen neuen Benutzer wird in der Passwortdatei in verschl[ue]sselter Form hinterlegt. Die Verschl[ue]sselung kann durch Aufruf des Perl-Scripts "CM-Scripts/cvspass.pl " erfolgen. CVS-Benutzer k[oe]nnen nicht selbst[ae]ndig Ihr Passwort [ae]ndern. Falls Sie es vergessen sollte ein neues definiert werden. Damit CVS-Clients von entfernten Rechner eine Verbindung herstellen k[oe]nnen muss CVS f[ue]r den Internet-D[ae]mon ~xinet~ konfiguriert werden. Andernfalls kann CVS nur f[ue]r Benutzer, die sich auf dem Server einloggen, benutzt werden. Die xinet Konfiguration wird in der Datei "/etc/xinet.d/cvs" definiert. F[ue]r CVS-User ist zus[ae]tzlich auf Bassi in /etc/mail/secondo-users.txt ein Mailverteiler eingerichtet[ue]ber den alle secondo CVS-User mit secondo-users@bassi.fernuni-hagen.de angemailt werden k[oe]nnen. Studenten mit Abschlussarbeit sind dort jeweils ein- bzw. auszutragen. */ service cvspserver { socket_type = stream protocol = tcp wait = no user = root server = /usr/bin/cvs server_args = -f --allow-root=/home/cvsroot pserver } /* 2 Periodische Tests und [Ue]berwachungen Der Linux-Benutzer spieker hat einige cron-jobs definiert, die t[ae]glich durchgef[ue]hrt werden. Dazu werden einige Scripte die unter "/home/spieker/cvs-snapshot/CM-Scripts" liegen ausgef[ue]hrt. Dieses Scripte werden ebenfalls von CVS verwaltet. Da cron jobs E-Mails der Ausgaben (Ergebnisse) versenden sollte der CVS-Verwalter daf[ue]r sorgen, dass er in seinem E-Mail Programme die E-Mails einsammelt. Dies kann auf verschiedenste Arten realisiert werden. F[ue]r den Benutzer spieker wurde dies einfach durch Weiterleitung an "spieker@bassi" durch einen entspechenden Eintrag in der "\$HOME/.forward" Datei geregelt. Jeder Benutzer kann mittels des Kommandos crontab eine Liste seiner cron-jobs definieren. N[ae]here Informationen dazu findet man in den Man-Pages zu crontab. Nachfolgend sind einige Eintr[ae]ge aufgelistet: */ # Building SECONDO from Scratch 00 13 * * 1,2,3,4,5 ./cvs-snapshot/CM-Scripts/cvs-make.sh -o"std" -s/home/spieker -d"sdk-412" -g"4.1.2-linux64" 55 6 * * 1,2,3,4,5 ./cvs-snapshot/CM-Scripts/cvs-make.sh -o"std" -s/home/spieker -d"sdk-412" -g"4.1.2-linux64" # Correcting access properties for new created directories and files 0 8-22/1 * * * ./cvs-snapshot/CM-Scripts/cvs-chgrps.sh -lockRoot /var/tmp/cvslock -cvsHome /home/cvsroot 3 8-22/1 * * * find /var/tmp/cvslock/secondo ! -group "cvs-dipl" 6 8-22/1 * * * find /var/tmp/cvslock/students ! -group "cvs-dipl" 9 8-22/1 * * * find /var/tmp/cvslock/secondo-data ! -group "cvs-dipl" /* Das Script cvs-make.sh steuert die Neu[ue]bersetzung des Quellcodes sofern [Ae]nderungen seit dem letzten Lauf des Sckriptes ins CVS [ue]bertragen wurden. [Ue]bersetzungs- und Laufzeitfehler der automatischen Regressionstests werden protokolliert und den Personen, die zuletzt [Ae]nderungen am Quellcode gemacht haben per E-mail zugesendet zus[ae]tzlich werden diese unter "/var/tmp/cvs-make" archiviert. 4 Sicherungen Sicherungen werden [ue]ber den Backup-Servi ce des ZMI durchgef[ue]hrt. Dazu wurde ein Tivoli Backup-Client auf dem Server installiert, der das Verzeichnis "/cvsroot" sichert. Ansprechpartner f[ue]r Backups: Thomas Behr 5 N[ue]tzliche Links */ http://www.nongnu.org/cvs http://ximbiot.com/cvs/manual http://klaus.jaehne.de/papers/cvs-handout