CVS-Zugriff auf die LUG-KR Website #
Die Webseiten der LUG Krefeld stehen im Sourceforge CVS. Hier eine Kurzanleitung für die Nutzung des CVS:
Änderung der LUG-KR-Website im CVS #
Das folgende gilt nur für Read/Write Zugriff - Anonymous Zugriff (nur zum Lesen) geht wie auf der Projektseite beschrieben (www.sf.net/projects/lug-kr)
Lt. Doku muss man sich zunächst einmalig in den CVS Server via SSH einloggen um das Heimatverzeichnis zu erstellen. In meinem Fall hiess das also
ssh -l abmann cvs.lug-kr.sf.net
Es muessen Shell-Variable gesetzt sein:
export CVS_RSH=ssh export CVSROOT=:ext:abmann@cvs.lug-kr.sf.net:/cvsroot/lug-kr
Letzt endlich wird das Verzeichnis auf die lokale Platte übertragen:
cvs checkout www
-> Es wird nach dem Passwort für den ssh-Zugang gefragt!
Nun sollte das gesamte htdocs Verzeichnis (aka www) auf der Platte sein.
Beachten: Die cgi-scripte, sowie die wiki Datenbank sind *nicht* unter htdocs/ zu finden und folglich nicht im CVS.
Bei SF ist es notwendig immer das Passwort einzugeben, sobald man CVS verwendet, da hier eine ssh Verschlüsselung stattfindet. Man kann es aber auch speichern - siehe http://sourceforge.net/docman/?group_id=1 Der Punkt "SSH Keys and CVS/Shell Accounts" beschreibt das.
Kurze CVS Einführung: (alles ./www) Die Zeile
cvs checkout www
ist nur einmalig vonnöten (es sei denn, ihr löscht eure lokale Kopie irgendwann wieder...). Sobald der Checkout stattgefunden hat gibt es ein Verzeichnis www mit einem Unterverzeichnis CVS. Im Unterverzeichnis CVS (gibt's unter jedem Verzeichnis) steht woher die Dateien ausgecheckt wurden. Die Variable CVSROOT hat dann keine Bedeutunbg mehr.
Um das Verzeichnis lokal auf den neusten Stand zu bringen, macht mein ein Update:
cvs update
Um eine geänderte Datei zu übertragen:
cvs commit Datei.php
CVS ist standardmässig rekursiv, d.h. "cvs commit" überträgt alle geänderten Dateien in einem Verzeichnis.
Um eine neue Datei hinzuzufügen:
cvs add Datei.php cvs commit Datei.php
-> cvs add vermerkt die Datei im Verzeichnis CVS und sobald wieder ein commit stattfindet wird sie übertragen.
Das war eigentlich schon das wichtigste. Sowas wie cvs up -r 1.0 Datei.php holt eine bestimmte Version (1.0) der Datei. Mit cvs up -A kann man wieder die aktuelle Datei laden.
Unter http://sourceforge.net/docman/?group_id=1 gibt es ne Menge Doku zu CVS, evtl. auch was deutsches (hab nicht geschaut).
Website unter http://www.lug-kr.de vom CVS aktualisieren #
Um den CVS-Inhalt dann endgültig ins Netz zu stellen, loggt man sich per Hand bei Sourceforge ein:
ssh tbayen@shell.sourceforge.net
Dann geht man in das Gruppenverzeichnis
cd /home/groups/l/lu/lug-kr/
(evtl. Link anlegen, weil man da bestimmt öfters hinwill) und startet
./scripts/update_cvs
Dadurch wird der CVS-Inhalt in den Webspace übertragen. Fertig! Wer will, kann dieses Skript übrigens auch als Cronjob laufen lassen, was bei uns eine ganze Weile gut funktionierte. Da sich unsere Webseiten aber sehr selten ändern, weil inzwischen alles veränderliche im Wiki steht statt in den statischen HTML-Seiten, haben wir das nicht mehr so installiert.
unser update-Skript #
Das update_cvs-Skript sieht folgendermassen aus (falls das jemanden interessiert):
#!/bin/bash # umask to u=rwx,g=rwx,o=rx --> see umask -S 002 umask 002 # cd into the directory first cd /home/groups/l/lu/lug-kr/htdocs || exit 1 # update via anonymous CVS cvs -d:pserver:anonymous@cvs1:/cvsroot/lug-kr up -P