[Guide] napp-it cs, erste Schritte

Mit 730-Tage-Key läuft 26.05.03dev jetzt. Danke erstmal. Trotzdem komisch, dass nicht automatisch die 30Tage-Test-Lizenz an war.
Apropos CS: kann man irgendwie das Web-Gui benutzen oder gibt es da magische Dinge, die ich nicht verstehe. Weil SE sagt, hier geht's zur CS-GUI - aber die läuft nicht. Man kann die ausschalten und anschalten ganz oben rechts im Menu, macht aber keinen Unterschied.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Der 30 Tage der se Version läuft ab Erstinstallation.

Unter OmniOS sollte man per Haupmenü oder Login Seite zwischen der se und cs Version direkt wechseln können (wenn cs an ist) , da beide auf unterschiedlichen Ports laufen. Eventuell se Webserver als root neu starten (/etc/init.d/napp-it restart)
 
Die Menüs von napp-it cs können durch eigene Menüs erweitert werden. Jedes private Menü ist sicher gegenüber Updates oder Downgrades und besteht aus einem einfachen Ordner unter ./csweb-gui/_my/menues, der ein Skript namens action.pl enthält.

Wenn man KI (z. B. Claude) nutzen möchten, um private Menüs zu erstellen oder zu überprüfen:
  • Erstelle eine ZIP-Datei des Ordners csweb-gui (csweb-gui.zip).
  • Lade diese ZIP-Datei bei Claude hoch.
Bitte Claude, zwei Dateien im Stammverzeichnis der ZIP-Datei einzufügen bzw. zu aktualisieren:
  • changelog.txt mit den aktuellen Änderungen sowie

  • guideline.txt mit folgendem initialen Inhalt:
-- Erstelle zum Download immer eine ZIP-Datei, die alle Dateien umfasst.
-- Aktualisiere das Changelog mit den Modifikationen und einer Liste der geänderten Dateien.
-- Lokale OS-Befehle werden über &exe("Befehl") via server.pl ausgeführt; gleiche Befehle immer mit server.pl ab.
-- server.pl parst Befehle, z. B. gibt ps axww auch unter Windows eine Taskliste aus.
-- -fi [edf] Dateiname kann eine Prüfung durchführen (Existenz, Datei, Verzeichnis).
Man kann hier eigenen Regeln hinzufügen.

Bitte Claude anschließend darum:
  • Ein neues Menü (z. B. testmenu) unter ./csweb-gui/_my/menues/101/Private_menus zu erstellen, ähnlich wie die dortigen Beispiele.
  • Das neue Menü soll den Benutzer nach einer bestimmten Information fragen (z. B. ein Task oder ein Dateiname).
  • Diese Information soll folgendermassen ... verarbeitet werden, sobald sie bestätigt wurde.
  • beachte guideline.txt
 
Hoi Gea

Habe zwei napp-it AiO SE (OmniOS) auf CS umgestellt. Das waren ESXi AiO Installationen. Sehe ich das richtig, dass wenn das CS Backend mal läuft, man das SE Backend deaktivieren muss? Hatte ellenlang mit gemini und schliesslich mit Claude rum gebastelt. Hatte diverse male mit dem CS Client erfolgreich die Server hinzufügen können. Dann bin ich wieder auf die SE Interfaces, dann ging das CS Backend nicht mehr. Glaube (hoffe omg) wir haben jetzt das SE Interface raus gepacht, und läuft jetzt alles. War das richtig so?

Atm sind die wichtigsten Dienste wieder oben, und beide Server im CS registriert. Zumindest sehe ich die Datasets beider Server in einer separaten VM, wo der CS Client installiert ist. Gute Güte, was ne Aktion. Aber keine Ahnung, ob ich alles richtig gemacht habe. Bin auf jeden Fall seit gestern Abend dran gewesen.

Läuft jetzt soweit. Aber muss ich mir da Sorgen machen, dass mir das irgendwann auf die Füsse fällt? Keine Ahnung was ich da alles durchgezogen habe mit der netten Gemini, war nicht besonders erfolgreich. Mit Claude konnte ich es dann irgendwie hin biegen, dass wenigstens CS jetzt läuft.

Gruss und danke
 
napp-it cs und se laufen nebeneinender auf unterschiedlichen Ports, auswählbar im Login Screen oder je im Hauptmenü. Wenn man mit KI was machen will, Claude nehmen und .zip mit csweb-gui hochladen. Wichtig ist dass man Claude eine Guidline und Behaviours zum Projekt liefert, sonst mach sie zuviel Unfug.

Im nächsten napp-it cs liefere ich guidline und behaviours für Claude reviews oder Erweiterungen z.B. (Habe gerade ein komplettes Code Review mit Claude gemacht). Nach dem Hochladen des Projekts, Claude anweisen Guidelines und Behaviours zu
beachten.
 

Anhänge

  • behaviours.txt
    24,1 KB · Aufrufe: 21
  • guideline.txt
    11,5 KB · Aufrufe: 18
  • paths.txt
    7,1 KB · Aufrufe: 17
  • readme.txt
    8,6 KB · Aufrufe: 20
Hoi. Hatte echt 20h rum gebastelt, bis napp-it CS auf beiden OmniOS Servern lief. Da gibt es wohl noch paar bugs, insbesondere dass das CS Backend nicht startet. Zitat Claude:

Hier ist eine saubere Zusammenfassung für den Forum-Post:





OmniOS: napp-it SE + CS 26.dev – Installationsprobleme und Lösung


Setup:



  • 2x OmniOS, je zwei NICs in drei verschiedenen Subnetzen
  • napp-it SE + CS 26.dev
  • Windows 7 CS-Client

Installation:

wget -O - www.napp-it.org/nappit | perl
# GUI: http://ip:81
# Dann: About > Update auf 26.dev


Problem 1: CS Backend startet nicht automatisch


Nach dem Update auf 26.dev liegt CS unter /var/web-gui/, aber Startup-Skripte und Pfade zeigen teilweise noch auf /var/csweb-gui/. Kein Autostart-Mechanismus greift. server.pl muss manuell gestartet werden:

PERL5LIB=/var/web-gui/data/wwwroot/cgi-bin/csweb-gui/data.new/cs_server/CGI \
perl /var/web-gui/data/wwwroot/cgi-bin/csweb-gui/data.new/cs_server/server.pl &


Problem 2: socket auth wrong


cfg/server.auth wird nicht automatisch angelegt. Der Windows CS-Client schickt einen Auth-Hash, aber server.pl hat nichts zum Vergleichen.


Fix: Auth-Key aus dem CS-Client manuell eintragen:

echo "DEIN_AUTH_KEY" > /var/web-gui/data/wwwroot/cgi-bin/csweb-gui/cfg/server.auth


Beide Fixes müssen nach jedem Neustart wiederholt werden bis gea das in den Autostart integriert.


Fragen an gea:


  1. Wie wird server.auth bei einer frischen CS-Installation korrekt angelegt?
  2. Wie überlebt der CS-Backend-Start einen Neustart auf OmniOS SE 26.dev?
  3. Ist data.new/ der korrekte Pfad oder fehlt ein Deploy-Schritt?



Für mich ist es ok, läuft alles. Nur zu Deiner Info
 
Zuletzt bearbeitet:
Bei der Napp-it Client /Server Edition kann ein Frontend viele Backend Server remote managen. Für Frontend und Backend kann man praktisch jedes OS von Free-BSD .. Windows einsetzen. Im Moment ist die Installation auf jedem OS leicht anders, da willl ich noch dran arbeiten um das zu vereinheitlichen

Ich bin aber gerade daran, napp-it cs komplett zu überarbeiten, schneller zu machen, extrem leicht erweiterbar mit eigenen Menüs (Claude KI friendly) mit asyncroner Realtime Anzeige und Inline Edit von Eigenschaften. Das hat Vorrang.
 
zu deiner Frage
Die Authentifizierung zwischen Frontend und Backends (localhost und weitere hosts) läuft über einen SHA256 Hash (csweb-gui/cfg/server.auth). Beim Start des Backend Services server.pl wird der angelegt falls er fehlt.

Dieser auth muss identisch zum Inhalt der Gruppendatei csweb-gui/_log/group/"member".txt sein. Beim Erweitern der Gruppe kann man den eingeben oder später per WinSCP bearbeiten/ syncron setzen falls unterschiedlich (es kommt dann ein auth Fehler)
 
Ja genau, den haben wir über einen cat Befehl auf den Servern selber per SSH eingetragen. Ist das in dem Fall normal, dass man das händisch machen muss? Die Datei war leer. Und der Backend Server wollte nicht automatisch starten, da waren wir auch eine Weile mit beschäftigt, dass der automatisch hoch kommt.
 
Die OmniOS + napp-it cs Kombination ist ist erst ganz neu unterstützt, bisher habe ich mich im Wesentlichen auf Linux und Windows konzentriert und die wichtigen Features der Solaris Edition portiert. Unter OmniOS sollte es zusammen mit aktuellem napp-it se so laufen, dass "/etc/init.d/napp-it restart" beide Varianten startet (napp-it se und napp-it cs frontend +backend), auch nach reboot da init.

Der nächste release candidate von napp-it cs hat auf jeden Fall ein komplettes code review erhalten mit mehr checks und features und einfachen Menü Erweiterungen mit audits per KI/Claude.
 
Code:
/etc/init.d/napp-it restart
ging bei mir überhaupt nicht. napp-it SE startete von Anfang an automatisch, für das CS Backend mussten wir rum basteln. Das konnten wir dann über

Code:
PERL5LIB=/var/web-gui/data/wwwroot/cgi-bin/csweb-gui/data.new/cs_server/CGI perl /var/web-gui/data/wwwroot/cgi-bin/csweb-gui/data.new/cs_server/server.pl &

starten. Die lokale CS Gui habe ich noch nicht hin gekriegt, ich kann atm nur per CS GUI aus einer separaten VM mit eigenem xampp darauf zugreifen. Blöderweise hat mich Claude wieder nach kurzer Zeit geblockt, also Zwangspause bis 19:50. :heul:

Aber spielt wirklich keine Rolle, für meine Zwecke reicht es so, und die lokale CS GUI kriege ich sicher auch noch zum laufen.
 
Im Prinzip sollte es ganz einfach sein, wenn napp-it se installiert ist, dann läuft ja bereits ein Apache den man nur erweitern muss, um das Frontend web-gui von cs zu bedienen. Das passiert wenn man im Topmenü ganz rechts oben auf csgui clickt. Danach hat man napp-it cs auf https://ip und napp-it se auf http://ip und https:/ip:82. Im Hauptmenü von se bzw cs kann man direkt switchen oder eins davon im login screen direkt anwählen.

1779393766383.png


Alternativ den beiliegenden mini_httpd starten und das web-gui Frontend auf http://ip:8080 aufrufen (Putty): sh /var/csweb-gui/startup/backend+web-gui/illumos/mhttpd/mini-httpd.sh

Claude ist schon irre gut, einfach das napp-it cs.zip hochladen, angeben was zu beachten ist (guideline und behaviours) und erklären was zu tun ist. Claude kann die Kommuniktion zwischen Frontend und Backend für verschiedene OS analysieren. Wenn fertig packt Claude das zip neu als 1:1 Ersatz. Dann gehts ans testen, ändern und neu versuchen.

Claude ist halt nicht kostenlos aber die 20 Euro monatlich für Claude Pro reichen meist und man kann napp-it cs damit zu seiner eigenen ganz speziellen web-gui erweitern, bei privaten Menüs in csweb-gui/_my auch update/downgrade sicher. Programmieren muss man eigentlich nicht können, lediglich ein Problem gut beschreiben, KI Fähigkeiten vs KI Ignoranz verstehen und danach das Ergebnis intensiv testen.
 
So, war jetzt die ganze Woche beschäftigt damit. CS bringe ich definitiv nicht zum laufen auf OmniOS. Entweder startet es nicht, oder es vergisst die Lizenz. Wir haben dann die Lizenz irgendwie per SSH rein gebastelt, aber nach einem Neustart ist die wieder vergessen. Und wenn die Lizenz mal drin ist, kommt beim Zugriff auf die ZFS Filesystems ein Fehler:

no End of Data markerIncomplete transfer (4343 Bytes)!:BoD:Micron1VM sharesmb off defaultMicron1VM sharenfs off defaultMicron1VM name Micron1VM -Micron1VM creation Wed Apr 22 0:12 2026 -Micron1VM used 275G -Micron1VM available 1.58T -Micron1VM referenced 96K -Micron1VM compressratio 1.70x -Micron1VM mounted yes -Micron1VM origin - -Micron1VM quota none defaultMicron1VM reservation none defaultMicron1VM volsize - -Micron1VM recordsize 128K defaultMicron1VM mountpoint /Micron1VM defaultMicron1VM compression off defaultMicron1VM atime on defaultMicron1VM readonly off defaultMicron1VM snapdir hidden defaultMicron1VM aclmode passthrough localMicron1VM aclinherit passthrough localMicron1VM canmount on defaultMicron1VM version 5 -Micron1VM utf8only off -Micron1VM normalization none -Micron1VM casesensitivity sensitive -Micron1VM nbmand off defaultMicron1VM refquota none defaultMicron1VM refreservation 174G localMicron1VM guid 7781153583391316830 -Micron1VM primarycache all defaultMicron1VM secondarycache all defaultMicron1VM dedup off defaultMicron1VM sync standard defaultMicron1VM clones - -Micron1VM encryption off defaultMicron1VM keylocation none defaultMicron1VM keyformat none defaultMicron1VM pbkdf2iters 0 defaultMicron1VM encryptionroot - -Micron1VM keystatus - -Micron1VM special_small_blocks 0 defaultMicron1VM/Micron1VM sharesmb off localMicron1VM/Micron1VM sharenfs on localMicron1VM/Micron1VM name Micron1VM/Micron1VM -Micron1VM/Micron1VM creation Wed Apr 22 0:13 2026 -Micron1VM/Micron1VM used 101G -Micron1VM/Micron1VM available 1.41T -Micron1VM/Micron1VM referenced 101G -Micron1VM/Micron1VM compressratio 1.70x -Micron1VM/Micron1VM mounted yes -Micron1VM/Micron1VM origin - -Micron1VM/Micron1VM quota none defaultMicron1VM/Micron1VM reservation none defaultMicron1VM/Micron1VM volsize - -Micron1VM/Micron1VM recordsize 128K defaultMicron1VM/Micron1VM mountpoint /Micron1VM/Micron1VM defaultMicron1VM/Micron1VM compression lz4 localMicron1VM/Micron1VM atime off localMicron1VM/Micron1VM readonly off defaultMicron1VM/Micron1VM snapdir hidden localMicron1VM/Micron1VM aclmode passthrough localMicron1VM/Micron1VM aclinherit passthrough localMicron1VM/Micron1VM canmount on defaultMicron1VM/Micron1VM version 5 -Micron1VM/Micron1VM utf8only on -Micron1VM/Micron1VM normalization formD -Micron1VM/Micron1VM casesensitivity insensitive -Micron1VM/Micron1VM nbmand on localMicron1VM/Micron1VM refquota none defaultMicron1VM/Micron1VM refreservation none defaultMicron1VM/Micron1VM guid 3262054902145190103 -Micron1VM/Micron1VM primarycache all defaultMicron1VM/Micron1VM secondarycache all defaultMicron1VM/Micron1VM dedup off defaultMicron1VM/Micron1VM sync standard defaultMicron1VM/Micron1VM clones - -Micron1VM/Micron1VM encryption off defaultMicron1VM/Micron1VM keylocation none defaultMicron1VM/Micron1VM keyformat none defaultMicron1VM/Micron1VM pbkdf2iters 0 defaultMicron1VM/Micron1VM encryptionroot - -Micron1VM/Micron1VM keystatus - -Micron1VM/Micron1VM special_small_blocks 0 defaultSAS1 sharesmb off defaultSAS1 sharenfs off defaultSAS1 name SAS1 -SAS1 creation Wed Nov 5 16:21 2025 -SAS1 used 2.05T -SAS1 available 9.57T -SAS1 referenced 96K -SAS1 compressratio 1.54x -SAS1 mounted yes -SAS1 origin - -SAS1 quota none defaultSAS1 reservation none defaultSAS1 volsize - -SAS1 recordsize 128K defaultSAS1 mountpoint /SAS1 defaultSAS1 compression off defaultSAS1 atime on defaultSAS1 readonly off defaultSAS1 snapdir hidden defaultSAS1 aclmode passthrough localSAS1 aclinherit passthrough localSAS1 canmount on defaultSAS1 version 5 -SAS1 utf8only off -SAS1 normalization none -SAS1 casesensitivity sensitive -SAS1 nbmand off defaultSAS1 refquota none defaultSAS1 refreservation 1.06T localSAS1 guid 7248805516651032245 -SAS1 primarycache all defaultSAS1 secondarycache all defaultSAS1 dedup off defaultSAS1 sync standard defaultSAS1 clones - -SAS1 encryption off defaultSAS1 keylocation none defaultSAS1 keyformat none defaultSAS1 pbkdf2iters 0 defaultSAS1 encryptionroot - -SAS1 keystatus - -SAS1 special_small_blocks 0 defaultSAS1/SAS1 sharesmb off localSAS1/SAS1 sharenfs on localSAS1/SAS1 name SAS1/SAS1 -SAS1/SAS1 creation Wed Nov 5 23:16 2025 -SAS1/SAS1 used 1015G -SAS1/SAS1 available 8.51T -SAS1/SAS1 referenced 1015G -

Ich belasse es jetzt dabei. Auf die SE GUIs komme ich drauf, und für CS habe ich halt eine eigene VM. Muss halt so reichen.
 
no End of Data marker Incomplete transfer (4343 Bytes)!:BoD:
Das bedeutet, dass das Frontend Verbindung hat, vom Backend aber unvollständige Daten zurück erhält.
Mit Lizenz hat das nichts zu tun, da single host bei beiden Varianten kostenlos (3 host bei cs noncommercial)

Da die nächste rc vor der Tür steht, diese dann versuchen.
Da wird auch der Port der Socket Verbindung von 63000 auf 45000 geändert (wg Inkompatibilität mit Hyper-V)
 
Auf der Standalone CS habe ich aber keine Probleme mit dem Fehler. Ja, habe da keinen Stress. Administriere ich das ganze halt in einer VM. Wollte eigentlich nur mal antesten wie das läuft mit ZFS sync, aber das ist dann total ausgeartet. Hätte eigentlich noch ganz andere Baustellen offen.
 
Haha, ja, danke @gea! Mit Claude Code habe ich es innert 2-3h gefixt. SE ist erreichbar über http:81, CS über https:82, die Lizenz überlebt Neustart, der ZFS Filesystems Fehler ist ausgemerzt.

Gute Güte, dachte ich könne mir die 20$ sparen, sei eh nur eine kleine Sache. Ganze Woche verplämpert, und mir ist extrem das Gesicht eingeschlafen mit dem Gratis Prompt, den ganzen Zwangspausen und 40h in nano rum wuseln. Claude Code war/ist Premiere für mich, aber was soll ich sagen? Sehr geil, ich muss mir das Grinsen wohl operativ entfernen lassen!

Noch ein Hinweis von Claude wegen der ZFS Filesystem Geschichte/dem Fehler:

Für deine Dokumentation – dieser Fix sollte in die behaviours.txt unter Section 6 (Response Transmission) als bekanntes Problem/Fix eingetragen werden. Willst du das Claude Code machen lassen?




Please add a note to /var/csweb-gui/data/wwwroot/cgi-bin/admin-wlib.pl
changelog header about this fix, and also summarize the fix as a new
entry in behaviours.txt under Section 6 (Response Transmission).

Das wäre dann für zukünftige Sessions dokumentiert – auch wenn du wieder bei Claude Free landest oder neu anfängst.

Vielleicht hast Du ja grad noch eine Idee, was ich testen könnte/muss. Aber nach mir läuft jetzt alles soweit.
 
Zuletzt bearbeitet:
Guidelines und Behaviours sind der Schlüssel um Claude dazu zu bringen, sinnvolle Sachen zu machen. Das schöne daran ist, dass Claude selber diese Dateien pflegen kann und Erkenntnisse eintragen kann, topaktuelle Doku quasi nebenher.

Das ist auch der Grund, dass es wenig Sinn macht, diese Dateien manuell zu pflegen, zumal im nächsten rc vieles anders sein wird.

ps
Ich habe vor ein/zwei Jahren KI genutzt um mir Powershell anzueignen. War mehr schlecht als recht. Der erste KI Vorschlag war fast generell funktionsunfähiig. Erst mit mehrmaliger Rückmeldung von Fehlern kam was brauchbares am Ende heraus.

Claude.ai ist da ein ganz anderes Kaliber (lokales Claude Code CLI oder Claude Extension in Chrome muss noch zulegen bis brauchbar). Es kann den Client Server Datenverkehr mit mehreren OS analysieren und macht, saubere Guidline und Behaviours vorausgesetzt, relativ wenig Fehler, viel Testen ist dennoch angesagt. Das schöne ist dann, man kann in normaler Sprache mitteilen was nicht gut (genug) ist und Claude macht Vorschläge und Änderungen und man hat als Ergebnis immer eine 1:1 lauffähige neue Version mit Dokumentation. (Guidline-> protokolliere neue Vorgaben und Regeln)

Ich sehe KI unterstützte Softwareentwicklung jetzt, wie die Welt drei Jahre nach Erfindung der Dampfmaschine. Da war klar dass Pferdepfleger kein Beruf mit Zukunft ist und jeder dafür geeignete Betrieb der nicht darauf umgestellt hat, schnell nicht mehr konkurrenzfähig war - auch wenn Pferde am Anfang vielleicht noch zuverlässiger und berechenbarer waren.

Signed-off-by: xxxx
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh