User Tools

Site Tools


mld:entwicklung:eigener_addons_server

Bereitstellen des eigenen Entwicklungsservers für Addons bzw. Pakete

Einleitung

Wenn man sich so eine schöne Entwicklungsumgebung nach der Anleitung im MLD-Wiki aufgebaut und seine ersten Addons bzw. Pakete 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 MLD-3

  • Damit die MLD-Installation auch von dem eigenen Entwicklungsserver Kenntnis hat, ist folgender Eintrag in der Datei /etc/apm-sources.list auf dem MLD-PC erforderlich:
http://www.minidvblinux.de/addons.php?version=${SYSTEM_VERSION}&class=${ADDON_CLASS}&user=${DEVELOPER}

Wurde das verwendete MLD-ISO ü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.

Randbedingungen MLD-4

  • Damit die MLD-Installation auch von dem eigenen Entwicklungsserver Kenntnis hat, müssen folgende Befehle auf dem MLD-PC ausgeführt werden:
echo "src/gz devel-base http://www.minidvblinux.de/download/4.0.0/files/[USER]/base" >> /etc/opkg/devel.conf
echo "src/gz devel-libs http://www.minidvblinux.de/download/4.0.0/files/[USER]/libs" >> /etc/opkg/devel.conf

Die beiden ”[USER]” in den Befehlen müssen durch den Ubuntu-Benutzernamen ersetzt werden, unter dem der Entwicklungsserver gestartet wurde.

Randbedingungen MLD-4.0.1

  • Damit die MLD-Installation auch von dem eigenen Entwicklungsserver Kenntnis hat, muss folgender Befehle auf dem MLD-PC ausgeführt werden:
sed 's/OPKG_DEVELOPER=.*/OPKG_DEVELOPER="[USER]"/' -i /etc/rc.config

Das ”[USER]” in dem Befehl muss durch den Ubuntu-Benutzernamen ersetzt werden, unter dem der Entwicklungsserver gestartet wurde.

Randbedingungen Allgemein

  • 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, unter den der Entwicklungsserver aktiv sein soll
  • externport = hier kann man einen eigenen Port definieren, unter den der Entwicklungsserver von außerhalb erreichbar 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
  • autostop = hier kann eine Zeit in Sekunden eingetragen werden, nach der der Server automatisch wieder gestoppt werden soll

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.txt · Last modified: 2014/05/11 06:54 (external edit)