DOKUMENTATION
Hier findest du alles, was du über Schokominza wissen musst. Keine 73 Kapitel mit Architekturdiagrammen und kein Fachchinesisch, das mehr Fragen aufwirft als beantwortet.
Alles sind einfache Textdateien. Das Ding läuft auf jedem halbwegs aktuellen Webspace. Wenn du mit FTP umgehen kannst, schaffst du das. Wenn nicht, frag einen Freund.
Was du brauchst
PHP 8 (frag deinen Hoster, nicht mich)
Ein FTP-Programm (FileZilla tut's)
Einen Texteditor. Kein Word!
Keine Datenbank. Wirklich nicht. Auch keine kleine. Sorry.
Los geht's
1. Die ZIP entpacken
Lad dir das Ding runter, entpacke es. Du siehst etwa das:
schokominza/
├── index.php
├── hierbitteanmelden.php
├── config.php
├── sitemap.php
├── feed.php
├── .htaccess
├── content/
│ ├── home.md
│ ├── posts/
│ ├── pages/
│ ├── images/
│ ├── images.json
│ └── .htaccess
└── README.md
Die
.htaccess-Dateien fangen mit einem Punkt an. Manchmal sind sie versteckt. Stell dein FTP-Programm so ein, dass sie angezeigt werden, sonst fliegt dir später alles um die Ohren.
2. Die Einstellungen
Öffne die
config.php. Sieht ungefähr so aus
$siteName = 'schokominza';
$siteDescription = 'Bloggen aufs Nötigste reduziert';
$siteUrl = 'https://schokominza.org';
$prettyUrls = true;
$homeShowsFeed = false;
$showCategories = false;
Das musst du ändern
$siteName - Dein Blogname, z.B. "Mein Kram"
$siteUrl - Deine Domain.
Ohne Slash am Ende. Wirklich ohne.
$siteDescription - Ein Satz, der deinen Blog zusammenfasst.
Den Rest lässt du erstmal so. Du kannst später noch
$prettyUrls = false setzen, falls die schönen URLs nicht funktionieren
$homeShowsFeed = true, wenn du deine Beiträge direkt auf der Startseite haben willst
$showCategories = true, falls du Bock auf Kategorien hast
3. Der geheime Schlüssel
Jetzt wird's nen bisschen ernster. Öffne
admin.php und such nach
$secretKey = 'BITTE-VOR-DEM-UPLOAD-AENDERN-123';Ersetz das mit einem eigenen Schlüssel. Mindestens 20 Zeichen. Bunt gemischt. Lass es am besten einen Passwort-Generator machen.
Das ist dein einziges Login. Kein Benutzername, keine "Passwort vergessen"-Funktion. Wenn du den vergisst, kannst du ihn per FTP zurücksetzen.
4. Hochladen
Verbinde dich per FTP mit deinem Webspace. Lade den
Inhalt des
schokominza-Ordners hoch. Nicht den Ordner selbst. Zielverzeichnis ist meist
htdocs,
public_html oder
www. Frag deinen Hoster, wenn du unsicher bist.
Die
.htaccess-Dateien müssen mit. Sonst gibt's später 404-Fehler. Wenn dein FTP-Programm sie nicht zeigt, siehe Schritt 1.
5. Testen
Ruf deine Domain auf. Wenn du die Startseite siehst, läuft's.
Jetzt testen wir die schönen URLs
1. Schreib einen Testbeitrag (siehe Schritt 6)
2. Klick drauf
3. Sieht die URL so aus
/post/2026-07-08-mein-test - alles cool
4. Sieht sie aus wie
/?post=2026-07-08-mein-test - setz in
config.php $prettyUrls = false vorausgesetzt, du willst das. Geschmäcker sind verschieden.
Warum das manchmal nicht geht? Manche Hoster blockieren
.htaccess-Regeln. Kannste nix machen.
6. Beiträge schreiben
Ruf
https://deinedomain.de/admin.php auf. Gib deinen Schlüssel ein.
"Neuer Post" klicken. Dann
-
Titel - wird automatisch zur URL. Umlaute und Sonderzeichen werden entfernt. Aus "Größte Katzen" wird
Grote-Katzen. Ist halt so.
-
Kategorie - optional. Wenn du sie später sehen willst, siehe Schritt 9.
-
Inhalt - Markdown. Unten gibt's ne Kurzübersicht.
-
Bild - siehe Schritt 7.
Speichern. Der Post ist live unter
/updates. Neuster zuerst.
7. Bilder
Das Wichtigste zuerst
Benenne die Bilddatei vor dem Upload um.Schokominza nimmt den Dateinamen als Alt-Text für Screenreader und Suchmaschinen.
Aus
IMG_4821.jpg wird "IMG 4821" - völlig nutzlos.
Aus
bierflasche-am-strand.jpg wird "bierflasche am strand" - besser oder?!.
Kurz, beschreibend, kleine Buchstaben, Bindestriche statt Leerzeichen. Keine Umlaute, keine Sonderzeichen. Einfach halten.
Erlaubte Formate sind JPG, PNG, GIF, WebP. Ein Bild pro Beitrag. Wenn du ein neues hochlädst, ersetzt es das alte. Die Bilder werden automatisch auf 1200px Breite verkleinert (du musst also nichts vorher tun). Statische Seiten haben
keine Bild-Upload-Funktion.
8. Statische Seiten
Für "About", "Impressum", "Kontakt".. Das Zeug halt, was sich selten oder nie ändert.
Admin
"Neue Seite" klicken.
Titel - erscheint im Menü
Slug - die URL. Leer lassen, dann wird er aus dem Titel gemacht.
Inhalt - Markdown, siehe unten.
Die Seite erscheint automatisch im Menü unter dem Logo. Zusammen mit "Updates" und (falls aktiv) "Kategorien".
9. Kategorien
Kategorien werden
immer gespeichert, wenn du sie im Admin vergibst. Ob sie auf der Website angezeigt werden, entscheidet diese eine Zeile in der
config.php
$showCategories = true;Setz du sie auf
true kriegt jeder Post sein Kategorie-Label und im Menü taucht "Kategorien" auf. Du kannst die Updates-Liste filtern (?cat=Reisen) und auch der RSS-Feed bekommt seine Kategorie-Tags.
Oder lass es auf
false. Dann werden Kategorien zwar gespeichert, aber nirgendwo angezeigt.
10. Die Startseite
Standardmäßig zeigt
/ den Inhalt von
content/home.md. Die Beiträge sind unter
/updates.
home.md ist wie ein Beitrag aufgebaut.
Du willst die Beiträge direkt auf der Startseite?
config.php -
$homeShowsFeed = true - hochladen. Fertig.
11. Logo
Dein Logo parkt in
content/images/logo.png. Das ist ein PNG mit transparentem Hintergrund. Am besten ein breiter Schriftzug, kein Quadrat. Einfach per FTP überschreiben. Das wars.
12. Farben
In
index.php ganz oben findest du
define('COLOR_BG', '#4527A0');
define('COLOR_TEXT', '#FFFFFF');
define('COLOR_ACCENT', '#FFB400');Die Hex-Werte austauschen, hochladen, fertig. Betrifft wirklich alles. Menü, Hintergründe, Links, Überschriften...
13. Markdown - das Nötigste
So schreibst du Markdown in Schokominza
# Große Überschrift
## Mittlere Überschrift
### Kleine Überschrift
**Fett**
*Kursiv*
`Code`
[Link](https://example.com)

* Punkt eins
* Punkt zwei
Was nicht geht, sind Nummerierte Listen, Zitate, Tabellen, verschachteltes Zeug. Der Parser ist simpel. Absichtlich.
Eigenes HTML und CSS in jeder
.md-Datei geht. Einfach reinklatschen, wird nicht gefressen. Hoffe ich..;-)
14. RSS-Feed
/feed.php - liefert die letzten 20 Beiträge komplett. Kein Ausschnitt, kein "Weiterlesen". Den ganze Kram.
15. Sitemap
/sitemap.php - das ist deine XML-Sitemap für Google, falls du Bock drauf hast. Einfach bei deren Search Console anmelden und die URL eintragen. Die Endung
.php stört nicht.
16. Sicherheit – die kurze Liste
$secretKey geändert? Gut.
$siteUrl korrekt? Gut.
.htaccess hochgeladen? Gut.
Wüsste nicht, was jetzt noch fehlt. Die Login-Sperre nach 5 Fehlversuchen ist automatisch drin.
17. Wenn was nicht klappt
404-Fehler bei Posts/Seiten -
.htaccess fehlt oder wird nicht unterstützt.
$prettyUrls = false in
config.php setzen.
"Zu viele Login-Versuche" - 5 Fehlversuche = 15 Minuten Pause. Einfach abwarten oder den Schlüssel in
admin.php checken.
Bild wird nicht angezeigt - Format nicht unterstützt? (HEIC von iPhones = nein). Datei wirklich im
content/images/ Ordner?
Logo verschwunden - Datei heißt wirklich
logo.png? Liegt in
content/images/?
"Page not found" bei statischer Seite - Die Seite muss im Menü erscheinen. Wenn nicht, ist die
.md-Datei vielleicht falsch benannt oder liegt nicht in
content/pages/.
18. Backups
Einfach den
content-Ordner runterladen. Keine Datenbank, kein Export-Format. Mach das regelmäßig, sonst heulst du später rum.
Fertig
Du hast jetzt einen minimalen Blog. Glückwunsch. Schick mir gern nen Link an hi ät piehnat Punkt de. Peace!