A PCRE internal error occured. This might be caused by a faulty plugin

\\

======Svn server installieren====== Wir installieren zunächst den SVN Dienst und den SSH Daemon mittels: <file> apt-get install subversion ssh </file> Anschließend erstellen wir einen neuen Benutzer und die gleichnamige Benutzergruppe svn und das zugehörige Home-Directory mittels: <file> groupadd svn useradd -g svn svn mkdir /home/svn mkdir /home/svn/.ssh chown -R svn:svn /home/svn </file> Anschließend legen wir das Passwort für diesen Benutzer fest: <file> passwd svn </file> Die eigentlichen Subversion Repositories werden im Verzeichnis /var/svn verwaltet, von daher erstellen wir dieses zunächst mittels: <file> mkdir /var/svn </file> Anschließend erstellen wir manuell das eigentliche Repository. In diesem Fall verwende ich exemplarisch den Namen project-01 als Namen für das neue SVN-Repository und lege darin die drei bei SVN üblichen Verzeichnisse branches, tags und trunk ab: <file> svnadmin create /var/svn/project-01 </file> Nun setzen wir die UID/GID für dieses Verzeichnis auf den User und die Gruppe svn und die Rechte auf dieses Verzeichnis so, dass neu angelegte Dateien über ausreichende Rechte verfügen: <file> chown -R svn:svn /var/svn/project-01 chmod 2770 -R /var/svn/project-01 </file> An dieser Stelle können wir bereits auf dem Server selbst als anderer Benutzer das neu erstellte Repository auschecken mittels: <file> svn co svn+ssh://svn@localhost/var/svn/project-01 project-01 </file> Da das obige Kommando eine SSH-Verbindung aufmacht, werden wir an dieser Stelle zweifach nach dem Passwort des Benutzers svn gefragt. Haben wir dieses eingegeben, wird das entsprechende SVN Repository project-01 ausgescheckt. Um den Login-Prozess zu automatisieren, fügen wir die RSA Public Keys aller Benutzer, die Zugriff auf den Subversion Server erhalten sollen dem Keyfile /home/svn/.ssh/authorized_keys hinzu, das wir u.a. zunächst als User svn anlegen müssen. Nachdem wir den Public Key eines zukünftigen Subversion Users in /home/svn/.ssh/authorized_keys abgelegt haben, kann dieser ohne manuelle Eingabe des Passworts das SVN-Repository von einem beliebigen Client aus auschecken: <file> svn co svn+ssh://svn@192.168.1.1/var/svn/project-01 project-01 </file> Anmerkung: ich gehe an dieser Stelle exemplarisch davon aus, dass der SVN-Server unter der IP 192.168.1.1 betrieben wird. Diese muss durch die tatsächliche IP des Servers ersetzt werden. Ein Nachteil der obigen Methode ist jedoch, dass sie relativ unsicher ist. So kann an dieser Stelle jeder Benutzer, dessen öffentlicher Schlüssel auf dem SVN-Server hinterlegt ist, sich zusätzlich via SSH direkt mit dem Server verbinden und erhält somit Zugriff auf die Konsole. Aus diesem Grund können wir jeder Zeile in dem Keyfile /home/svn/.ssh/authorized_keys jeweils ein Kommando mittels COMMAND vorausstellen, das die Befehle definiert, zu deren Ausführung der jeweilige Nutzer priviligiert ist. In den meisten Fällen macht die folgende Konstellation Sinn: <file> command="/usr/bin/svnserve -t -r /var/svn/ --tunnel-user=john.doe",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding ssh-rsa AAA...acFHU= john.doe </file> Von nun an kann der Benutzer john.doe mittels des folgenden Kommandos das Repository von einem beliebigen Client aus auschecken: <file> svn co svn+ssh://svn@192.168.1.1/project-01 project-01 </file>

Navigation

{{indexmenu>:noswiki#1|js#noswiki navbar nocookie}} {{indexmenu>:noserp#1|js#noserp navbar nocookie}} {{indexmenu>:noswawi#1|js#noswawi navbar nocookie}} {{indexmenu>:nosrewe#1|js#nosrewe navbar nocookie}} {{indexmenu>:nosshop#1|js#nosshop navbar nocookie}} {{indexmenu>:noscms#1|js#noscms navbar nocookie}} {{indexmenu>:nosintern#1|js#nosdienst navbar nocookie2}}

Drucken/exportieren