<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.schokokeks.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gollo</id>
	<title>schokokeks.org Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.schokokeks.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gollo"/>
	<link rel="alternate" type="text/html" href="https://wiki.schokokeks.org/Spezial:Beitr%C3%A4ge/Gollo"/>
	<updated>2026-04-29T16:08:25Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.schokokeks.org/wiki/index.php?title=DynDNS&amp;diff=9177</id>
		<title>DynDNS</title>
		<link rel="alternate" type="text/html" href="https://wiki.schokokeks.org/wiki/index.php?title=DynDNS&amp;diff=9177"/>
		<updated>2016-09-15T12:34:56Z</updated>

		<summary type="html">&lt;p&gt;Gollo: Informationen zu DynDNS auf pfSense hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das Problem eines Computers, der mit einer dynamischen Adresse im Internet hängt, teilt sich in die beiden Bereiche: Der zuständige DNS-Server muss wissen, wie die aktuelle IP des Rechners ist und diese in seinen DNS-Daten richtig eintragen. Und zweitens muss die Zeit, die die Daten im DNS-Zwischenspeicher bleiben drastisch reduziert werden.&lt;br /&gt;
&lt;br /&gt;
Ein Server, der diese beiden Dienste anbietet, nennt man DynDNS.&lt;br /&gt;
&lt;br /&gt;
Auf unseren Servern bieten wir diese Möglichkeit an. Dazu bekommt der Nutzer einen Zugang über den die jeweils aktuelle IP-Adresse zum Zeitpunkt der Wiedereinwahl aktualisiert werden kann. Aus diesen Daten wird dann ein Hostname im DNS-Server erstellt, der eine Gültigkeit von 120 Sekunden hat. Das bedeutet, nach spätestens 120 Sekunden muss jeder Nameserver im Internet wieder bei unserem Server nachfragen, ob die Adresse noch stimmt.&lt;br /&gt;
&lt;br /&gt;
Dadurch erreicht man eine sehr hohe Verfügbarkeit.&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung ==&lt;br /&gt;
&lt;br /&gt;
Zunächst muss [https://config.schokokeks.org/go/dns/dyndns im Webinterface von schokokeks.org] unter &#039;&#039;Domains&#039;&#039; -&amp;gt; &#039;&#039;DynDNS&#039;&#039; ein neuer DynDNS-Account angelegt werden. Dort muss eine frei wählbare Bezeichnung (nur Kleinbuchstaben bzw. Zahlen, kein Leerzeichen) eingetragen werden und dann entweder ein SSH-Public-Key oder ein Passwort für das HTTP-Update hinterlegt werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend kann unter &#039;&#039;Domains&#039;&#039; -&amp;gt; &#039;&#039;DNS-Einträge&#039;&#039; die gewünschte Domain gewählt werden und dort gibt es dann unter &amp;quot;Neuen DNS-Eintrag anlegen&amp;quot; die Möglichkeit, einen Hostname für die Verwendung mit DynDNS festzulegen.&lt;br /&gt;
&lt;br /&gt;
==Das Update==&lt;br /&gt;
&lt;br /&gt;
===per SSH===&lt;br /&gt;
&lt;br /&gt;
Das Update der aktuellen Adresse erfolgt bequem per SSH mit einem [[Key-Login (OpenSSH)|SSH-Key]]. Sobald der Rechner mit dem passenden privaten Schlüssel (private-key) eine Verbindung zum Server aufbaut, wird die IP-Adresse aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Dazu ist ein Key zu erstellen (geschickterweise ohne Passwort) und der nötige öffentliche Schlüssel (public-key) muss auf dem Server (über unser Webinterface) eingefügt werden.&lt;br /&gt;
&lt;br /&gt;
Das Update selbst führt man am einfachsten aus, im dem man den Befehl&lt;br /&gt;
 ssh -4 -q -T dyndns@zucker.schokokeks.org&lt;br /&gt;
bei jeder Einwahl ausführt.&lt;br /&gt;
&lt;br /&gt;
Eventuell möchte man eine spezielle SSH-Key-Datei angeben, das macht man dann mit &#039;&#039;&#039;-i pfad/zur/id_rsa&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Unser DNS-Server meldet ein erfolgreiches Update mit der Meldung &#039;&#039;&#039;good &#039;&#039;ipadresse&#039;&#039;&#039;&#039;&#039;. Eventuell möchte man diese Meldung nicht sehen, sondern nur wenn das Update fehlgeschlagen ist. Dann kann man den Befehl noch um den Anhang &#039;&#039;| grep -v -e &amp;quot;good &amp;quot;&#039;&#039; erweitern.&lt;br /&gt;
&lt;br /&gt;
Updates ohne dass sich die IP wirklich geändert hat sollten vermieden werden, um nicht unnötige SSH-Verbindungen herzustellen. Um die IP in einem Cronjob zu aktualisieren, sobald sie geändert hat, kann beispielsweise folgendes Skript benutzt werden:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 hostname=&amp;quot;example.com&amp;quot;&lt;br /&gt;
 keyfile=&amp;quot;/root/.ssh/id_rsa_schokokeks&amp;quot;&lt;br /&gt;
 dyndns_host=&amp;quot;dyndns@zucker.schokokeks.org&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Beim ersten Fehler abbrechen&lt;br /&gt;
 set -e&lt;br /&gt;
 set -o pipefail&lt;br /&gt;
 &lt;br /&gt;
 dns_ip=$(dig +short &amp;quot;$hostname&amp;quot;)&lt;br /&gt;
 real_ip=$(wget -4qO- https://ip.schokokeks.org)&lt;br /&gt;
 &lt;br /&gt;
 if [[ -n &amp;quot;$dns_ip&amp;quot; &amp;amp;&amp;amp; &amp;quot;$dns_ip&amp;quot; != &amp;quot;$real_ip&amp;quot; ]]; then&lt;br /&gt;
     ssh -4 -q -T -i &amp;quot;$keyfile&amp;quot; &amp;quot;$dyndns_host&amp;quot; | grep -vE &#039;^(good|nochg)&#039;&lt;br /&gt;
 elif [[ $1 == --verbose ]]; then&lt;br /&gt;
     echo &amp;quot;$dns_ip (DNS) == $real_ip (real)&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===per HTTPS===&lt;br /&gt;
&lt;br /&gt;
Es kamen immer wieder Anfragen, ob man unsere DynDNS-Einträge auch per HTTPS aktualisieren kann. Das ist nützlich für Hardware-Router, die mit dem Service von dnydns.org kompatibel sind und trotzdem einen frei wählbaren update-Server-Name erlauben.&lt;br /&gt;
&lt;br /&gt;
Technisch funktioniert das so:&lt;br /&gt;
Es wird die URL&lt;br /&gt;
:&amp;lt;nowiki&amp;gt;https:&amp;lt;/nowiki&amp;gt;//&#039;&#039;&#039;[user]&#039;&#039;&#039;:&#039;&#039;&#039;[password]&#039;&#039;&#039;@dyndns.schokokeks.org/nic/update?myip=&#039;&#039;&#039;[IP]&#039;&#039;&#039;&lt;br /&gt;
aufgerufen. Dyndns.org kennt noch mehr Parameter, die sind für uns aber unerheblich.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;[user]&#039;&#039;&#039; ist der Name des DynDNS-Account, wie im Webinterface zu sehen.&lt;br /&gt;
:&#039;&#039;&#039;[password]&#039;&#039;&#039; ist das Passwort des DynDNS-Accounts, wie im Webinterface festgelegt.&lt;br /&gt;
:&#039;&#039;&#039;[IP]&#039;&#039;&#039; ist die aktuelle IP des Clients. Der Parameter ist optional, wenn er angegeben wird hat er Priorität gegenüber dem was der Webserver als REMOTE_ADDR sagt.&lt;br /&gt;
&lt;br /&gt;
Aufgrund der Tatsache, dass viele Hardware-Router das Update nur über HTTP und nicht über HTTPS durchführen können, wurde unsere Richtlinie in diesem Punkt etwas gelockert. Das Update darf nun auf gleiche Art und Weise auch über HTTP gemacht werden. Sofern HTTPS vom benutzen Gerät unterstützt wird, ist dies natürlich zu bevorzugen!&lt;br /&gt;
&lt;br /&gt;
== DynDNS-Update mit einem DD-WRT-Router ==&lt;br /&gt;
&lt;br /&gt;
Sofern man einen Router mit der Linux-Firmware DD-WRT hat, kann man diesen für das DynDNS-Update benutzen.&lt;br /&gt;
Dazu muss folgendes eingetragen werden:&lt;br /&gt;
&lt;br /&gt;
 DDNS-Service: DynDNS.org&lt;br /&gt;
 Nutzername: USERNAME&lt;br /&gt;
 Passwort: PASSWORT&lt;br /&gt;
 Hostname: HOSTNAME --dyndns_server_name dyndns.schokokeks.org --dyndns_server_url /nic/update?&lt;br /&gt;
&lt;br /&gt;
Der Hostname wird nur gebraucht um herauszufinden ob ein Update nötig ist. Beachten Sie, dass die zusätzlichen Parameter mit in das Feld für den Hostname eingetragen werden müssen!&lt;br /&gt;
&lt;br /&gt;
== DynDNS-Update mit einem Router von AVM (und anderen) ==&lt;br /&gt;
&lt;br /&gt;
Die meisten handelsüblichen DSL-Router haben eine DynDNS-Update-Möglichkeit eingebaut, der auch mit unserem DynDNS-Service genutzt werden kann.&lt;br /&gt;
Das Kriterium dafür ist normalerweise ob ein eigener Update-Server-Name eingegeben werden kann. Oftmals kann man DynDNS-Anbieter auf &amp;quot;Benutzerdefiniert&amp;quot; setzen.&lt;br /&gt;
&lt;br /&gt;
Geräte dieser Bauart können i.d.R. kein https-Update durchführen. Ausnahmsweise ist daher für DynDNS-Updates keine Verschlüsselung zwingend notwendig.&lt;br /&gt;
&lt;br /&gt;
Am Beispiel einer AVM Fritz!Box müssen folgende Einstellungen gesetzt werden:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! Feld !! Eintrag in diesem Feld&lt;br /&gt;
 |-&lt;br /&gt;
 | Dynamic DNS-Anbieter || &#039;&#039;&#039;Benutzerdefiniert&#039;&#039;&#039; &lt;br /&gt;
 |-&lt;br /&gt;
 | Update-URL || &#039;&#039;&#039;dyndns.schokokeks.org/nic/update?myip=&amp;lt;ipaddr&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
 |-&lt;br /&gt;
 | Domainname || &#039;&#039;Hier muss Ihr DynDNS-Hostname eingetragen werden. Der Router nutzt diesen Hostname um herauszufinden ob die Adresse geändert werden muss. &lt;br /&gt;
 |-&lt;br /&gt;
 | Benutzername || &#039;&#039;Der Benutzername, der sich wie folgt zusammensetzt:&#039;&#039; &#039;&#039;&#039;loginname_dyndnsname&#039;&#039;&#039; &lt;br /&gt;
 |-&lt;br /&gt;
 | Kennwort / Kennwortbestätigung || &#039;&#039;Ihr selbst vergebenes Kennwort für diesen DynDNS-Zugang. &#039;&#039;&#039;Nicht Ihr Login-Passwort!&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DynDNS-Update mit ddclient ==&lt;br /&gt;
ddclient ist ein simpler Dienst der sich auf Linux Rechnern installieren lässt. Die meisten Distributoren führen das Paket [http://sourceforge.net/apps/trac/ddclient/ ddclient] direkt in ihrer Paketverwaltung, d.h. lässt es sich einfach installieren. ddclient läuft im Hintergrund und überwacht regelmäßig ob die IP für die Domain noch aktuell ist. Dabei ist nur eine kleine Konfigurationsdatei nötig um den Schokokeks DynDNS zu nutzen:&lt;br /&gt;
&lt;br /&gt;
 # /etc/ddclient.conf&lt;br /&gt;
 ssl=yes&lt;br /&gt;
 protocol=dyndns2&lt;br /&gt;
 use=web, if=whatismyip.org&lt;br /&gt;
 server=dyndns.schokokeks.org&lt;br /&gt;
 login=loginname_dyndnsname&lt;br /&gt;
 password=&#039;PASSWORT&#039;&lt;br /&gt;
 machine.mydyndnsdomain.de&lt;br /&gt;
&lt;br /&gt;
Das Beispiel wäre für die Domain &#039;&#039;machine.mydyndnsdomain.de&#039;&#039; als DynDNS Adresse. Es wird der Dienst &#039;&#039;whatismyip.com&#039;&#039; verwendet um die aktuelle öffentliche IP des Netzwerks (bzw. Routers) herauszubekommen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Die Datei heißt ddclient.conf und befindet sich entweder in /etc/ oder /etc/ddclient/. Gestartet wird der Dienst wie üblich mit &#039;/etc/init.d/ddclient start&#039;.&lt;br /&gt;
&lt;br /&gt;
== DynDNS-Update mit Synology DiskStation ==&lt;br /&gt;
Die DiskStation-Reihe von Synology setzt auf ein embedded Linux und erlaubt eine feste Liste von DynDNS-Anbietern. Darunter ist schokokeks.org bislang nicht. Mit etwas Aufwand, lässt sich schokokeks.org aber hinzufügen. Dazu muss man SSH aktivieren (unter Terminal-Dienste) und sich als root einloggen. Das geht mit dem gleichen Kennwort wie für den Webinterface-Benutzer &amp;quot;admin&amp;quot;.  Dann editiert man die Datei &#039;&#039;/etc.defaults/ddns_provider.conf&#039;&#039; und fügt folgenden Eintrag hinzu:&lt;br /&gt;
&lt;br /&gt;
 [schokokeks.org]&lt;br /&gt;
     modulepath=DynDNS&lt;br /&gt;
     queryurl=dyndns.schokokeks.org/nic/update?myip=__MYIP__&lt;br /&gt;
&lt;br /&gt;
== DynDNS-Update mit einer pfSense-Firewall ==&lt;br /&gt;
&lt;br /&gt;
pfSense ist eine freie Firewall-Distribution, die auf x86-Hardware läuft und einen DynDNS-Client beinhaltet. Um den DynDNS-Dienst von schokokeks.org zu benutzen, kann man im Webinterface unter Services/Dynamic DNS/Dynamic DNS Clients einen Custom Client mit folgenden Einstellungen anlegen:&lt;br /&gt;
&lt;br /&gt;
 Service type: Custom&lt;br /&gt;
 Interface to monitor: Name der Schnittstelle mit der öffentlichen IP-Adresse&lt;br /&gt;
 Interface to send update from: abhängig vom jeweiligen Setup, im Zweifelsfall wie oben&lt;br /&gt;
 Verbose logging: deaktiviert (außer zur Fehlersuche)&lt;br /&gt;
 CURL options: &lt;br /&gt;
  Force IPv4 resolving: Setup-abhängig, im Zweifelsfall aktiv&lt;br /&gt;
  Verify SSL peer: aktiv&lt;br /&gt;
 Username: loginname_dyndnsname&lt;br /&gt;
 Password: &#039;PASSWORT&#039;&lt;br /&gt;
 Update URL: https://dyndns.schokokeks.org/nic/update?myip=%IP%&lt;br /&gt;
 Result match: good %IP%|nochg %IP%&lt;br /&gt;
 Description: schokokeks.org&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:DNS]]&lt;/div&gt;</summary>
		<author><name>Gollo</name></author>
	</entry>
	<entry>
		<id>https://wiki.schokokeks.org/wiki/index.php?title=Diskussion:Git&amp;diff=9054</id>
		<title>Diskussion:Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.schokokeks.org/wiki/index.php?title=Diskussion:Git&amp;diff=9054"/>
		<updated>2011-07-24T16:21:46Z</updated>

		<summary type="html">&lt;p&gt;Gollo: Informationen zu Git über HTTP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Git über HTTP(S) =&lt;br /&gt;
Man kann Git über HTTP(S) problemlos betreiben, allerdings nicht über WebDAV. Ich habe es mit einer Kombination der folgenden Seiten zum Laufen gebracht:&lt;br /&gt;
&lt;br /&gt;
 * http://www.mobiphil.com/2010/03/git-on-shared-hosting-with-git-http-backend/&lt;br /&gt;
 * http://blog.procrastination.nl/2010/10/git-http-backend-on-shared-hosting-with.html&lt;br /&gt;
 * http://michael.otacoo.com/linux-2/creating-private-git-repositories-in-shared-hosting-environment/&lt;br /&gt;
&lt;br /&gt;
git-http-backend ist (zumindest auf zucker) vorinstalliert und liegt unter /usr/libexec/git-core/&lt;br /&gt;
Ich habe im Moment leider nicht die Zeit, das alles zusammenzuschreiben, wollte aber daraufhinweisen. Bei Fragen bitte gerne an mich wenden. -- [[Benutzer:Gollo|Gollo]] 18:21, 24. Jul. 2011 (CEST)&lt;/div&gt;</summary>
		<author><name>Gollo</name></author>
	</entry>
	<entry>
		<id>https://wiki.schokokeks.org/wiki/index.php?title=Diskussion:DynDNS&amp;diff=9000</id>
		<title>Diskussion:DynDNS</title>
		<link rel="alternate" type="text/html" href="https://wiki.schokokeks.org/wiki/index.php?title=Diskussion:DynDNS&amp;diff=9000"/>
		<updated>2010-12-11T07:29:23Z</updated>

		<summary type="html">&lt;p&gt;Gollo: Die Seite wurde neu angelegt: „Seit kurzem frisst das DynDNS offensichtlich auch IPv6-Adressen, was bei mir zur vrübergehenden Nichterreichbarkeit einer MAschine geführt hat. Das sollte in de…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Seit kurzem frisst das DynDNS offensichtlich auch IPv6-Adressen, was bei mir zur vrübergehenden Nichterreichbarkeit einer MAschine geführt hat. Das sollte in dem Artikel Erwähnung finden. Die Lösung lautet &amp;quot;ssh -4&amp;quot;. --Gollo&lt;/div&gt;</summary>
		<author><name>Gollo</name></author>
	</entry>
	<entry>
		<id>https://wiki.schokokeks.org/wiki/index.php?title=Mercurial&amp;diff=8944</id>
		<title>Mercurial</title>
		<link rel="alternate" type="text/html" href="https://wiki.schokokeks.org/wiki/index.php?title=Mercurial&amp;diff=8944"/>
		<updated>2010-03-20T16:25:59Z</updated>

		<summary type="html">&lt;p&gt;Gollo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://selenic.com/mercurial/ Mercurial] ist ein Versionierungsprogramm ähnlich wie [[Git]]. Es ist standardmäßig installiert und kann über &amp;lt;tt&amp;gt;hg&amp;lt;/tt&amp;gt; aufgerufen werden. Mehr Information zu Mercurial findet man im Mercurial Wiki: [http://www.selenic.com/mercurial/wiki/index.cgi/QuickStart QuickStart] (englisch).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Veröffentlichung auf einer Homepage =&lt;br /&gt;
&lt;br /&gt;
Ein Repository auf dem Server kann über ein CGI-Skript veröffentlicht werden, so das jeder Besucher mit seinem Browser das Repository anzeigen kann, die Logs lesen kann, das Repository clonen kann, etc.&lt;br /&gt;
&lt;br /&gt;
Folgend nun eine kurze Installationsanleitung für schokokeks.org, für genauere Informationen steht das Mercurial Wiki zur Verfügung: [http://www.selenic.com/mercurial/wiki/index.cgi/CGIinstall CGIinstall] (englisch).&lt;br /&gt;
&lt;br /&gt;
Die folgende Verzeichnisstruktur wird angenommen, sie kann natürlich angepasst werden. Alle folgenden Befehle finden, soweit nicht anders angegeben, auf dem schokokeks.org Server statt.&lt;br /&gt;
&lt;br /&gt;
 $HOME/htdocs/        &amp;lt;- über Browser zugänglich&lt;br /&gt;
 $HOME/htdocs/hg/     &amp;lt;- hier wird Mercurial zugänglich sein&lt;br /&gt;
 &lt;br /&gt;
 $HOME/hg/            &amp;lt;- Mercurial Repositories werden hier gespeichert&lt;br /&gt;
 $HOME/hg/repository/ &amp;lt;- Test Repository&lt;br /&gt;
&lt;br /&gt;
Zuerst muss das Repository erstellt werden.&lt;br /&gt;
&lt;br /&gt;
 % cd $HOME/hg/repository&lt;br /&gt;
 % hg init&lt;br /&gt;
&lt;br /&gt;
Ein schon vorhandenes Repository kann natürlich einfach nach &amp;lt;tt&amp;gt;$HOME/hg/repository&amp;lt;/tt&amp;gt; kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Es sollte eine hgrc Datei in &amp;lt;tt&amp;gt;$HOME/hg/repository/.hg/hgrc&amp;lt;/tt&amp;gt; mit folgendem Inhalt erstellt werden (die Daten natürlich anpassen):&lt;br /&gt;
&lt;br /&gt;
 [web]&lt;br /&gt;
 description = Eine kurze Beschreibung des Repository.&lt;br /&gt;
 author = Ihr Name &amp;lt;ihr-name@example.org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun muss das CGI-Skript herunter geladen werden. Die Datei  ist auf dem offiziellen Mercurial Server zugänglich: http://selenic.com/hg/raw-file/tip/hgweb.cgi Sie muss unter &amp;lt;tt&amp;gt;$HOME/htdocs/hg/index.cgi&amp;lt;/tt&amp;gt; gespeichert werden und die folgenden Änderungen müssen an ihr vorgenommen werden:&lt;br /&gt;
&lt;br /&gt;
In der vorletzten Zeile muss &amp;lt;tt&amp;gt;/path/to/repo&amp;lt;/tt&amp;gt; durch den Pfad zum Repository ersetzt werden. Achtung, hier kann nicht &amp;lt;tt&amp;gt;$HOME/hg/repository&amp;lt;/tt&amp;gt; eingetragen werden, es muss der komplette absolute Pfad ohne Variablen sein, z. B. &amp;lt;tt&amp;gt;/home/ihr-benutzername/hg/repository&amp;lt;/tt&amp;gt;. Ebenfalls in der vorletzten Zeile muss &amp;quot;repository name&amp;quot; durch den gewünschten Repositorynamen ersetzt werden, dieser wird dann im Browser angezeigt. Die letzten beiden Zeilen von &amp;lt;tt&amp;gt;index.cgi&amp;lt;/tt&amp;gt; könnten zum Beispiel so aussehen:&lt;br /&gt;
&lt;br /&gt;
 application = hgweb(&amp;quot;/home/ihr-benutzername/hg/repository&amp;quot;, &amp;quot;Test Repository&amp;quot;)&lt;br /&gt;
 wsgicgi.launch(application)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;index.cgi&amp;lt;/tt&amp;gt; muss ausführbar sein:&lt;br /&gt;
&lt;br /&gt;
 chmod a+x index.cgi&lt;br /&gt;
&lt;br /&gt;
Ebenfalls muss eine &amp;lt;tt&amp;gt;.htaccess&amp;lt;/tt&amp;gt; Datei in &amp;lt;tt&amp;gt;$HOME/htdocs/hg/.htaccess&amp;lt;/tt&amp;gt; mit dem folgenden Inhalt erstellt werden, damit das CGI-Skript ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
 # Anfragen an dieses Verzeichnis werden auf index.cgi umgeleitet, genauso&lt;br /&gt;
 # wie sie normalerweise auf index.html oder index.php umgeleitet werden.&lt;br /&gt;
 DirectoryIndex index.cgi&lt;br /&gt;
 &lt;br /&gt;
 # CGI Skripte erlauben.&lt;br /&gt;
 Options FollowSymlinks ExecCGI&lt;br /&gt;
&lt;br /&gt;
Die fertige Dateistruktur sieht nun so aus (&amp;lt;tt&amp;gt;...&amp;lt;/tt&amp;gt; sind Dateien des Repository):&lt;br /&gt;
&lt;br /&gt;
 $HOME/htdocs/&lt;br /&gt;
 $HOME/htdocs/hg/&lt;br /&gt;
 $HOME/htdocs/hg/.htaccess&lt;br /&gt;
 $HOME/htdocs/hg/index.cgi&lt;br /&gt;
 $HOME/hg/&lt;br /&gt;
 $HOME/hg/repository/&lt;br /&gt;
 $HOME/hg/repository/.hg&lt;br /&gt;
 $HOME/hg/repository/.hg/hgrc&lt;br /&gt;
 $HOME/hg/repository/...&lt;br /&gt;
&lt;br /&gt;
Nun kann das Repository über http://ihre-domain/hg/ betrachtet werden. Ein Klonen ist auch direkt möglich (lokal auf dem Computer, nicht auf dem Server):&lt;br /&gt;
&lt;br /&gt;
 % hg clone http://ihre-domain/hg/ repository&lt;br /&gt;
&lt;br /&gt;
Wenn auf dem Server neue Änderungen liegen, kann das lokale Repository (mit clone erstellt) mit &amp;quot;pull&amp;quot; aktualisiert werden (ebenfalls nicht auf dem Server).&lt;br /&gt;
&lt;br /&gt;
 % cd repository&lt;br /&gt;
 % hg pull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Zugriff auf das Repository mit SSH =&lt;br /&gt;
&lt;br /&gt;
Mercurial ermöglicht es Änderungen über SSH lokal von einem Computer aus an das Repository zu übertragen (&amp;quot;pushen&amp;quot;). Dazu muss SSH korrekt konfiguriert sein und das anmelden bei schokekeks.org muss funktionieren; mehr Informationen dazu unter [[Key-Login (OpenSSH)]].&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird die gleiche Verzeichnisstruktur wie oben angenommen. Für weitere Informationen dient ebenfalls wieder das Mercurial Wiki: [http://www.selenic.com/mercurial/wiki/index.cgi/SharedSSH SharedSSH] (englisch).&lt;br /&gt;
&lt;br /&gt;
Die folgenden Befehle finden alle lokal auf dem Computer statt, nicht auf dem Server.&lt;br /&gt;
&lt;br /&gt;
Zuerst muss das Repository geklont werden:&lt;br /&gt;
&lt;br /&gt;
 % hg clone ssh://ihr-benutzername@schokokeks.org/hg/repository/&lt;br /&gt;
&lt;br /&gt;
Nun können Änderungen am lokalen Repository die auf den Server übertragen werden sollen, einfach mit &amp;quot;push&amp;quot; hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
 % cd repository&lt;br /&gt;
 % hg push&lt;br /&gt;
&lt;br /&gt;
Falls das Repository nicht direkt mit clone vom Server erstellt wurde, muss die URL angegeben werden:&lt;br /&gt;
&lt;br /&gt;
 % hg push ssh://ihr-benutzername@schokokeks.org/hg/repository/&lt;br /&gt;
&lt;br /&gt;
Nun sind die Daten aktualisiert und können unter http://ihre-domain/hg/ betrachtet und von anderen geklont werden.&lt;br /&gt;
&lt;br /&gt;
Falls das dauerhafte angeben der URL zu mühsam ist, oder der Fehler &amp;quot;ssl required&amp;quot; beim &amp;quot;pushen&amp;quot; auftritt, muss die hgrc Datei in &amp;lt;tt&amp;gt;repository/.hg/hgrc&amp;lt;/tt&amp;gt; (lokal auf dem Computer, nicht auf dem Server)&lt;br /&gt;
bearbeitet werden. Dort einfach die folgenden Zeilen bearbeiten (natürlich anpassen):&lt;br /&gt;
&lt;br /&gt;
 [paths]&lt;br /&gt;
 default = ssh://ihr-benutzername@schokokeks.org/hg/repository/&lt;br /&gt;
&lt;br /&gt;
Dann wird automatisch zu dieser Adresse &amp;quot;gepusht&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Gollo</name></author>
	</entry>
</feed>