MC4Y-Produktivitätssuite – Installation auf dem Mac
====================================================

Freie Software (GPL-3.0-or-later) von MY COACHING FOR YOU. English version: README.txt
Die Gesamtanleitung für alle Systeme steht in INSTALLATION.txt im Hauptordner des Pakets.

Hinweis: Die Einzelplatz-Installation ist auf einem echten Mac erprobt (Oktober 2026). Der Server-Betrieb
(--server) ist noch nicht erprobt. Über Rückmeldungen freue ich mich.


ERST ÜBERLEGEN: BRAUCHE ICH DIE SUITE?
  Möchten Sie die Werkzeuge nur allein nutzen und Ihre Arbeit als Dateien speichern, ist „Nur im Browser“
  der einfachere Weg: Datei „mc4y-werkzeuge.zip“ herunterladen, doppelklicken, im neuen Ordner
  „index.html“ doppelklicken – fertig. Kein Terminal, kein Kennwort, kein PHP; das geht auf jedem Mac,
  auch mit älterem macOS. Diese Anleitung hier ist für die ganze Suite (mit Anmeldung, gemeinsamer Ablage,
  Kalender, Wiki, Aufgaben und täglicher Sicherung).


WAS SIE BRAUCHEN
  - macOS 12 (Monterey) oder neuer – Intel-Mac (zum Beispiel MacBook Pro 2019) oder Mac mit Apple-Chip.
    So sehen Sie nach: Apple-Symbol (der kleine Apfel) ganz oben links › „Über diesen Mac“. Dort steht zum Beispiel
    „Version 14.7“; die erste Zahl muss 12 oder größer sein. Bei 10.15 oder 11: im Apple-Menü unter
    „Systemeinstellungen“ › „Softwareupdate“ nachsehen, ob es kostenlos eine neuere Fassung gibt – sonst
    „Nur im Browser“ nutzen.
  - Das Kennwort, mit dem Sie sich am Mac anmelden (Ihr Konto muss Administrator sein; beim ersten Konto
    eines Macs ist das immer so).
  - Internet während der Installation: Sie lädt PHP herunter (etwa 15 MB). PHP ist die Programmiersprache,
    in der die Suite läuft. Homebrew, Xcode oder andere Entwicklerwerkzeuge brauchen Sie NICHT.
  - Etwa 15 Minuten Zeit und 1 GB freien Speicherplatz.


DAS TERMINAL IN ZWEI SÄTZEN
  Das Terminal ist ein Fenster, in das man Befehle tippt; Sie brauchen nur zwei, die Sie unten kopieren
  können (markieren, cmd + C; ins Terminal klicken, cmd + V; dann die Eingabetaste ⏎ drücken).
  Fragt es nach einem Kennwort, sehen Sie beim Tippen keine Zeichen – das ist so gewollt; einfach tippen
  und die Eingabetaste drücken.
  Die Skripte schreiben Deutsch oder Englisch – wie Ihr Mac eingestellt ist. Ist Ihr Mac auf Englisch
  eingestellt, hängen Sie an den Befehl ein Leerzeichen und --lang de an; dann erscheinen die Meldungen
  deutsch, so wie hier zitiert.


SCHRITT FÜR SCHRITT

Teil 1: Paket auspacken
  1. Laden Sie „mc4y-suite.zip“ herunter (Website von MY COACHING FOR YOU, Bereich „Experimentell – zum
     Ausprobieren“).
  2. Öffnen Sie den Finder und klicken Sie links auf „Downloads“.
  3. Sehen Sie „mc4y-suite.zip“, doppelklicken Sie darauf.
     Sie sehen jetzt einen Ordner „MC4Y-Suite-“ mit der Fassung dahinter, zum Beispiel „MC4Y-Suite-0.4.15“.
     (Safari packt oft schon selbst aus – dann ist der Ordner schon da.) Lassen Sie das Finder-Fenster offen.

Teil 2: Terminal öffnen
  4. Drücken Sie cmd + Leertaste, tippen Sie „Terminal“ und drücken Sie die Eingabetaste.
     Sie sehen jetzt ein Fenster mit einer Zeile wie „anna@MacBook-Pro ~ %“.

Teil 3: In den Paket-Ordner wechseln
  5. Tippen Sie cd und ein Leerzeichen. Noch NICHT die Eingabetaste drücken.
  6. Ziehen Sie den Ordner „MC4Y-Suite-…“ aus dem Finder ins Terminal-Fenster und lassen Sie ihn los.
     Sie sehen jetzt zum Beispiel:  cd /Users/anna/Downloads/MC4Y-Suite-0.4.15
  7. Drücken Sie die Eingabetaste. Fragt macOS, ob „Terminal“ auf den Ordner „Downloads“ zugreifen darf:
     „OK“.

Teil 4: Installieren
  8. Kopieren Sie diesen Befehl ins Terminal und drücken Sie die Eingabetaste:

       bash install/macos/installieren.command

     Sie sehen jetzt „Die Installation braucht Administratorrechte …“ und „Password:“.
  9. Tippen Sie Ihr Mac-Kennwort (es erscheinen keine Zeichen) und drücken Sie die Eingabetaste.
 10. Bei „Datenordner [/Library/Application Support/MC4Y-Suite-Daten]:“ einfach die Eingabetaste drücken.
 11. Bei „Desktop-Taskleiste für … gleich mit einrichten? [J/n]“ die Eingabetaste drücken (= ja).
     Die Desktop-Taskleiste ist ein kleines Programm, das die Werkzeuge der Suite immer griffbereit hält –
     auch wenn kein Browser offen ist. Sie braucht Python (siehe „Häufige Probleme“); fehlt es, läuft die
     Suite trotzdem, und das Skript erklärt, wie Sie die Taskleiste nachholen.
 12. Bei „Soll die Taskleiste beim Anmelden am Mac automatisch starten? [J/n]“ die Eingabetaste drücken
     (= ja) – oder n tippen, wenn Sie sie lieber selbst starten.
 13. Bei „Installation jetzt ausführen?“ die Eingabetaste drücken.
 14. Warten (1 bis 5 Minuten). Zuerst wird PHP heruntergeladen und geprüft, dann die Suite eingerichtet.
 15. Sie sehen jetzt „Fertig. Adresse: http://127.0.0.1:8090/“, und der Browser zeigt „Suite einrichten“.
     Legen Sie dort Ihr erstes Konto an (Name, Anmeldename, Kennwort mit mindestens 10 Zeichen) und klicken
     Sie auf „Einrichten und anmelden“.
 16. Danach die Taskleiste starten: cmd + Leertaste, „MC4Y“ tippen, „MC4Y Taskleiste“ wählen, Eingabetaste.
     Sie erscheint unten links auf dem Bildschirm und fragt nach Anmeldename und Kennwort – dieselben wie in
     Schritt 15. Fragt macOS nach dem Schlüsselbund: „Immer erlauben“. Ab dem nächsten Anmelden am Mac
     startet sie von selbst (wenn Sie Schritt 12 mit ja beantwortet haben).
 17. Zurück im Terminal: Eingabetaste drücken, dann das Terminal mit cmd + Q schließen. Suite und
     Taskleiste laufen weiter.

Die Suite startet ab jetzt bei jedem Hochfahren von selbst und ist nur auf diesem Mac erreichbar:
http://127.0.0.1:8090/.


SO STARTEN SIE DIE SUITE UND DIE TASKLEISTE SPÄTER
  Die Installation legt zwei Programme mit Symbol an – wie jedes andere Mac-Programm:
    „MC4Y-Suite“       öffnet die Suite im Browser            (Ordner „Programme“)
    „MC4Y Taskleiste“  startet die Desktop-Taskleiste          (Ordner „Programme“ in Ihrem Benutzerordner)
  So finden Sie sie:
    - Launchpad: im Dock auf das Symbol mit den bunten Kacheln klicken (unter macOS 26 heißt es „Apps“)
      und auf „MC4Y-Suite“ bzw. „MC4Y Taskleiste“ klicken.
    - Spotlight: cmd + Leertaste, „MC4Y“ tippen, den Eintrag wählen und die Eingabetaste drücken.
    - Finder › Gehe zu › Programme (bzw. Gehe zu › Benutzerordner › Programme für die Taskleiste).
  Tipp: Ziehen Sie die Symbole aus dem Launchpad oder Finder ins Dock – dann reicht ein Klick.

  Wichtig zum Unterschied: In der Suite gibt es unter „Ihr Konto“ › „Darstellung“ auch eine Taskleiste
  IM BROWSER. Sie gehört zum Browserfenster und verschwindet, wenn Sie das Fenster schließen. Die
  Desktop-Taskleiste („MC4Y Taskleiste“) ist ein eigenes Programm und bleibt offen – wie unter Windows.
  Beenden: ✕ am Ende der Leiste.

  Start beim Anmelden ein- oder ausschalten:
    - in der Taskleiste: auf 🔍 klicken, unten „Einstellungen“ › Häkchen „Beim Anmelden am Rechner starten“ ›
      „Speichern“;
    - ab macOS 13 außerdem: Apple-Menü › Systemeinstellungen › Allgemein › Anmeldeobjekte, Bereich
      „Im Hintergrund erlauben“ (dort lässt er sich ebenfalls ausschalten).
  Die Suite selbst braucht keinen Start beim Anmelden – sie läuft immer im Hintergrund.


SO PRÜFEN SIE, OB ES GEKLAPPT HAT
  1. Im Browser http://127.0.0.1:8090/ öffnen: Sie sehen die Anmeldeseite der Suite.
  2. Den Mac neu starten und die Adresse noch einmal öffnen: Die Anmeldeseite ist wieder da.
  3. In der Suite „Verwaltung“ › „Systemprüfung“: Die meisten Zeilen sind grün.
  4. „Verwaltung“ › „Sicherung“ › „Jetzt sichern“, danach in der neuen Zeile „Prüfen“.


HÄUFIGE PROBLEME
  - „No such file or directory“ / „command not found“: Sie sind nicht im Paket-Ordner – Schritte 5 bis 7
    wiederholen.
  - „Sorry, try again.“: Kennwort falsch; langsam noch einmal tippen (Feststelltaste beachten).
  - „… is not in the sudoers file“: Ihr Konto ist kein Administrator. Mit einem Administratorkonto anmelden
    oder „Nur im Browser“ nutzen.
  - „Operation not permitted“: Apple-Menü › „Systemeinstellungen“ › „Datenschutz & Sicherheit“ › „Dateien und
    Ordner“ › bei „Terminal“ den Ordner „Downloads“ einschalten; dann Schritt 8 wiederholen.
  - „Dieser Mac hat macOS … Die Suite braucht macOS 12“: macOS aktualisieren oder „Nur im Browser“ nutzen.
  - „PHP ließ sich nicht herunterladen“: Internetverbindung prüfen, Schritt 8 wiederholen. Ohne Internet: die
    in der Meldung genannte Datei auf einem anderen Rechner laden und in einen neuen Ordner „voraussetzungen“
    im Paket-Ordner legen.
  - Beim Doppelklick auf eine Datei des Pakets meldet macOS „Apple konnte nicht überprüfen …“ oder „… kann
    nicht geöffnet werden“: Die Dateien des Pakets nicht per Doppelklick starten, sondern wie oben beschrieben
    im Terminal mit „bash …“.
  - „nicht die nötigen Zugriffsrechte“ / „permission denied“: Kommt beim Doppelklick, wenn das Paket über
    Nextcloud, einen Cloud-Ordner oder einen Windows-Rechner kam. Mit „bash …“ wie oben gestartet, stört es nicht.
  - „Für die Taskleiste fehlt Python …“: Die Suite läuft trotzdem. Python installieren: im Browser
    https://www.python.org/downloads/macos/ öffnen, den neuesten „macOS 64-bit universal2 installer“ laden,
    im Ordner „Downloads“ doppelklicken und den Schritten folgen. Danach die Taskleiste nachholen – wie unter
    „Aktualisieren“, aber mit:  bash install/macos/installieren.command --aktualisieren --taskleiste
  - Die Taskleiste verschwindet, wenn Sie den Browser schließen: Das ist die Taskleiste IM BROWSER (siehe
    „So starten Sie … später“). Starten Sie stattdessen das Programm „MC4Y Taskleiste“.


AKTUALISIEREN
  Neues „mc4y-suite.zip“ laden und die Schritte 1 bis 7 wiederholen, dann statt Schritt 8:

       bash install/macos/installieren.command --aktualisieren

  Kennwort tippen. Ist die Desktop-Taskleiste noch nicht eingerichtet, fragt das Skript danach (Schritte 11
  und 12); ist sie schon da, fragt es, ob sie gleich mit aktualisiert werden soll. Dann „Aktualisierung jetzt
  ausführen?“ mit der Eingabetaste bestätigen. Inhalte, Konten und Einstellungen bleiben erhalten; die
  Datenbank wird vorher gesichert (die letzten 10 Sicherungen bleiben in <Datenordner>/_update-sicherung).
  Das Programm „MC4Y-Suite“ im Ordner „Programme“ legt die Aktualisierung an bzw. erneuert es – auch bei
  Installationen, die es noch nicht hatten.


ENTFERNEN
  Terminal öffnen (Schritt 4), diesen Befehl kopieren und die Eingabetaste drücken:

       bash "/Library/Application Support/MC4Y-Suite/install/macos/deinstallieren.command"

  Kennwort tippen; bei „Die MC4Y-Produktivitätssuite deinstallieren? [j/N]“ j tippen und die Eingabetaste
  drücken. Entfernt werden die Suite, das Programm „MC4Y-Suite“, ihr eigenes PHP, die Dienste und das
  versteckte Systemkonto. Ihre Inhalte bleiben in /Library/Application Support/MC4Y-Suite-Daten. Sollen auch
  sie weg: an den Befehl ein Leerzeichen und --daten-loeschen anhängen und auf Nachfrage LOESCHEN tippen.
  Die Desktop-Taskleiste gehört zu Ihrem Benutzerkonto und bleibt. Entfernen (ohne Kennwort):

       bash ~/"Library/Application Support/MC4Y/Taskleiste/deinstallieren-macos.command"

  Das entfernt das Programm „MC4Y Taskleiste“, den Start beim Anmelden und die Programmdateien.


FÜR FACHLEUTE

PHP
  Standard ist das eigene PHP der Suite: PHP 8.4 als einzelne, fertig übersetzte Datei von static-php-cli
  (https://static-php.dev, Erweiterungssatz „common“ – u. a. pdo_sqlite mit FTS5, mbstring, openssl,
  fileinfo, zip, curl, dom; ohne sodium, ldap und opcache). Das Skript lädt die Fassung, deren SHA-256 fest
  im Skript steht (Intel: x86_64, Apple-Chip: aarch64; erkannt über hw.optional.arm64, auch unter Rosetta),
  prüft sie und legt sie nach /Library/Application Support/MC4Y-Suite-PHP/<Fassung>/bin/php (root:wheel,
  755; HERKUNFT.txt mit Quelle und Prüfsumme). Startet die Datei nicht, signiert das Skript sie ad hoc
  (codesign --sign -). Das Programm verlangt mindestens macOS 12.0. Ohne Internet: Datei
  php-<Fassung>-cli-macos-<x86_64|aarch64>.tar.gz in den Ordner „voraussetzungen“ des Pakets legen.
  Ohne sodium speichert die Suite Kennwörter mit Argon2id aus PHP selbst bzw. mit bcrypt.
  --php-quelle homebrew nimmt PHP aus Homebrew (bietet „brew install php“ als Ihr Benutzer an),
  --php <Pfad> ein bestimmtes PHP ab 8.2. Beim Aktualisieren bleibt das bisherige PHP; das eigene PHP wird
  auf die Fassung des Pakets gebracht (frühere Fassungen danach entfernt); mit --php-quelle eigen bzw.
  homebrew lässt sich wechseln. Wichtig beim Wechsel: Kennt das neue PHP Argon2id nicht, können sich Konten
  mit Argon2id-Kennwort nicht mehr anmelden – das Skript weist darauf hin.

Aufruf und Optionen
  bash install/macos/installieren.command --probelauf     zeigt nur, was geschähe (ohne Kennwort)
  bash install/macos/installieren.command --hilfe         alle Angaben
  --daten <Ordner>  --programm <Ordner>  --port <Nr>  --auswahl <auswahl.txt>  --still  --ja  --ohne-browser
  --taskleiste | --ohne-taskleiste   Desktop-Taskleiste ohne Rückfrage mit einrichten bzw. nicht anbieten
  --ohne-autostart                   Desktop-Taskleiste ohne Start beim Anmelden
  --lang de|en      Sprache der Meldungen (auch --sprache); Standard: bevorzugte Sprache des angemeldeten Benutzers
                    in macOS (AppleLanguages), sonst LC_ALL/LANG; auch über die Umgebungsvariable MC4Y_SPRACHE
  Das Skript holt sich die Administratorrechte selbst (sudo) und gibt die Sprache dabei weiter; „sudo bash …“ geht
  ebenso. Alle Skripte in install/macos kennen --lang; KURZANLEITUNG.txt und Protokoll entstehen in derselben Sprache.

Was das Skript einrichtet (Einzelplatz)
  1. Systemkonto mc4y-systemuser: versteckt (IsHidden), ohne Anmeldung (UserShell /usr/bin/false), Kennung 400–499.
  2. Programm   /Library/Application Support/MC4Y-Suite (Besitzer root); konfig.php (root:mc4y-systemuser, 640)
     bleibt bei Updates. Nicht gewählte Werkzeuge stehen in auswahl.txt und bleiben bei Updates weg.
     Daten      nach Rückfrage, Vorschlag /Library/Application Support/MC4Y-Suite-Daten (mc4y-systemuser, 700)
     PHP        /Library/Application Support/MC4Y-Suite-PHP (eigenes PHP, siehe oben)
     Protokolle /Library/Logs/MC4Y-Suite (server.log, sicherung.log; begrenzt über /etc/newsyslog.d/mc4y-suite.conf)
     Angaben    /etc/mc4y-suite/installation.conf (PHP_BIN, PHP_QUELLE …)
  3. launchd-Dienst /Library/LaunchDaemons/de.my-coaching4you.mc4y-suite.plist: PHP-eigener Webserver unter
     mc4y-systemuser, nur unter http://127.0.0.1:8090/, startet beim Hochfahren und nach Abstürzen neu.
  4. Tägliche Sicherung um 02:30 (…sicherung.plist, „php app/cli.php sicherung --auto“). Schlief der Mac,
     holt macOS sie beim Aufwachen nach; war er ausgeschaltet, entfällt sie bis zur nächsten Nacht.
  5. Start, Prüfung, KURZANLEITUNG.txt und Installationsprotokoll im Programmordner, Browser öffnet die
     Einrichtung (erstes Konto, ohne Code, weil auf demselben Rechner).
  6. Programm /Applications/MC4Y-Suite.app (root:wheel; Startprogramm öffnet die Adresse mit /usr/bin/open,
     LSUIElement, Symbol mc4y-suite.icns, Anzeigename deutsch/englisch über InfoPlist.strings); bei jeder
     Installation und Aktualisierung neu geschrieben und bei LaunchServices angemeldet (lsregister).
  7. Auf Wunsch die Desktop-Taskleiste für den Benutzer, der das Skript gestartet hat (SUDO_USER): Taskleisten-
     Paket aus public/client/mc4y-taskleiste.zip mit voreinstellung.json (Adresse dieser Suite), dann dessen
     installieren-macos.command als dieser Benutzer (sudo -u … -H) mit --autostart bzw. --ohne-autostart.
     Ergebnis: ~/Applications/MC4Y Taskleiste.app, Programm in ~/Library/Application Support/MC4Y/Taskleiste,
     LaunchAgent ~/Library/LaunchAgents/de.my-coaching4you.mc4y-taskleiste.plist (RunAtLoad, Aqua). Der
     grafische Installer übergibt --ohne-taskleiste und richtet die Taskleiste selbst ein, wenn gewählt.

Server-Betrieb (--server) – Grundgerüst, noch nicht erprobt
  Braucht Homebrew (nginx, PHP-FPM). Schreibt einen PHP-FPM-Pool (etc/php/<Fassung>/php-fpm.d/mc4y-suite.conf),
  einen nginx-Eintrag (etc/nginx/servers/mc4y-suite.conf) und ein selbst signiertes Zertifikat
  (/etc/mc4y-suite/tls). Die Dienste starten Sie selbst als root:
    sudo brew services restart php
    sudo brew services restart nginx
  Für mehrere Benutzer im Netz ist ein Windows- oder Linux-Server die erprobtere Wahl.

Sicherung zurückspielen
  bash "/Library/Application Support/MC4Y-Suite/install/macos/wiederherstellen.command" [<Name oder Pfad>]
  Ohne Angabe zeigt es die vorhandenen Sicherungen und fragt; der bisherige Inhalt wandert nach
  <Datenordner>/_vor-wiederherstellung_<Zeit>.

Datenordner verschieben (ein eigenes Skript gibt es unter macOS noch nicht)
  Suite anhalten (sudo launchctl bootout system/de.my-coaching4you.mc4y-suite), Ordner mit
  „sudo ditto <alt> <neu>“ kopieren, in konfig.php den Eintrag 'daten' ändern und aus einem entpackten Paket
  „bash install/macos/installieren.command --aktualisieren“ ausführen – das schreibt den Dienst neu und
  startet die Suite. Den alten Ordner danach selbst löschen.

Deinstallieren für Fachleute
  … deinstallieren.command [--konto-behalten] [--daten-loeschen] [--probelauf] [--ja]
  Entfernt Dienste, Programm, eigenes PHP, Protokolle, /etc/mc4y-suite und das Konto; Homebrew bleibt.
