Boinc-LCS
Aus OneNext Knowledge Base
Inhaltsverzeichnis |
Was ist Boinc-LCS?
Boinc-LCS ist ein in PHP geschriebenes Script, das Ihnen erlaubt den Status der aktuellen Workunits und weitere Informationen von lokalen und entfernten Boinc Clients abzurufen und als Übersicht im Browser darzustellen. LCS steht dabei für "Live Client State".
Das Projekt ist auch auf der offiziellen Boinc Add-on Seite gelistet und wird weiterhin von uns gepflegt.
Aktuelle Version ist: 3.1 (02.04.2011)
Was wird benötigt?
Sie benötigen einen Webserver mit PHP Unterstützung um Boinc-LCS verwenden zu können (Apache oder lighttpd werden empfohlen). Wollen Sie Informationen von entfernten Clients abrufen, müssen Sie deren client_state.xml Datei im Netzwerk verfügbar machen, zusätzlich muss PHP in der Lage sein entfernte Dateien öffnen zu können. Mehr dazu später...
Herunterladen
Boinc-LCS steht als .tar.gz und .deb Archiv zur Verfügung. Wenn Sie Debian oder Ubuntu verwenden, können Sie das Debian Paket herunterladen und installieren. Es enthält ein Auto-Setup-Script für die bekanntesten Webserver Apache, Apache2 und lighttpd (nginx folgt).
http://dl.onext.de/pub/boinc_lcs/boinc_lcs_3.1.tar.gz 25,5 kb
http://dl.onext.de/pub/boinc_lcs/boinc-lcs-3.1-5_all.deb 26,7 kb
Sie können die aktuelle Version auch direkt per Git klonen. Unser Git Server ist allerdings nicht immer erreichbar!
git clone git://git.onext.de/boinc-lcs.git
Installation
Die Installation ist denkbar einfach und dauert nur wenige Minuten. Debian und Ubuntu Benutzer haben es noch einfacher, da Boinc-LCS zusätzlich als Debian Paket zur Verfügung steht.
Manuelle Linux Installation
Herunterladen und entpacken
wget http://dl.onext.de/pub/boinc_lcs/boinc_lcs_3.1.tar.gz tar xfz boinc_lcs_3.1.tar.gz cd boinc_lcs_3.1
Konfiguration anpassen
nano php/config.php
Tragen Sie in die Datei config.php den Pfad zu Ihrer client_state.xml Datei ein, geben Sie Ihrem Client einen Namen, löschen Sie bei Bedarf den zweiten Eintrag oder fügen Sie weitere Clients hinzu und speichern Sie die Datei.
Verschieben oder Kopieren
z.B. in das Wurzelverzeichnis des Webservers /var/www/htdocs, benötigt Schreibrechte im Zielverzeichnis!
mv php /var/www/htdocs/boinc-lcs
Linux Installation mit Debian Paket
Seit Version 3.1-5 unterstützt das Debian Paket debconf und kann per dpkg-reconfigure jederzeit rekonfiguriert werden.
Herunterladen und installieren
wget http://dl.onext.de/pub/boinc_lcs/boinc-lcs-3.1-5_all.deb
Debian (als Benutzer "root")
dpkg -i boinc-lcs-3.1-5_all.deb
dpkg wird Sie während der Installation nach einem installierten Webserver fragen. Wenn Sie keinen Webserver auswählen, kann das Script anschliessend manuell konfiguriert werden.
Ubuntu
sudo dpkg -i boinc-lcs-3.1-5_all.deb
Konfiguration anpassen als Benutzer "root" (optional)
Wenn Sie zusätzliche Clients hinzufügen möchten, müssen Sie die Datei als Benutzer "root" bearbeiten
nano /etc/boinc-lcs/config.php
oder mit sudo unter Ubuntu
sudo nano /etc/boinc-lcs/config.php
Anschliessend können Sie - Webserver und Browser vorausgesetzt - Ihre Boinc-LCS Installation lokal zum Testen aufrufen:
Remote Clients vorbereiten
Um die Daten von entfernten Clients abzufrufen, muss die Datei client_state.xml auch auf diesen Clients im Netzwerk verfügbar gemacht werden. Es gibt hierfür mehrere Möglichkeiten:
Ein bereits installierter Webserver auf dem Client
Ist z.B. Apache installiert und man hat Zugriff auf die Konfigurationsdatei, kann ein Alias gesetzt und somit die Datei client_state.xml verfügbar gemacht machen.
Alias /client_state.xml /path/to/your/client_state.xml
Für lighttpd wird dies so festgelegt:
alias.url = ( "/client_state.xml" => "/path/to/your/client_state.xml" )
Sowohl Apache als auch lighttpd benötigen hierfür das Modul "mod_alias". Stellen Sie sicher, dass dieses Modul verfügbar und aktiviert ist.
Das Perl Script miniserv.pl (im Download-Paket enthalten)
Eine Anleitung folgt bald...
Mithilfe von Netpipes unter Linux
Wenn Sie eine Linux Distribution verwenden und das Paket "netpipes" installiert wurde, können Sie auf den Clients den Befehl "faucet" verwenden. Dies ist eine der einfachsten Methoden um eine Datei über das Netzwerk zu senden oder bereitzustellen. Damit faucet auch dauerhaft lauscht und im Hintergrund arbeitet, benötigt es noch einige Kommandozeilenparameter.
faucet 8080 --daemon --out --localhost 0.0.0.0 --backlog 128 cat /path/to/your/client_state.xml
Tipp: Starten Sie faucet das erste Mal ohne den --daemon Parameter um zu sehen ob alles funktioniert. Um eine detaillierte Ausgabe zu erhalten, geben Sie zusätzlich --verbose an, damit wird das Programm gesprächiger. Es handelt sich übrigens nicht um einen Webserver-Ersatz, da keine HTTP-Header gesendet werden. Es wird lediglich der Inhalt der Datei übertragen, was für unsere Zwecke jedoch völlig ausreicht. Zur Sicherheit verwenden Sie bitte einen Port größer als 1023 (Port 8080 in unserem Beispiel) und starten faucet nie als Superuser root!
Lizenz
Boinc-LCS ist freie Software und darf unter den Bedingungen der GNU General Public License v3 verändert und weitergegeben werden.
Hinweis: Alle Versionen <= 2.1 stehen unter der GNU GPL v2.
