MarsEdit + MAMP PRO (HTTPS) lokal einrichten – Schritt-für-Schritt
Ziel: MarsEdit auf deinem MacBook (Client) soll sich sicher per HTTPS mit deiner lokalen WordPress-Site auf dem Mac mini (Server mit MAMP PRO) verbinden. Wir verwenden mkcert, um vertrauenswürdige, lokale Zertifikate zu erstellen.
Setup aus diesem Leitfaden:
Server: Mac mini mit MAMP PRO (Hostcodekeks.test
)
Client: MacBook Air (von dort aus MarsEdit)
DNS/Hosts:codekeks.test → 127.0.0.1
(lokal) bzw. auf Client passend eingetragen
Inhaltsverzeichnis
- Voraussetzungen
- Überblick: Was passiert technisch?
- mkcert auf dem Server installieren & CA vertrauen
- Host-Zertifikat für
codekeks.test
erzeugen - Zertifikat in MAMP PRO einbinden
- WordPress-URLs auf HTTPS setzen
- HTTPS testen (curl)
- mkcert-CA auf den Client kopieren und vertrauen
- Erneut testen – jetzt vom Client
- MarsEdit korrekt verbinden
- Ports & IPv6 beachten
- Typische Stolperfallen & Troubleshooting
- Security-Hinweise
- Kurze Checkliste (Copy & Paste)
1) Voraussetzungen
- macOS (Server & Client)
- MAMP PRO auf dem Server (Mac mini)
- Homebrew auf dem Server installiert
- MarsEdit auf dem Client (MacBook)
- Schreibrechte auf beide Systeme (GUI/Terminal)
2) Überblick: Was passiert technisch?
- mkcert erstellt eine eigene, lokale CA und Host-Zertifikate, die für deinen lokalen Domainnamen (z. B.
codekeks.test
) ausgestellt sind. - Diese CA muss auf allen Geräten, die deine Site per HTTPS aufrufen (Server, Client), als vertrauenswürdig eingetragen sein.
- MAMP PRO bekommt Zertifikat (
.crt/.pem
) + Key (.key/.pem
) deines Hosts. - MarsEdit spricht typischerweise XML-RPC (
/xmlrpc.php
) über HTTPS an.
3) mkcert auf dem Server (Mac mini) installieren & CA vertrauen
brew install mkcert
mkcert -install
Wenn der -install
Schritt meckert („no user interaction was possible“), dann am Mac mini direkt (GUI) die CA eintragen:
- Speicherort der CA finden:
mkcert -CAROOT
open "$(mkcert -CAROOT)"
Dort liegt rootCA.pem
.
- Schlüsselbundverwaltung öffnen (Programme → Dienstprogramme)
→ System auswählen → Kategorie Zertifikate
→ rootCA.pem
reinziehen, doppelklicken → Vertrauen: Immer vertrauen (SSL)
CLI-Variante (lokal, nicht headless):
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain \
"$(mkcert -CAROOT)/rootCA.pem"
4) Host-Zertifikat für codekeks.test
erzeugen
Wechsle in deinen Projektordner (Beispiel):
cd /Applications/MAMP/htdocs/codekeks.test
mkcert -key-file codekeks.test.key -cert-file codekeks.test.crt \
codekeks.test localhost 127.0.0.1 ::1
Ergebnis:
codekeks.test.crt
(Zertifikat)codekeks.test.key
(Privater Schlüssel)
Achte darauf, genau die Hostnamen zu nennen, die du wirklich nutzt (ohne/mit
www
, IPv6, localhost).
5) Zertifikat in MAMP PRO einbinden
1) MAMP PRO → Hosts → codekeks.test
→ SSL aktivieren
2) Certificate file: codekeks.test.crt
3) Key file: codekeks.test.key
4) Server neu starten
Falls MAMP Dateiendungen erzwingt:
.crt
/.key
sind ok. (.pem
ginge ebenfalls.)
6) WordPress-URLs auf HTTPS setzen
Option A (empfohlen, eindeutig): in wp-config.php
fest verdrahten:
define('WP_HOME', 'https://codekeks.de');
define('WP_SITEURL', 'https://codekeks.de');
Option B: in der Datenbank (wp_options
→ siteurl
& home
) auf https://codekeks.de
stellen.
7) HTTPS auf dem Server testen
curl -Iv https://codekeks.de/xmlrpc.php
Erwartung:
- TLS-Handshake ohne Fehlermeldung
- HTTP-Status oft
405 Method Not Allowed
→ gut (zeigt: XML-RPC existiert & ist erreichbar)
8) mkcert-CA auf den Client (MacBook) kopieren & vertrauen
Auf dem Server (Mac mini):
cp "$(mkcert -CAROOT)/rootCA.pem" ~/Downloads/macmini-mkcert-rootCA.pem
scp ~/Downloads/macmini-mkcert-rootCA.pem andy@MacBookAir.local:~/Downloads/
Auf dem Client (MacBook Air) – GUI-Weg:
- Schlüsselbundverwaltung → System → Zertifikate
~/Downloads/macmini-mkcert-rootCA.pem
hineinziehen- Doppelklick → Vertrauen: Immer vertrauen (SSL)
CLI-Weg (Client):
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain \
~/Downloads/macmini-mkcert-rootCA.pem
9) Erneut testen – vom Client
curl -Iv https://codekeks.de/xmlrpc.php
Erwartet: Kein „unable to get local issuer certificate“.
Wieder ist 405 Method Not Allowed
ein gutes Zeichen.
Tipp (nur für Tests):
Falls DNS/IPv6 querfunkt, kannst du IPv4 erzwingen:
„`bash
curl -Iv –resolve codekeks.test:443:192.168.0.85 https://codekeks.de/xmlrpc.php
„`
Oder/etc/hosts
auf dem Client:
192.168.0.85 codekeks.test
10) MarsEdit korrekt verbinden
- Blog URL: exakt so, wie das Zertifikat ausgestellt ist:
https://codekeks.de
(ohne www
)
- Port: Wenn MAMP nicht auf 443 lauscht (z. B. 8889), dann:
https://codekeks.de:8889
MarsEdit verwendet bei WordPress standardmäßig XML-RPC. Stelle sicher, dass /xmlrpc.php nicht von Security-Plugins blockiert wird (s. Troubleshooting).
11) Ports & IPv6 beachten
- MAMP PRO → Ports:
Wenn möglich, stelle 80/443 ein (klassisch).
Ansonsten den HTTPS-Port in der MarsEdit-URL mit angeben.
- IPv6:
Dein Client nimmt ggf. IPv6 bevorzugt. Prüfe, ob codekeks.test
im Netz korrekt auf deinen Server zeigt.
Für lokale Entwicklung ist oft IPv4 + /etc/hosts am stabilsten.
12) Typische Stolperfallen & Troubleshooting
„unable to get local issuer certificate“ (Client)
→ mkcert-CA ist auf dem Client (MacBook) nicht als vertrauenswürdig installiert.
Fix: Schritt 8 befolgen.
„no user interaction possible“ beim mkcert -install
→ Tritt auf, wenn der System-Keychain ohne GUI-Bestätigung nicht geändert werden kann (SSH/headless).
Fix: Am Gerät (GUI) installieren oder CLI-Befehl lokal ausführen (siehe Schritt 3).
Zertifikat/Hostname passt nicht
→ Du rufst www.codekeks.test
auf, hast aber nur codekeks.test
ausgestellt (oder umgekehrt).
Fix: Hostname genau passend in mkcert
angeben, ggf. beide Varianten.
XML-RPC geblockt (403/401)
→ Security-Plugins/Firewall blockieren /xmlrpc.php
.
Fix: In Plugin-Settings freigeben oder testweise deaktivieren.
405
ist okay, 403/401
nicht.
Mixed Content / Weiterleitungen
→ WordPress siteurl
/home
nicht auf HTTPS gesetzt.
Fix: Schritt 6.
Zeit/Datum falsch
→ Zertifikate wirken „abgelaufen“ oder „noch nicht gültig“.
Fix: Systemzeit prüfen.
Zertifikat wird von MAMP nicht geladen
→ Falscher Pfad/Datei‐Endung, Server nicht neu gestartet.
Fix: Pfade prüfen, neu starten, ggf. .crt/.key
statt .pem
verwenden.
13) Security-Hinweise
- Gib niemals
rootCA-key.pem
weiter. Nur die öffentlicherootCA.pem
. - mkcert-Zertifikate sind nur für lokale Entwicklung gedacht. Nicht im Internet verwenden.
- Zugriffsschutz (Firewalls, nur internes Netz) für deinen MAMP-Server beachten; XML-RPC ist eine potenzielle Angriffsfläche, wenn öffentlich erreichbar.
14) Kurze Checkliste (Copy & Paste)
[ ] Server: brew install mkcert
[ ] Server: mkcert -install (ggf. CA manuell in System-Keychain „Immer vertrauen“)
[ ] Server: mkcert -key-file codekeks.test.key -cert-file codekeks.test.crt codekeks.test localhost 127.0.0.1 ::1
[ ] MAMP PRO: Host „codekeks.test“ → SSL an → Zert/Key setzen → Server neu starten
[ ] WP: WP_HOME / WP_SITEURL = https://codekeks.de
[ ] Server-Test: curl -Iv https://codekeks.de/xmlrpc.php (TLS ok, 405 ist gut)
[ ] Client: rootCA.pem vom Server kopieren & in System-Schlüsselbund „Immer vertrauen“
[ ] Client-Test: curl -Iv https://codekeks.de/xmlrpc.php
[ ] MarsEdit: Blog URL exakt (ggf. mit Port) → https://codekeks.de[:PORT]
[ ] Plugins/Firewall: blockiert XML-RPC? 403/401 → erlauben/konfigurieren
[ ] Optional: /etc/hosts (Client) auf IPv4 zeigen lassen, wenn IPv6 stört
Fertig! Damit ist deine lokale HTTPS-Verbindung stabil, MarsEdit vertraut dem Zertifikat, und dein Workflow bleibt sicher & bequem. Viel Spaß beim Posten 🚀