howto

Git Logo

Installation und Konfiguration von Git,
Gitosis
und Gitweb unter Debian 5 (Lenny).

  • Git ist ein DVCS, welches 2005 von Linus Thorvalds
    als Alternative zum vorher genutzten proprietären BitKeeper für die Quellcode-Verwaltung des Linux-Kernels entwickelt wurde.
  • Gitosis ist eine Software um Git-Repositories einfach und sicher zu hosten.
    Die Authentifizierung an gitosis erfolgt über SSH-Schlüssel.
  • Gitweb ist eine schnelle und skalierbare Weboberfläche für Git.

Das folgende Setup erstreckt sich über 3 Rechner:

  1. birgit, das zentrale Repository welches über gitosis verwaltet wird und die Gitweb Weboberfläche bereitstellt
  2. nora, der Server auf dem entwickelt wird
  3. demine, eine lokale Workstation

Warum man seinen Code versionieren sollte, müsste eigentlich jedem Entwickler klar sein, das Drupal in Zukunft auf Git setzen wird, dürfte wohl der Anreiz für Drupalentwickler sein sich frühzeitig mit dem Thema Git zu auseinanderzusetzen.

Um drush in einer Multisiteumgebung zu arbeiten, haben sich folgende Mechanismen als nützlich erwiesen:

Security by obscurity

Mein erster Gedanke war, die CHANGLOG.txt mit in Direktive für die Absicherung von Drupals cron.php zu nehmen um diese Datei ebenso vor fremden Blicken zu schützen...

Abschließende Konfiguration

Einrichtung der Virtual-Hosts und Absichern der Installation.

Um die Apache-Direktiven und den Virtual-Host anzulegen benötigen wir wieder erhöhte Privilegien.

sudo su oder su

In der BASH ist es möglich mit eindimensionalen Arrays zu arbeiten:

  1. #!/bin/bash
  2.  
  3. declare -a array1
  4. array1=(zero one two three)
  5. array1[4]="and four"
  6. echo ${array1[2]}
  7. echo ${array1[@]}

Um Drupals cron.php vor unberechtigtem Zugriff zu schützen, tragen wir in /etc/apache2/conf.d/drupal.conf noch die folgende Passage ein:

<Files cron.php>
Order deny,allow
Deny from all
Allow from 10.10.10.0/24
Allow from 127.0.0.1
Allow from 1.2.3.4
</Files>

Damit die von Drupal benutzte .htaccess funktioniert legen wir die Datei /etc/apache2/conf.d/drupal.conf mit folgendem Inhalt an:

<Directory /home/foobar/drupal/>
Options +FollowSymLinks Indexes
AllowOverride All
order allow,deny
allow from all
</Directory>
to be continued.
to be continued.