<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Phil</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Phil"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Phil"/>
	<updated>2026-04-14T21:01:09Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Subversion_-_FHEM_Installation_versionieren&amp;diff=6422</id>
		<title>Subversion - FHEM Installation versionieren</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Subversion_-_FHEM_Installation_versionieren&amp;diff=6422"/>
		<updated>2014-05-23T11:54:09Z</updated>

		<summary type="html">&lt;p&gt;Phil: Die Seite wurde neu angelegt: „Die eigene FHEM-installation mit [http://subversion.apache.org/ &amp;#039;&amp;#039;&amp;#039;Subversion&amp;#039;&amp;#039;&amp;#039;] versionieren. Der Vorteil, man kann jegliche Änderungen, ob Update oder Änd…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die eigene FHEM-installation mit [http://subversion.apache.org/ &#039;&#039;&#039;Subversion&#039;&#039;&#039;] versionieren. Der Vorteil, man kann jegliche Änderungen, ob Update oder Änderungen in den .cfgs, in den Logs nachvollziehen und zu beliebigen Versionsständen aller Files zurück springen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;Begrüßung&amp;quot; style=&amp;quot;float:right; width:400px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width:100%;font-size:100%;border:2px solid #EE7F00;background-color:#eeeeee;position:relative;{{{style|{{{1|}}}}}}&amp;quot;&lt;br /&gt;
| ACHTUNG - Seite noch im Aufbau!!!&lt;br /&gt;
* Wünsche &amp;amp; Vorschläge bitte [http://forum.fhem.de/index.php/topic,23890.0.html hier im Forum]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation / Konfiguration unter Ubuntu &amp;amp; Debian ==&lt;br /&gt;
Hier soll aufgezeigt werden, wie man relativ einfach seine FHEM-Installation versioniert. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil:&#039;&#039;&#039;&lt;br /&gt;
* zu beliebigen Versionen aller Files zurück springen&lt;br /&gt;
* im Log des Repository jede Änderung nachvollziehbar&lt;br /&gt;
* Files von entfernten Clients auschecken, bearbeiten und wieder einchecken&lt;br /&gt;
&lt;br /&gt;
== Benötigte Software ==&lt;br /&gt;
* als Betriebssystem ein Linux (zB. Ubuntu oder Debian)&lt;br /&gt;
* einen installierten FHEM Server&lt;br /&gt;
* Subversion &lt;br /&gt;
* ggf. [http://www.websvn.info/ Websvn]&lt;br /&gt;
* ggf. [http://tortoisesvn.net/ Tortoisesvn als Windows Client]&lt;br /&gt;
&lt;br /&gt;
== Subversion installieren ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# apt-get update&lt;br /&gt;
 root@hostname:~# apt-get install subversion&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Autostart svnserve Deamon ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# cd /etc/init.d/&lt;br /&gt;
 root@hostname:~# vi svnserve&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 kopiere folgendes in die Datei &amp;quot;svnserve&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 svnserve -d&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 Datei ausführbar machen und zu autostart defaults hinzufügen:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~#  cd /etc/init.d/&lt;br /&gt;
 root@hostname:~# chmod +x svnserve&lt;br /&gt;
 root@hostname:~# update-rc.d svnserve defaults&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Konfiguration / Versionieren der FHEM-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Repository erstellen ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# mkdir /meinpfad/subversion/fhem&lt;br /&gt;
 root@hostname:~# svnadmin create /meinpfad/subversion/fhem&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Benutzerrechte für Repository einrichten ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# vi /meinpfad/subversion/fhem/conf/svnserve.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 folgende Zeilen einkomentieren:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 anon-access = none&lt;br /&gt;
 auth-access = write&lt;br /&gt;
 password-db = passwd&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Benutzernamen und Passwörter erstellen:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# vi /meinpfad/subversion/fhem/conf/passwd&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 folgendes Zeilen ergänzen:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 meinbenutzername = meinpasswort&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Versionierung der FHEM-Installation ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# service fhem stop&lt;br /&gt;
 root@hostname:~# mkdir /tmp/fhemcheckouttmp&lt;br /&gt;
 root@hostname:~# cd /tmp/fhemtmp&lt;br /&gt;
 ##auschecken des FHEM-Repositorys in ein tmp-Verzeichnis&lt;br /&gt;
 root@hostname:~# svn co file:///meinpfad/subversion/fhem/&lt;br /&gt;
 ##kopieren aller FHEM-Dateien in das ausgecheckte FHEM Repository&lt;br /&gt;
 root@hostname:~# cp -Rap /opt/fhem/* /tmp/fhemtmp/fhem/.&lt;br /&gt;
 ##svn Status überprüfen alle nicht versionierten Dateien werden mit &amp;quot;?&amp;quot; gekennzeichnet&lt;br /&gt;
 root@hostname:~# svn status&lt;br /&gt;
 ## alle mit &amp;quot;?&amp;quot; gekennzeichnetten Dateien dem Repository hinzufügen&lt;br /&gt;
 root@hostname:~# svn add *&lt;br /&gt;
 ## alle hinzugefügten Dateien in das Repository einchecken und ein Kommentar ergänzen&lt;br /&gt;
 root@hostname:~# svn commit *&lt;br /&gt;
 root@hostname:~# svn update&lt;br /&gt;
 ## svn status überprüfen, wird nichts mehr angezeigt sind alle Dateien eingecheckt&lt;br /&gt;
 root@hostname:~# svn status&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
FHEM-Verzeichnis durch die Versionierten Dateien ersetzen:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# cd /opt&lt;br /&gt;
 ##Backup des FHEM Verzeichnisses, falls etwas schief geht ;-)&lt;br /&gt;
 root@hostname:~# cp -Rap /opt/fhem/* /opt/fhem.bak/.&lt;br /&gt;
 ##FHEM Verzeichnis löschen&lt;br /&gt;
 root@hostname:~# rm -r /opt/fhem&lt;br /&gt;
 ##Versionierte FHEM-Installation nach /opt/ auschecken&lt;br /&gt;
 root@hostname:~# svn co file:///meinpfad/subversion/fhem/&lt;br /&gt;
 ##svn update&lt;br /&gt;
 root@hostname:~# svn update&lt;br /&gt;
 ##svn status, wird nichts angezeigt ist alles eingecheckt&lt;br /&gt;
 root@hostname:~# svn status&lt;br /&gt;
 ##FHEM wieder starten, nun sollte alles funktionieren wie vorher&lt;br /&gt;
 root@hostname:~# service fhem start&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Hat alles funktioniert und FHEM läuft wieder einwandfrei, wird jetzt noch ein wenig aufgeräumt:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# rm -r /opt/fhem.bak&lt;br /&gt;
 root@hostname:~# rm -r /tmp/fhemtmp&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== &amp;quot;wichtigste&amp;quot; Syntax für SVN ==&lt;br /&gt;
&lt;br /&gt;
* svn status&lt;br /&gt;
* svn commit&lt;br /&gt;
* svn add&lt;br /&gt;
* svn checkout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anwendungsszenarien ==&lt;br /&gt;
&lt;br /&gt;
=== von entferntem Client z.B. .cfgs bearbeiten: ===&lt;br /&gt;
Auf ClientPC (evtl. Windows) wird mit einem SVN-Client (zB. [http://tortoisesvn.net/ Tortoisesvn]) das FHEM Repository ausgecheckt.&lt;br /&gt;
Es werden beispielsweise an einigen .cfgs Änderungen vorgenommen und wieder in das Repository eingecheckt.&lt;br /&gt;
&lt;br /&gt;
SVN-Pfad auf entferntem Server:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 svn://server-ip/meinpfad/subversion/fhem&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Nun wieder auf der Shell des FHEM Servers einloggen und folgendes ausführen um dort die Dateien zu aktuallisieren:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# cd /opt/fhem&lt;br /&gt;
 ##svn update ausführen um die lokalen Dateien durch die neusten Versionen aus dem Repository zu ersetzen&lt;br /&gt;
 root@hostname:~# svn update&lt;br /&gt;
 ##Sollten Dateirechte nicht ordnungsgemäß übernommen werden bei den geupdateten Dateien, schafft folgendes abhilfe:&lt;br /&gt;
 root@hostname:~# chown -r fhem:root /opt/fhem&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== in FHEMWEB geänderte Dateien z.B. .cfgs in das Repository einchecken ===&lt;br /&gt;
&lt;br /&gt;
Nun wieder auf der Shell des FHEM Servers einloggen und folgendes ausführen um die aktuallisierten Dateien in das Repository einzuchecken:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# cd /opt/fhem&lt;br /&gt;
 ##svn status ausführen, die geänderten Dateien werden mit einem vorangestellten M markiert&lt;br /&gt;
 root@hostname:~# svn status&lt;br /&gt;
 ##svn commit ausführen, um die geänderten Dateien in das Repository einzuchecken&lt;br /&gt;
 root@hostname:~# svn commit&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== neu erstellte Dateien oder über ein fhem update erhaltenne neue Dateien dem Repository hinzufügen: === &lt;br /&gt;
&lt;br /&gt;
Nun wieder auf der Shell des FHEM Servers einloggen und folgendes ausführen um die neuen Dateien dem Repository hinzuzufügen:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@hostname:~# cd /opt/fhem&lt;br /&gt;
 ##svn status ausführen, die neuen Dateien werden mit einem vorangestellten ? markiert&lt;br /&gt;
 root@hostname:~# svn status&lt;br /&gt;
 ##svn add ausführen, um die neuen Dateien in das Repository einzuchecken&lt;br /&gt;
 root@hostname:~# svn add filename&lt;br /&gt;
 ##svn commit ausführen, um die neu hinzugefügten Dateien in das Repository einzuchecken&lt;br /&gt;
 root@hostname:~# svn commit&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Ein- und Auschecken aus der FHEM Oberfläche (FHEMWEB) ==&lt;br /&gt;
&lt;br /&gt;
=== mittels cmdalias ===&lt;br /&gt;
&lt;br /&gt;
TEXT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Phil</name></author>
	</entry>
</feed>