User Tools

Site Tools


mld:entwicklung:eigener_addons_server

This is an old revision of the document!


Bereitstellen der eigenen Entwicklungsumgebung für Addons und Plugins

Einleitung

Wenn man sich so eine schöne Entwicklungsumgebung nach der Anleitung im MLD-Wiki aufgebaut und seine ersten Addons erstellt oder bestehende nach seinen Bedürfnisse verändert hat, dann wäre es natürlich auch schön, wenn die MLD-Installation sich auch die Pakete und Updates von dort holen würde. Das schöne ist, es geht tatsächlich und das sogar sehr einfach.

Installation

Das Modul, das man dazu benötigt heißt “develserver” und wird nicht automatisch bei der Installation der Entwicklungsumgebung ausgecheckt. Um es zu erhalten, wechselt man in sein MLD-Verzeichnis und führt an der Konsole den Befehl make checkout name=develserver aus. Nun wechselt man in das Verzeichnis develserver und führt ein “make start” (“make” reicht auch) aus. Voila, das war es auch schon, wenn die Randbedingungen zutreffen ;-).

Ein “make stop” beendet den Entwicklungsserver.

Randbedingungen

  • Damit die MLD-Installation auch von dem eigenen Update-Server Kenntnis hat, ist folgender Eintrag in der Datei /etc/apm-sources.list erforderlich:

http://www.minidvblinux.de/addons.php?version=${SYSTEM_VERSION}&class=${ADDON_CLASS}&user=${DEVELOPER} Wurde die MLD über die Entwicklungsumgebung erstellt, dann ist diese Zeile bereits in der Datei vorhanden. Andernfalls muss außerdem in der /etc/rc.config noch der Eintrag DEVELOPER angepasst werden. Hier muss der Ubuntu-Benutzernamen rein, unter dem der Entwicklungsserver gestartet wurde.

  • Die Entwicklungsumgebung muss selbständig im Heimnetz erreichbar sein. Dies habe ich bei meinem Virtuellem Entwicklungssystem dadurch gelöst, dass ich in der VirtualBox unter Netzwerk den Adapter von “NAT” auf “Netzbrücke” gestellt habe.
  • Die Entwicklungsumgebung muss Zugriff auf das Internet haben.
  • Wurden die Entwicklungsserver Netzwerk Einstellungen verändert ist folgendes zu beachten: Der Entwicklungsserver verwendet nur die Netzwerkschnittstelle eth0. Welche Netzwerkschnittstelle das Ubuntu-System aktuell nutzt, kann mit dem Befehl “ifconfig” an der Konsole ermittelt werden. Sollte dies nicht eth0 sein, so ist die Datei /etc/udev/rules.d/70-persistent-net.rules entsprechend anzupassen und das System neu zu starten. In dieser Datei wird die Schnittstelle über die MAC-Adresse der virtuellen Netzwerkkarte zugewiesen.

Konfiguration

Sofern nicht vorhanden, wird durch das “make start” im Verzeichnis MLD/develserver die Datei config.sh erzeugt, die bei Bedarf angepasst werden kann.

Zur Erklärung der Parameter:

  • path = Pfad wo die erzeugten Addons liegen
  • server = hier ist das Ende wichtig, wo hier der Entwickler eingetragen ist. Dieser muss der selbe sein, der auf dem Client in der /etc/rc.config unter DEVELOPER eingetragen ist
  • port = hier kann man einen eigenen Port definieren, für den der Entwicklungsserver aktiv sein soll
  • ip = hier kann man eine lokale IP oder eine öffentliche Adresse (z.B. über Dyndns.org vergebene Adresse) eintragen. Bitte nur hierbei beachten, das die öffentliche Adresse dann im Routing auch aus dem Internet zugänglich ist.

Bei den Einträgen muß man nur noch seinen Router entsprechend konfigurieren, damit man dann seine eigene Entwicklungsumgebung erreicht.

Beispielanzeige bei einer lokalen IP-Adresse: Prompt:~/MLD/develserver$ make Store IP <lokale IP> for user <Username> Prompt:~/MLD/develserver$

Beispielanzeige bei einer öffentlichen IP-Adresse: Prompt:~/MLD/develserver$ make Store IP <dyndns-Adresse> for user <Username> Prompt:~/MLD/develserver$

Erläuterung der Funktionsweise

Hier möchte ich gern Claus aus dem nachfolgenden Link sinngemäß zitieren:

Dein Entwicklungsserver hat beim Starten auf dem www Server unter Deinem Ubuntu User-Namen Deine Externe IP-Adresse hinterlegt. Sollte der www Server Deinen Entwicklungs-PC nicht unter dieser erreichen können (z.B. weil Du auf Deinem Router kein Port forwarding eingerichtet hast), so wird nicht Deine externe sondern Deine interne IP Adresse auf dem www Server hinterlegt.
Wird nun der www Server nach Deinem User (Entwicklungs-Server) gefragt, so macht der einen Redirekt auf Deine IP-Adresse. Somit ist Dein Entwicklungsserver nur in deinem lokalen Netzwerk oder für jedermann (der Deinen Usernamen kennt) zu erreichen, je nachdem wie Dein Router konfiguriert ist.
mld/entwicklung/eigener_addons_server.1377601982.txt.gz · Last modified: 2013/08/27 07:13 (external edit)