cvs server unter openBSD

SpecialAgent

BSD Trainee
Hey,

ich möchte gerne einen CVS Server auf meinem OpenBSD Server installieren um meine Java/C++, etc Projekte zuhause und in der Schule auf dem neusten Stand zu halten ohne lästiges hin und her kopieren.

Wie funktioniert das, ich weiß das OpenBSD selber mit CVS geupdatet wird. Sprich er ist der Client, kann er auch als Server fungieren? Ist das schon onboard oder muß ich irgendetwas nachinstallieren? Hab mal auf der cvshome seite ein wenig rumgesurft, hab auch die neusten sources, allerdings keine anleitung zum installieren des servers gefunden.

Hat jemand ein wenig Erfahrung und kann mir die Basics einmal sagen?

Danke,

Gruss SA
 
Ich benutze absichtlich den Terminus "Server" nicht, weil man es lieber per ssh machen sollte und nicht als pserver. Hierbei wird CVS über ssh getunnelt.

1) cvs und ssh installieren
2) ssh-Zugriffe auf der Firewall freigeben
3) mkdir /pfad/des/repository
4) dann Voreinstellungen, wo Clients sind (Voreinstellungen am besten automatisch starten):
Code:
# setenv CVS_RSH ssh
# setenv CVSROOT <benutzername>@<host-wo-repository-ist>:/pfad/des/repository
5) Nur ein Mail für ein neues Repository starten von einem voreingestellten Client aus starten:
Code:
cvs init

Ab hier kannst Du normale CVS-Operationen ausführen.
 
Hallo,

ich bastle auch gerade an der Einrichtung eines CVS-Servers, bzw. der Bereitstellung
von CVS ueber den sshd.

Da ich CVS jedoch nicht ganz ueber den Weg traue, was sicherheit anbelangt, wird vor den Zugriff ein chroot() ausgefuehrt. Dazu nutze ich die anonccvsh.shar, die OpenBSD fuer ihre anonymous-CVS verwendet (http://www.openbsd.org/anoncvs.shar), die ich meinen wuenschen entsprechend angepasst habe. In den Shellarchiv ist auch eine sehr umfangreiche README drin,
die viel erklaert.

Die restliche Absicherung innerhalb der chroot-Umgebung erfolgt durch entsprechende Verzeichnisfreigaben.


Mein Server steht noch nicht ganz und ist vor allem noch nicht getestet, aber vielleicht schreibe ich noch etwas dazu, wenn ich irgendwo auf Probleme stosse, von
denen ich hoffe sie elegant geloest zu haben.

Gruss
PhysChemist
 
Wieviele User kannst du definieren?
Können User in diesem AnonCVS auch schreibend auf das Repository zugreifen?
 
Hey Leute,

habe gestern von einem Kommolitionen ein Tipp bekommen.

Der Nachfolger von cvs heißt svn. svn bietet alles von cvs + die Sachen die man bei cvs vermißt. Sicherheit?

evtl. interessiert es euch ja... hier mal der Link...

[URL http://subversion.tigris.org/]Subversion[/URL]

Hab aber immer noch keinen Peil was ich tun soll!

Gruss
 
@special_agent:
Geh auf www.cvshome.org und grok wie CVS funktioniert.
Dann kannst du, mit oder ohne Jail, ein CVS erstellen, das über SSH funktioniert,
dazu muss kein Server installiert werden!
Vergiss die ganze Pserver-Shice, mühsam, kompliziert und unsicher.
 
@lars
Hallo,

den allgemeinen Zugriff regle ich ueber die Gruppe 'cvs', es koennen also beliebig viele
Nutzer darauf zugreifen.
Schreibzugriffe sind kein Problem, solange ich die Verzeichnisse (ich missbrauche das Respository fuer mehrere Miniprojekte mehrerer User) freigebe.

Ich habe vor, je nach wunsch Gruppen anzulegen, um den Zugriff detailliert zu regeln, so dass mein CVS-Verzeichnis in etwa so gefuellt ist
<tt>
| +- cvs drwxr-x--- cvsadmin:cvs ; nur Mitglierder von cvs kommen weiter
| | +- CVSROOT drwxr-x--- cvsadmin:cvs
| | | admin
| | | ...
| | +- user1 drwxr-x--- cvs1:cvs
| | | +- P1 drwxr-s--- cvs1:cvs1_1
| | | | +- M1
| | | | +- M2
| | | +- P2 drwxrws--- cvs1:cvs1_2
| | +- user2 drwxr-x--- cvs2:cvs
| | | +- P1 drwxrwsrwx cvs2:cvs2_2
</tt>

Ich habe auch noch eine Abfrage in die shell eingebaut, die die Existenz der datei '/etc/nocvs' prueft, damit kann ich den zugang sperren, wenn ich z.B. fuer Updates oder Backups meine Ruhe haben will.

Ich habe in der letzten Stunde gerade die ersten Gehversuche gemacht, und sie stimmen mich zuversichtlich, dass Ganze zuegig zum einsatz bringen zu koennen.


Gruss
PhysChemist
 
@PhysChemist:
Sieht interessant aus ;-)
Ich habe mich auch schon gefragt, wie ich im gleichen Repository
auf bestimmte Verzeichnisse nur bestimmte Gruppen lesend oder schreibend
zugreifen lassen kann.

Ganz konservativ habe ich bisher gedacht:
Nur lesend -> pserver;
Verschiedene Projekte -> verschiedene Repositories.

Dein Modell hat das Problem, dass es unübersichtlich werden kann, wenn deine Verzeichnis-Struktur geb0rkt wird und du im CVSROOT die Dateien händisch korrigieren musst.
Mit mehreren Repositories werden die Ausmasse, die ein Problem annehmen kann, kleiner.

Ich bin aber an Erfahrungen mit deinem Modell sehr interessiert - bitte posten.
 
Vergiss die Prinzipien nicht!

- 1 Repository für 1 Projekt
- Rechte kann man einfach bei dem Repository einstellen indem man die Rechte direkt auf dem Dateisystem anpasst
- alles weitere kann man von den Konfigurationen im CVSROOT aus steuern (komplexere Sachen)

Du kannst Dir auch das FreeBSD-Projekt im CVS anschauen. Das kann als gutes Beispiel dienen, weil die Leute da doch irgendwo komplexe Sachen machen.

Einfache Doku findest Du unter dem Namen cederqvist:
https://www.cvshome.org/docs/manual/
 
Push.

@PhysChemist:
Wie weit bist du mit deinen Experimenten gediehen?
Hast du eine elegante Lösung gefunden, mit der du im gleichen Repository mehreren
verschiedenen Personen auf bestimmte Projekte oder Module Rechte zum Lesen und auf andere
zum Schreiben geben kannst, ohne pserver-Methode?
Statt, dass alle in einem Projekt auf alles lesen und schreiben können.
 
Hallo,

im Grossen und Ganzen laeuft das bei mir, wie beschrieben.
Ich haber nur noch administrative Gruppe eingerichtet, die auf CVSROOT schreibend zugreifen darf.
Ausserdem musste ich zwei kleine Aenderungen im Sourcecode von CVS vornehmen, damit bei add- und import-Operationen die Verzeichnisrechte des uebergeordneten Verzeichnisses uebernommen werden. Vielleicht bin ich nur zu bloede, aber neu erstellte Verzeichnisse hatten bei mir sonst immer die Rechte rwxrwxr-x.

Ich muss aber anmerken, dass in meinem Repository nicht viel los ist, so dass auch nicht allzuhaeufig irgendwelche eingriffe von wegen Rechteaenderung oder so noetig sind. Diese mache ich als Administrator per chmod und chown.


Meine Beduerfnisse sind ganz gut abgedeckt, ob es fuer irgendjemand sonst auf diese Art Sinn macht sei dahingestellt


Gruss
PhysChemist
 
Back
Top