Startseite
Drupal Wiki - DrupalTM als Wiki - 11 Jahre Erfahrung
Intranet-, Knowledgebase- und Qualitätsmanagementsysteme...mehr

  • Neues Passwort anfordern

Ähnliches

  • Ubuntu Karmic 64bit - Probleme und Lösungen
  • PHP Sicherheit - wie sichert man sich ab
  • Qt4 mit Eclipse
  • zsh 4.3.10 unter Debian und Ubuntu
  • Automatisierte Hot-Copy Backups von VMs in einem ESXi / ESX (ghettoVCB)

Bereiche

  • RSS Feed
  • Index
  • Abteilungen
  • Startseite

Kategorien

  • Entwicklung (16)
    • Git (7)
    • IDE (4)
    • PHP (1)
    • SVN (2)
  • ESXi (5)
    • Backup (1)
    • CLI (2)
    • Raid (1)
  • FH Iserlohn (1)
    • GUI-Programmierung (1)
  • Impressive.media (5)
    • Drupal (4)
    • Drupaliki (2)
  • IT (53)
    • C++ (1)
    • Funambol (1)
    • Linux (31)
      • Debian (11)
      • Ubuntu (9)
    • Open Source (4)
    • Software (13)
      • Linux (13)
    • VMware (8)
    • Zimbra (4)
  • OpenFoam (1)
    • Documentation (1)

Betriebssysteme , Debian , Development , Drupal , Drupaliki , Entwicklungsumgeb.. , EQ4 , ESXi , Git , GUI , Hetzner , HowTo , Impressive.media , Installation , Intranet , Java , KDevelop , Knowledgebase , Lighttpd , Linux , Praktikum , Qualitätsmanagem.. , Shell , SVN , tricks , Ubuntu , VMware , Vorlesung , Wiki , Zimbra
more tags
  • Diskussion
  • PDF
  • Abonnieren

Git über Apache und WebDAV - Git über HTTP

29.11.09 um 15:42 von EugenMayer, (0) Beiträge

1 Git über Apache

Auch wenn Git ein "Distributed SCM" ist, hat man fast immer die Not, das man einen zentralen Verteilungsserver braucht. Die einzelnen Clients können dann zwar distributed arbeiten, zum verteilen braucht man dann einen zentralisierten Server.

Es gibt Gitorous, ein sehr große Lösung. Es sind enorm viele bloody-edge Pakete, wie man hier sehen kann, zudem eine enorme Anzahl an Paketet ansich.

WebDAV ist hier eine simplere, robustere und flexiblere Lösung - jedoch ohne Frontend. Genau diese stelle ich hier vor.

1.1 DAV installieren

Erst aktivieren wir erstmal die DAV Module

a2enmod dav
a2enmod dav_fs

1.2 VHOST konfigurieren

vim /etc/apaches/sites-available/git.conf

Hier schreiben wir hinein

<VirtualHost *:80>
    ServerName impressive-media.de
    ServerAdmin webmaster@localhost

        <Directory />
                Order allow,deny
                Options -Indexes
        </Directory>
        DocumentRoot /home/git/repos
        # get the git repo configuration
        Include /etc/apache2/git-enabled/
       ErrorLog /var/log/apache/githome.log
       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn
      CustomLog /var/log/apache2/githome.log combined
</VirtualHost>    

1.3 Git für DAV konfigurieren

vim /etc/apache2/git-available/repo1.conf

Dort schreiben wir folgendes hinein

<Location /repo1>
     Order deny,allow
     Options +Indexes
     DAV on
     AuthType Basic
     AuthName "Git"
     AuthUserFile /home/git/passwords/.repo1
     Require valid-user
     ErrorLog /var/log/git/repo1err.log
</Location>

Wenn wir also zusätzliche Git-Repos hinzufügen wollen, erstellen wir also eine /etc/apache2/git-available/repo2.conf Datei mit dem entsprechenden Inhalt.

Wenn wir nun also ein Git-Repo aktivieren wollen, müssen wir folgenden Symlink anlegen (ähnlich wie bei sites-availsable bzw sites-enabled).

ln -s /etc/apache2/git-available/repo1 /etc/apache2/git-enabled/

1.4 SSL VHOST

Nun ändern wir das ganze ab und führen die Kommunikation über SSL ein  

<VirtualHost *:443>
    ServerName impressive-media.de
    ServerAdmin webmaster@localhost

        SSLEngine on
        SSLOptions +StdEnvVars
        SSLCertificateKeyFile /etc/ssl-startssl/apache/ssl.key
        SSLCertificateFile /etc/ssl-startssl/apache/server.crt
        SSLCertificateChainFile /etc/ssl-startssl/apache/sub.class2.server.ca.pem
        SSLCACertificateFile /etc/ssl-startssl/apache/ca.pem

        SetEnvIf User-Agent ".*MSIE.*" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0

        <Directory />
                Order allow,deny
                Options -Indexes
        </Directory>

        DocumentRoot /home/git/repos
        # get the git repo configuration
        Include /etc/apache2/git-enabled/

       ErrorLog /var/log/apache2/githome.log

       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn

      CustomLog /var/log/apache2/githome.log combined
</VirtualHost>

2 Git Reporsitories verwalten

2.1 SVN clonen - Git bare

git svn clone http://euersvnserver.de/repo/verzeichnis /home/git/repos/repo1_tmp
git --bare clone /home/git/repos/repo1_tmp /home/git/repos/repo1
rm -fr /home/git/repos/repo1_tmp
cd /home/git/repos/repo1_tmp
git update-server-info

2.2 Lokalen Checkout ( clone )

git clone https://Benutzer@impressive-media.de/repo1 repo1Lokal

Links: update-server-info
Details
DetailsTaxonomien
StatusIn Bearbeitung
Erstellt am24.11.09
Git - Debian
Debian - Development - Git - HowTo - Installation - Linux
  • Diskussionsbeiträge(0)

Kommentar hinzufügen

Abbrechen

Valid XHTML Strict 1.0 and CSS
provided by Impressive.media GbR - Sitemap - Drupal is a Registered Trademark of Dries Buytaert