Download Version 3.0 | Older Versions | Project Page
Hi RvP
In the latest "stable" version 2.1 there is a built in miniserver written in Perl which is able to deliver the client_state.xml over a network (in this way the Internet). A better idea is to setup an Apache (or alternative) webserver on the machine and create a virtual host or an alias than point it to the directory which contains your client_state.xml file.
Here´s an article about setting up your httpd.conf file for Apache. It was written in german but the configuartion steps should be the same. http://faq.conmunix.net/content/2/5/de/wie-muss-ich-die-einzelnen-clients-einrichten.html
I´m currently working on a new small miniserver written in PHP, but it seems that it is impossible to use it on a Windows machine. I think PHP socket and pcntl functions are not available on this operating system. Tell me if i´m wrong!
If you still have problems just tell me: http://www.conmunix.net/kontakt/
PS: Note that the webserver on which the Boinc LCS script runs at, needs allow_url_fopen set to true in your php.ini in order to open remotefiles. Last but not least, sorry for my bad english and good luck!
Ja, die Verwendung von Boinc LCS ist sowohl privat, als auch kommerziell mit keinerlei Kosten verbunden.
Boinc LCS wurde unter der GNU/GPL 3.0 Lizenz (General Public License) veröffentlicht. Diese befindet sich im Archiv selbst, oder kann auf der GNU Seite abgerufen werden: http://www.gnu.org/copyleft/gpl.html
Haben Sie einen Server zum Übertragen der Daten installiert und den Client richtig eingerichtet, um die Daten im Netzwerk abzurufen? Ist der nötige Port in Ihrer Firewall geöffnet? Bei einer Standard Installation von Apache ist dies Port 80 TCP. Wenn Sie einen anderen Port verwenden, muss dieser selbstverständlich auch geöffnet werden. Bietet der Webserver, auf dem Boinc LCS eingesetzt wird PHP Unterstüzung? Ist das SimpleXML Modul auf diesem Webserver verfügbar?
Es gibt drei mögliche Varianten, Boinc LCS zu verwenden. Sie können es z.B. nur auf einem einzelnen Rechner einsetzen, auf dem ein BOINC
Client läuft. Die zweite Möglichkeit ist, das Script nur als Knotenpunkt einzusetzen. Dann werden die Daten von Clients aus dem
Netzwerk, durch Boinc LCS gesammelt und im Browser ausgegeben. In
diesem Fall muss nicht unbedingt ein BOINC Client auf diesem
Rechner laufen. Die dritte Möglichkeit ist die Zusammenfassung der
beiden ersten Varianten. Das bedeutet, sowohl auf dem Boinc LCS
Rechner, als auch auf den Clients im Netzwerk laufen BOINC Clients.
Trotzdem fungiert der Boinc LCS Rechner als Sammelbecken für die Daten.
Sie werden vom Script geordnet, als HTML an den Browser gesandt.
Dazu muss auf jedem Client ein Apache Webserver installiert sein. Auch
andere Server, wie z.B. lighttpd oder FTP Server können eingesetzt
werden. Wichtig ist hierbei nur, dass Boinc LCS die client_state.xml
Datei von den Clients im Netzwerk abrufen kann. Dies kann per HTTP
Protokoll oder per FTP Protokoll geschehen.
Boinc LCS selbst, benötigt einen weiteren Webserver, mit PHP Unterstützung. Apache und
PHP5 werden empfohlen, allerdings sollte das Script auch mit PHP4
problemlos funktionieren. Auch mit Microsoft IIS sollte es klappen
(sofern PHP installiert wurde). Die SimpleXML Erweiterung muss zur
Verfügung stehen, damit das XML Format gelesen und verarbeitet werden kann.
Ausserdem muss url_fopen aktiviert sein, wenn man externe Dateien (auch
im Netzwerk) abrufen will.
Zum Abrufen der Ausgabe, muss man lediglich einen Webbrowser
verwenden. Auch hier sollte Boinc LCS auf allen bekannten Browsern
funktionieren.
Es gibt zur Zeit nur 3 verschiedene Dinge, die über die config.php geregelt werden.
$clients = array( "Mein Rechner im Netzwerk" => "http://192.168.0.3:8080/boinc/client_state.xml", "Mein lokaler Rechner" => "/path/to/BOINC/client_state.xml", );Der erste Eintrag ruft die Client Daten per URL aus dem Netzwerk ab. Da wir Boinc LCS auf dem selben Rechner betreiben, auf dem auch unser zweiter BOINC Client läuft, können wir beim zweiten Eintrag auch eine absolute Pfadangabe verwenden. Der erste Wert, z.B. "Mein Rechner im Netzwerk" kann frei gewählt werden und erscheint dann als Client Name in der HTML Ausgabe. /path/to/BOINC muss natürlich durch den Installationspfad Ihres BOINC Clients ersetzt werden. Unter Windows ist das meistens C:\Programme\BOINC.
A new version of the miniserv.pl script with simple authentication is now available. Download it here!
Hi Peter!
Thanks for the nice idea. I will try to implement something in the next few days. Currently i´m running out of time ;) If you cannot wait for a (miniserv) solution, you can use Apache or another webserver which provides authentification. Add those clients to Boinc LCS, for example:
$clients = array( "Computer 1" => "http://USERNAME:PASSWORD@192.168.0.3:8080/boinc/client_state.xml" );
NOT TESTED!
where USERNAME and PASSWORD should be replaced by with your real auth. data. Sorry for my bad english ;) I hope these informations will help you, solving your problem.
Zuerst laden wir uns die gewünschte Apache Webserver Version herunter, z.B. auf der offiziellen Apache Seite httpd.apache.org. Wenn der Webserver nur installiert wird um die BOINC Daten zu übertragen, empfehlen wir Ihnen eine aktuelle Version der 1.3 Reihe. Die Installation läuft schneller und der Server verbraucht am wenigsten Arbeitsspeicher und CPU.
Die folgenden Schritte beziehen sich auf das Kompilieren und Installieren eines Apache Webservers unter UNIX/Linux an Hand der Version 1.3.39. Für Windows stehen Binärpakete bzw. Pakete mit Microsoft Installer (msi) zur Verfügung. Zum Kompilieren unseres Servers unter UNIX/Linux benötigen wir eine vorhandene und konfigurierte Version des GNU C Compilers GCC. Ich persönlich kenne keine Distribution, die GCC nicht mitliefert. Im schlimmsten Fall müssen Sie lediglich das Paket per apt oder yum nachinstallieren.
Nachdem wir also die erforderlichen Pakete installiert haben, entpacken wir unser heruntergeladenes Apache Paket. In der Kommandozeile tippen wir:
tar xfvz apache_1.3.39.tar.gzum in das Verzeichnis zu wechseln
cd apache_1.3.39Nun können wir Apache kompilieren und installieren. Standardmässig braucht man dazu nicht viel. Wir benötigen den Server aber nur zur Übermittlung der Client Daten an Boinc LCS. Aus diesem Grund brauchen wir unnötige Module gar nicht erst zu kompilieren. Deshalb habe ich hier den configure Befehl angepasst. Um es am Anfang nicht zu schwer zu machen, habe ich nur das cgi modul deaktiviert, da wir das ganz sicher nicht benötigen werden. Um eine Liste von Modulen zu bekommen, die man deaktivieren kann, sollte man "./configure --help" eintippen. Die Angabe des Port höher als 1024, erlaubt es uns den Server als normalen User zu starten, was besonders Sinn macht, wenn wir keinen Root Zugriff besitzen. Allerdings ist es sicherer den Server als normaler User zu starten, weshalb wir die Portangabe einfach auf den alternativen HTTP Port 8080 setzen.
./configure --prefix=/path/to/install --disable-module=cgi --with-port=8080/path/to/install muss mit dem Pfad ersetzt werden, in den der Server installiert werden soll. Wenn der configure Vorgang abgeschlossen wurde, lassen wir die Dateien von GCC mit folgendem Befehl kompilieren.
makeWenn alles ohne Fehler kompiliert wurde, können wir die Installation starten. Wenn Sie einen Port kleiner als 1024 angegeben haben, oder der Pfad nicht als normaler User beschreibbar ist, müssen Sie zum Superuser Account Root wechseln, indem Sie:
sugefolgt vom Root Passwort eingeben. Die Installation wird abgeschlossen mit:
make installUm die erfolgreiche Installation zu testen, starten wir unseren Apache mit:
/path/to/install/bin/apachectl startWenn wir nun http://CLIENTIP:PORT/ im Browser aufrufen, sollten wir eine Seite sehen die uns mitteilt, dass Apache erfolgreich installiert wurde. Nun können wir mit dem Punkt "Wie muss ich die einzelnen Clients einrichten?" fortfahren.
Nachdem Sie das Paket heruntergeladen und entpackt haben, können Sie die nötigen Einstellungen in der config.php vornehmen. Wenn Sie diese Schritte durchgeführt haben, kopieren Sie alle Dateien in das gewünschte Verzeichnis Ihres Webservers. Falls Sie andere PHP Seiten auf Ihrem Webserver installiert haben, legen Sie bitte ein Unterverzeichnis (z.B. boinc) an. Anschliessend können Sie Boinc LCS in Ihrem Browser aufrufen. Als Beispiel:
Boinc LCS läuft auf dem Rechner, an dem Sie sich im Moment befinden, dann rufen Sie z.B. http://localhost/boinc/ in Ihrem Browser auf. Wenn Sie Ihre Clients korrekt in die config.php eingetragen haben und jeweils ein Webserver für den Transport der Client Daten installiert und konfiguriert wurde, können Sie bereits die aktuellen Daten ablesen. Ansonsten sehen Sie einen rot markierten Hinweis "One or more clients cannot be displayed. Please check your config!". In diesem Falle überprüfen Sie nochmals alle Einstellungen und angegebenen Pfade und URLs oder lesen Sie den Eintrag "Warum werden keine Daten angezeigt?".
Das Format des Archivs ist .tar.gz. Es handelt sich um ein Gzip komprimiertes Tar Archiv. Winrar und moderne Versionen von Winzip, sollten keine Probleme beim entpacken haben. Unter Linux und UNIX verwendet man am besten und schnellsten die Kommandozeile, indem man den folgenden Befehl eintippt:
tar xfvz boinc_lcs_3.0_beta.tar.gz
Wenn Sie sich nicht im Verzeichnis befinden, in dem das Archiv liegt, müssen Sie den richtigen Pfad angeben.
Jeden Client auf dem die BOINC Software installiert ist, müssen wir nun so einrichten, dass unsere aktuellen Daten auch im Netzwerk verfügbar sind und von Boinc LCS gelesen werden können. Am einfachsten geht dies, indem wir einen bereits installierten FTP oder HTTP Server verwenden. Sollte kein solcher Server installiert sein, lesen Sie zuerst "Wie installiere ich Apache auf einem Client"
Die nächsten Schritte beziehen sich auf die Konfiguration eines Apache Webservers unter Linux. Viele Webserver haben eine ähnliche Konfiguration und können dadurch ebenso leicht eingerichtet werden. Wenn Sie Windows statt UNIX/Linux verwenden, sind die folgenden Schritte fast identisch bis auf die Pfadangabe, die Sie an Ihre Windows Umgebung anpassen müssen.
Als erstes öffnen wir die httpd.conf (Konfigurationsdatei) unseres Apache. In den meisten Linux Distributionen ist diese zu finden unter /etc/apache oder /etc/apache2. Die Datei öffnen wir mit einem Texteditor (z.B. vi unter Linux oder Notepad unter Windows) und setzen folgende Zeilen an das Ende der Datei.
Alias /boinc "/path/to/BOINC" <Directory "/path/to/BOINC"> Options -Indexes AllowOverride None deny from all <Files client_state.xml> allow from all </Files> </Directory>Der Pfad /path/to/BOINC muss durch den Installationspfad Ihres BOINC Client ersetzt werden, den Sie selbst am besten kennen. Unter Linux ist das oft /home/username/bin/BOINC, unter Windows meist C:\Programme\BOINC. Anschliessend speichern wir die Datei und restarten Apache. Ein Graceful Kommando reicht zwar, Sie können aber Apache auch komplett restarten.
Wir empfehlen die Installation des XAMPP Pakets, da es gerade für Anfänger die Installation einer vollwertigen Webserver Umgebung vereinfacht. Das Paket ist für viele Betriebssysteme verfügbar und auf www.apachefriends.org erhältlich. Eine ausführliche und gut beschriebene Installationsanleitung ist dort ebenfalls zu finden. XAMPP ist ein Sourceforge Projekt, kostenlos und gut dokumentiert.
Für User, die Schwierigkeiten bei der Installation von Boinc LCS haben, gibt es die Möglichkeit direkt in dieser FAQ eine neue Frage zu stellen. Wenn nichts mehr geht, schreiben Sie doch bitte eine Email an conmunix[at]online[dot]de mit dem Betreff "Boinc LCS". Ich versuche jedem so gut wie möglich zu helfen.
Wenn Sie bereits einen Webserver (vorzugsweise Apache) installiert haben und dieser PHP Unterstützung bietet, dann verwenden Sie am besten diesen Server. Sie müssen lediglich darauf achten, das SimpleXML Modul zur Verfügung zu haben. Dies wird benötigt, um die XML Datei des BOINC Client zu lesen.