Benutzer-Werkzeuge

Webseiten-Werkzeuge


git:provider

Dies ist eine alte Version des Dokuments!


Provider-Empfehlung


Highlights vom Tarif "ReposDev Micro":

  • GIT-Installation
  • SSH-Zugang mit Möglichkeit, eigenen SSH-Key zu generieren
  • MySQL-Datenbanken können für den externen Zugriff freigeschaltet werden
  • Cronjobs
  • PHP-Version kann selbst geändert werden
  • Zugriff auf die php.ini-Datei
  • monatlich kündbar (einen Monat kostenlose Testphase)
  • Gnadenlos günstiger Preis von 2,99 Euro/Monat (Stand: 22.03.2015)

GIT-Installation

Die einfachste Variante ist, GIT über das dafür zur Verfügung gestellte Oberfläche „SVN DEV ADMIN“ zu installieren. Wenn aber beim Push eine automatische Kopie in einem htdocs-Webverzeichnis abgelegt werden soll, muss etwas tiefer in die Trickkiste gegriffen werden.

Ziel

Entwicklung einer Webseite mit lokaler Testumgebung und serverseitigem Versionierungssystem mit automatischer Veröffentlichung der Änderungen im Webverzeichnis

Voraussetzungen auf einem Windows-PC

  • Putty und Putty Key Generator
  • lokale Testumgebung (z. B. Xampp oder ein NAS mit Webdiensten) für das Arbeitsverzeichnis
  • Tarif „Tarif „ReposDev Micro“ vom Provider LCube

Hinweise zur Installation

Standardmässig werden beim Provider LCube die Git-Repositorys per „https“ übertragen, wobei die Repositories durch htaccess vor unbefugten Zugriff geschützt sind. Um nach einem Push einen Hook auszulösen, der eine automatische Übertragung zum Webverzeichnis veranlasst, ist jedoch ein Zugriff per SSH notwendig. Das hat den Vorteil, dass ein SSH-Key generiert werden kann und dadurch die Übertragung verschlüsselt wird. Ein Problem entsteht jedoch, wenn weitere Personen an diesem Projekt arbeiten sollen. Da der Zugriff nur noch ausschließlich per SSH möglich ist, bekommt jeder Mitarbeiter einen vollwertigen SSH Zugang und hat damit die gleichen Rechte und Möglichkeiten wie der Admin der Seite.

Um Fehler zu vermeiden sollte idealerweise in der Testumgebung die gleiche PHP-Version installiert sein wie auf dem Webserver beim Provider.

Installation

Als erstes Putty öffnen und per SSH in den Server einloggen. Hinweis: Der Provider verwendet einen abweichenden SSH-Zugriffsport.

git init --bare Projektname (neue GIT-Projekt anlegen)
cd Projektname/hooks (in das Verzeichnis "hooks" wechseln)

Als nächstes wird mit dem Texteditor „vi“ eine Textdatei angelegt, in der zwei Zeilen eingefügt werden, wobei „webXX“ durch den Benutzernamen und „Projektname“ durch den Namen des Projektes ersetzt werden müssen. Beim Anlegen der Textdatei durch Windows ist darauf zu achten, dass die Textformat zwingend im Unix-Format erstellt wird. Beim DOS oder Windows-Format wird die Datei nicht fehlerfrei interpretiert!

vi post-receive (neue Text-Datei "post-receive" anlegen und den Editor "vi" öffnen)
i (vom Befehlsmodus in den Editiermodus wechseln)
#!/bin/bash
GIT_WORK_TREE=/var/www/webXX/htdocs/Projektname git checkout -f
Taste [ESC] (Befehlsmodus verlassen)
:wq (Datei speichern und den Texteditor beenden)
chmod 755 post-receive (Hook muss ausführbar sein)

Jetzt wird das Webverzeichnis angelegt, in welchem der Internetauftritt beim „push“ automatisch veröffentlicht wird:

cd ~
cd htdocs
mkdir Projektname

Um eine sichere SSH-Verbindung zu gewährleisten ist es empfehlenswert, jetzt einen SS-Key zu generieren.

Clone

Das neu angelegte Repository kann nur noch ausschließlich per SSH geklont werden. Hierbei ist zu beachten, dass LCube einen abweichenden SSH Zugangsport verwendet. Aufbau der URL für das Klonen per SSH:

ssh://WEBXXX@SERVERNAME:PORT/PFAD/git/PROJEKTNAME

Die Variablen „WEBXXX“, „SERVERNAME“, „PORT“, „PFAD“ und „PROJEKTNAME“ müssen entsprechend ersetzt werden.

Zum Klonen mit dem Windows-Explorer auf Ihrem lokalen PC in das Arbeitsverzeichnis in der Testumgebung wechseln und im Kontextmenü „Git Clone…“ aufrufen. Hier die URL ausfüllen, die Option „Load Putty Key“ aktivieren und den Putty-Key auswählen.

git/provider.1427113578.txt.gz · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)