Top 5 Viren

SVN Installation + Konfiguration PDF Drucken
Geschrieben von Heiko Heinrich   
Montag, 20. August 2007

Was ist SVN ?

SVN bedeutet Subversion und gleicht Dokumente, Programme, Quellcodes uvm. nach ihren Versionen ab.

Wo wird Subversion (SVN) benutzt ?

Es wird sehr häufig in der Industrie aber auch bei Privatleuten eingesetzt, hier allerdings vermehrt von Informatikern in der Entwicklungsbranche.

Wie wird SVN eingebunden ?

SVN ist ein Modul / Plugin, welches in einen Webbrowser, wie Apache eingebunden wird. Unter Linux Debian heisst das Modul libapache2-svn. Dazu muss Subversion installiert sein, das Paket sollte Subversion heissen.

Konfiguration

Nach der Installation des Moduls sind in dem Verzeichnis /etc/mod-available 2 neue Dateien. Die eine dav_svn.conf und die andere dav_svn.load. Die .load Datei wird zum Laden des Moduls benötigt und .conf Datei sagt schon der Name, zum Konfigurieren. Allerdings müssen beide noch "enabled" werden.
Dies geschieht unter Linux mithilfe eines symbolischen Links.

  • cd /etc/apache2/mods-enabled
  • ln -s /etc/apache2/mods-available/dav_svn.conf
  • ln -s /etc/apache2/mods-available/dav_svn.load
  • Module

    Am Ende müssen folgende Module (neben den Standards) geladen sein.

  • dav_fs (load + conf)
  • dav.load
  • dav_lock.load
  • dav_svn (load + conf)
  • Spezielle Module, die geladen werden können, die nicht nur Apache verbessern.

  • alias.load
  • cache.load
  • file_cache.load
  • rewrite.load
  • ssl (load + conf)
  • WebSVN

    Danach wird das Tool WebSVN installiert.

  • aptitude install websvn
  • Nach der Installation kommen Konfigurationsfenster wo die "Depots" sein sollen.

    Anmerkung: In den Depots sind Daten für SVN gespeichert.

    Der Standardpfad ist /var/lib/svn/. Dieser kann natürlich erweitert werden, z. B. in /var/lib/svn/depots (Allerdings sollten die Ordner existieren).
    Bei einem Backup können bereits angelegte "Depots" einfach wieder in den bereits erstellten Ordner hineinkopiert werden. Es sollte nur dieselbe Konfiguration sein oder sie sollte zumindest angepasst werden.

    Depots anlegen

    Ein neues "Depots" anlegen

  • svncreate depot1
  • Das Depot "depot1" wird nun in /var/lib/svn oder einem anderen angeben Pfad gespeichert.

  • svn help
  • Mit diesem Befehl bekommt man alle nötigen Kommandos geliefert, falls nicht dann geht man auf die Homepage subversion.tigris.org

    Konfigurationsbeispiele

    Beispiel der dav_svn.conf Datei

    <Location /svn/test>

    # Uncomment this to enable the repository
    DAV svn

    # Set this to the path to your repository
    SVNParentPath /var/lib/svn/test

    # The following allows for basic http authentication. Basic
    # authentication should not be considered secure for any
    # particularly rigorous definiton of secure

    # to create a passwd file
    # # rm -f /etc/apache2/dav_svn.passwd
    # # htpasswd2 -c /etc/apache2/dav_svn.passwd dwhedon
    # New Password:
    # Re-Type new Password:
    # Adding password for user dwhedon
    # #

    # Uncomment the following 3 lines to enable Basic Authentication
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /etc/apache2/dav_svn_test.passwd
    Require valid-user

    # Uncomment the following line to enable Authz Authentication
    # AuthzSVNAccessFile /etc/apache2/dav_svn.authz

    # The following 3 lines allow anonymous read, but make
    # committers authenticate themselves

    # <LimitExcept GET PROPFIND OPTIONS REPORT>
    # Require valid-user
    # </LimitExcept>

    </Location>

    Beispiel fuer svn_web_conf.inc Datei (websvn)

    <?php
    // please edit /etc/websvn/config.inc
    // or use dpkg-reconfigure websvn
    $config->parentPath("/var/lib/svn/test/depot1");
    $config->parentPath("/var/lib/svn/test/depot2");
    $config->parentPath("/var/lib/svn/test/depot3");
    $config->addRepository("depot1", "/var/lib/svn/test/depot1");
    $config->addRepository("depot2", "/var/lib/svn/test/depot2");
    $config->addRepository("depot3", "/var/lib/svn/test/depot3");
    $config->setEnscriptPath("/usr/bin");
    $config->setSedPath("/bin");
    $config->useEnscript();
    ?>

    Beispiel Apache Config unter /etc/websvn

    # Configuration for websvn using php4

    Alias /websvn /usr/share/websvn

    <Directory /usr/share/websvn>
    DirectoryIndex index.php
    Options FollowSymLinks
    Order allow,deny
    Allow from all
    <IfModule mod_php4.c>
    php_flag magic_qotes_gpc Off
    php_flag track_vars On
    </IfModule>
    </Directory>

    Beispiel .HTACCESS Datei in /var/lib/svn/test

    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /etc/apache2/dav_svn_test.passwd
    Require valid-user


     
    < zurück   weiter >