====== 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 [[http://www.virtualbox.org/|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 for user Prompt:~/MLD/develserver$ Beispielanzeige bei einer öffentlichen IP-Adresse: Prompt:~/MLD/develserver$ make Store IP for user 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. ===== Links ===== [[http://www.minidvblinux.de/forum/index.php?act=ST&f=25&t=5278&s=40346aa7bc4b91078cd6c67c23de79a1|Thread aus dem MLD-Forum]]