Boinc PHP-Gui

ydeeps

Captain Special
★ Themenstarter ★
Mitglied seit
03.05.2017
Beiträge
230
Renomée
98
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
Hallo Mitcruncher,
vor einiger Zeit hatte ich mich mal mit einem Projekt beschäftigt, womit man ein Boinc-clienten über PHP/Webserver bedienen kann. Link
Sehr alt und nur für ein Client. Ich hab mich mal daran gesetzt und versucht eine vernünftige Oberfläche zum verwalten von mehreren Clienten zu basteln. Mich hat dieses ständige umschalten im BM genervt, auf die einzelnen Clienten zugreifen zu können. Herausgekommen ist nun dieses.
img2.pngimg3.pngimg1.pngimg4.pngimg5.png

Wer denn Interesse hat, das auch nutzen zu wollen, ein Linux->Webserver sein eigen nennt, übergebe ich gerne die Dateien (PN).
(Dank an koschi für die Ideen, die ich mit einbauen konnte *great* )
 

koschi

Grand Admiral Special
Mitglied seit
11.11.2001
Beiträge
5.059
Renomée
303
Standort
0511
  • Spinhenge ESL
  • BOINC Pentathlon 2016
  • BOINC Pentathlon 2017
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2019
  • SETI@Home Intel-Race II
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
Mega Teil, ich klicke meine ARMs nur noch damit durch, kann ich empfehlen :-)

Danke nochmal dafür :-)
 

thorsam

Grand Admiral Special
Mitglied seit
05.04.2003
Beiträge
2.401
Renomée
513
Ohne diese Anwendung könnte ich beim Cluster gar nicht den Überblick über die ganzen Instanzen behalten.
Vorher hatte ich eine heillose Zettelwirtschaft. Jetzt kann ich bequem 200 Instanzen verwalten, und weiß genau,
was wo wann läuft oder nicht. Eine große Hilfe sind mir auch die Zählwerke in der untersten Zeile.

Darum von mir auch nochmal ein dickes Dankeschön. *greater*
 

ydeeps

Captain Special
★ Themenstarter ★
Mitglied seit
03.05.2017
Beiträge
230
Renomée
98
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
Stony666 hat sich auch gemeldet um das mal auf ein Raspi zu installieren. Dabei sind wiedermal einige Sachen aufgefallen die nicht funktionieren, wenn man neu beginnt. Er will dazu auch eine Anleitung schreiben, echt super!
 

Stony666

Lt. Commander
Mitglied seit
29.03.2007
Beiträge
139
Renomée
107
Standort
61350 Bad Homburg
Hallo zusammen,
ich habe das boincphpgui von ydeeps auf einen Raspberry PI 4 unter dem aktuellen Raspberry PI OS installiert. Diese Anleitung sollte auch unter Ubuntu oder einem Ubuntu Clone oder Debian funktionieren.
Natürlich auch auf einem Raspberry PI 3...

So wird es gemacht.

1. Installation eines Raspberry PI mit Raspberry PI OS findet ihr hier beschrieben.

Danach als user pi folgende Schritte durchführen:

sudo apt update
sudo apt upgrade


Danach ist das System aktuell und sollte einmal rebootet werden.

2. Danach habe ich Apache2 installiert.

sudo apt install apache2 -y


Webserver ist jetzt installiert und läuft.

Test im Browser mit http://<ip-auf-der-der-Webserver-läuft>

Es sollte die „Apache2 Debian Default Page“ im Browser erscheinen.

3. PHP installieren
Im nächsten Schritt php und notwendige Module installieren.

sudo apt install php libapache2-mod-php php-xml -y

4. Das Datenfile des boincphpgui per PN bei ydeeps anfragen.


Zuerst nach /var/www/html wechseln

sudo wget https://<Lokation-und-Name-des-Datenfiles>

Danach sollte das ZIP Archiv im lokalen Verzeichnis vorhanden sein.
Exemplarisch ist der Name des Verzeichnisses boincphpgui für alle weiteren Schritte.
Das könnt ihr nach euren Bedürfnissen anpassen.

Erstellen eines Verzeichnisses für den Inhalt des Datenfiles und wechseln dorthin
sudo mkdir boincphpgui
cd boincphpgui

Entpacken des Archives in das neue Verzeichnis
sudo unzip ../<Datenfile>


5. Berechtigung der Dateien im Webserver Datenverzeichnis ändern.


Aus Sicherheitsgründen sollten diese Rechte gesetzt sein!

cd /var/www/html/boincphpgui
sudo find * -type d -exec chmod 755 {} +
sudo find * -type f -exec chmod 644 {} +
sudo chown -R www-data:www-data *

6. Einen virtuellen Host im Webserver anlegen

cd /etc/apache2/sites-available


Dort eine Konfigurationsdatei für das boincphpgui anlegen, z.B. boincphpgui.conf

Inhalt der Datei sieht bei mir so aus:

NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@boincpi.fritz.box
DocumentRoot /var/www/html/boincphpgui
ServerName fritz.box
ServerAlias *.fritz.box
ErrorLog /var/log/fritz.box-error_log
CustomLog /var/log/fritz.box-access_log common
</VirtualHost>


7. Virtuellen Host aktivieren und Webserver durchstarten

sudo a2ensite boincphpgui.conf
sudo service apache2 restart


Danach sollte das boincphpgui über den Browser erreichbar sein.

Im Browser aufrufen: http://<ip-auf-der-der-Webserver-läuft>/boincphpgui
Im Reiter Computer kann man jetzt seine Systeme anlegen. ;)

Aber... Die Kisten müssen natürlich für remote Kontrolle konfiguriert sein!

Noch ein paar Tipps, wenn es läuft und ihr einen/ein paar Rechner am Laufen habt:
Unter Optionen -> Web Einstellungen den Haken bei aktualisieren machen, 10 Sekunden ist OK und darunter bei Computer (wegen der Betrachtung der unterschiedlichen WU Stati) und Aufgaben (damit man sehen kann ob was hängt oder auch Fortschritt) einen Haken setzen. Wenn ihr einen neuen Rechner eintragen wollt und habt das update auf den Computer aktiv müsst ihr seeehr schnell schreiben... :D Also erst nachdem die Rechner drin sind den Haken setzen.
Unter Optionen -> Web Einstellungen den Timeout für ping auf 1 setzen, wenn die Rechner oft als nicht verbunden angezeigt werden.

Wenn ich hier einen Fehler gemacht habe, dann bitte melden und ich passe das an!
 
Zuletzt bearbeitet:

ydeeps

Captain Special
★ Themenstarter ★
Mitglied seit
03.05.2017
Beiträge
230
Renomée
98
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
Ich hab das ganze mal mit dem USBWebServer unter Windows ausprobiert, was auch funktioniert.
Man entpackt das USBWebServer Zip-Archiv in einen Ordner seiner Wahl.

bild1.jpg
dann legt man zusätzlich ein Ordner "boincphpgui" darin an (Name kann jeder selbst festlegen) und kopiert die Dateien aus meinem Archiv hinein.
bild2.jpg
Dann startet man die usbwebserver.exe aus dem Verzeichnis darüber.

bild3.jpg
und akzeptiert die Firewallmeldungen und hat folgendes Fenster:

bild4.jpg
Wähle die Sprache aus die dir liegt, und gehe auf "Einstellungen/Settings"

bild5.jpg
und ändere das "root" zu "boincphpgui"

bild6.jpg
und "Speichern" -> "Ok".
Unter "Allgemein" -> "Localhost" auswählen

bild7.jpg
und der Webbrowser sollte sich öffnen mit
bild8.jpg
ab hier kann man seine Rechner eintragen. Der Rest sollte dann eigentlich selbsterklärend sein, man hat dann ein Boincmanager in einer Weboberfläche für mehrere Rechner oder Instanzen.

Um den Zugriff vom Webserver zum Clienten zu erlauben, kann man beim Clienten
in der cc_config.xml innerhalb der

<options>
<allow_remote_gui_rpc>1</allow_remote_gui_rpc>
...
</options>

eintragen oder in der remote_hosts.cfg die IP des Rechners hinterlegen auf dem der USBWebServer läuft.
Danach den Clienten neu starten.

Viel Glück :-)
 

EselTreiber

Admiral Special
Mitglied seit
13.10.2007
Beiträge
1.235
Renomée
81
Standort
Hirschberg, BaWü
  • Spinhenge ESL
  • BOINC Pentathlon 2012
  • BOINC Pentathlon 2013
  • BOINC Pentathlon 2015
  • BOINC Pentathlon 2016
  • BOINC Pentathlon 2017
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2014
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
Zur Info für alle, die das Ganze auf einem System laufen lassen wollen, auf dem bereits ein Pihole läuft:

PiHole verwendet standardmässig lighttpd anstatt Apache. Für diesen Fall reicht das Ausführen der Schritte 4 & 5 für die Einrichtung aus. dann fuktioniert es automatisch. Total super. *great*
 

Landjunge

Vice Admiral Special
Mitglied seit
29.10.2008
Beiträge
844
Renomée
106
Standort
bei Uelzen, NDS
  • BOINC Pentathlon 2011
  • BOINC Pentathlon 2012
  • BOINC Pentathlon 2013
  • BOINC Pentathlon 2014
  • BOINC Pentathlon 2015
  • BOINC Pentathlon 2016
  • BOINC Pentathlon 2017
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
Moin, gibts ne Möglichkeit das ganze Passwort geschützt laufen zu lassen? Wenn man jetzt von außen drauf zugreifen möchte.
 

ydeeps

Captain Special
★ Themenstarter ★
Mitglied seit
03.05.2017
Beiträge
230
Renomée
98
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
Ja, ist auf jeden Fall machbar.
Man könnte auch eine Benutzerverwaltung einbauen wo man Rechte vergeben könnte, hm, mal sehen....
 
Zuletzt bearbeitet:

koschi

Grand Admiral Special
Mitglied seit
11.11.2001
Beiträge
5.059
Renomée
303
Standort
0511
  • Spinhenge ESL
  • BOINC Pentathlon 2016
  • BOINC Pentathlon 2017
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2019
  • SETI@Home Intel-Race II
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
Moin, gibts ne Möglichkeit das ganze Passwort geschützt laufen zu lassen? Wenn man jetzt von außen drauf zugreifen möchte.
Müsstest du mit einer .htaccess im entsprechenden Verzeichnis lösen können, bis es die Seite selbst kann...
 

Landjunge

Vice Admiral Special
Mitglied seit
29.10.2008
Beiträge
844
Renomée
106
Standort
bei Uelzen, NDS
  • BOINC Pentathlon 2011
  • BOINC Pentathlon 2012
  • BOINC Pentathlon 2013
  • BOINC Pentathlon 2014
  • BOINC Pentathlon 2015
  • BOINC Pentathlon 2016
  • BOINC Pentathlon 2017
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
Ja das wäre super Klasse, dann kann man das Interface auch beruhigt übers Web benutzen. Und könnte man vllt. noch was machen damit sich die Spaltenbreiten verschieben/anpassen lassen?😇
 

ydeeps

Captain Special
★ Themenstarter ★
Mitglied seit
03.05.2017
Beiträge
230
Renomée
98
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
So, Login ist jetzt in den Web-Einstellungen konfigurierbar.
websettings.jpg
Name und Password kann leer bleiben oder nur Name oder nur Password. :-)
Der Haken Login erzeugt im Menu ein Abmelde-Button (Programmbedingt erst nach nochmaligem laden der Seite).
Ab dann sollte das dann mit dem Login laufen.
Bei vergessenem Password in ./config/boinc_web_settings.json den MD5-String einfach löschen.

vorher
"passwd":"<md5-string>"
nachher
und dann nur mit Name einloggen und gegebenenfalls neu vergeben in den Web-Settings.

Link zum Download ist der gleiche geblieben.

Mit der Spaltenbreite ist das etwas schwieriger. Ich hatte auch schon die Idee das in Irgendeiner Weise mit Prozentwerten konfigurierbar oder auch ausblendbar zu machen. Das macht aber echt Aufwand den ganzen Code umzuschreiben.

Grüße Dani
 
Zuletzt bearbeitet:

Landjunge

Vice Admiral Special
Mitglied seit
29.10.2008
Beiträge
844
Renomée
106
Standort
bei Uelzen, NDS
  • BOINC Pentathlon 2011
  • BOINC Pentathlon 2012
  • BOINC Pentathlon 2013
  • BOINC Pentathlon 2014
  • BOINC Pentathlon 2015
  • BOINC Pentathlon 2016
  • BOINC Pentathlon 2017
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
Dani du bist der Beste! Vielen Dank für deine Mühe *clap* 👍
 
Oben Unten