Ein Node.js- oder PHP-basierter Webserver zur Verwaltung und Bereitstellung von Gemeindebriefen (Pfarrbriefen) als PDF-Archiv.
- PHP 91.8%
- CSS 6.2%
- JavaScript 2%
| php | ||
| .env_sample | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
Pfarrbriefarchiv (PHP)
Ein PHP-basierter Webserver zur Verwaltung und Bereitstellung von Pfarrbriefen als PDF-Archiv.
Features
- PDF-Upload und -Verwaltung im Admin-Bereich
- Monatszuordnung: eine PDF kann mehreren Monaten zugeordnet werden
- Archivansicht nach Jahren
- News-/Vermeldungsbereich mit Upload pro Sonntag
- Login mit Session, CSRF-Schutz und Login-Rate-Limit
- Optionaler Download-Counter (SQLite) mit Statistik-Chart im Admin-Bereich
Voraussetzungen
- PHP >= 8.0
- PHP-Erweiterungen:
intl,fileinfo,json - Optional für Download-Counter:
pdo_sqlite - Webserver mit Document Root auf
php/(Apache oder nginx+php-fpm)
Installation
- Repository klonen
git clone <repository-url>
cd Pfarrbriefarchiv
- Umgebungsvariablen anlegen
cp .env_sample .env
.envkonfigurieren
# Optional fuer lokalen Start mit PHP Built-in Server
PORT=3000
# Wird aktuell von der PHP-Version nicht verwendet,
# kann aber gesetzt bleiben
SESSION_SECRET=bitte-durch-langes-zufaelliges-geheimnis-ersetzen
# Admin-Login
ADMIN_USER=admin
ADMIN_PASS_HASH=$2y$10$...dein-password-hash
# Branding
COMMUNITY_NAME=Kirchengemeinde Musterhausen
BRIEF_NAME=Pfarrbrief
NEWS_NAME=Vermeldungen
# Optional: wird sonst aus NEWS_NAME erzeugt
NEWS_SLUG=vermeldungen
# Optional: wird sonst aus BRIEF_NAME erzeugt
SLUG=pfarrbrief
# Optional: erlaubte iFrame-Ursprungsdomain fuer CSP
IFRAME_URL=https://www.kirchengemeinde-musterhausen.de
# Optional: Download-Counter aktivieren
DOWNLOAD_COUNTER_ENABLED=1
# Optional: SQLite-Datei (relativ zu php/ oder absoluter Pfad)
DOWNLOAD_COUNTER_DB_PATH=download_counter.sqlite
- Passwort-Hash erzeugen
php -r "echo password_hash('IhrPasswort', PASSWORD_DEFAULT), PHP_EOL;"
Den erzeugten Wert in .env als ADMIN_PASS_HASH eintragen.
Lokaler Start (Entwicklung)
cd php
php -S 127.0.0.1:3000 index.php
Danach ist die Anwendung unter http://127.0.0.1:3000 erreichbar.
Wichtige Routen
/admin/login- Admin-Login/admin- Admin-Startseite/admin/pfarrbrief- Pfarrbriefverwaltung/admin/vermeldungen- News-/Vermeldungsverwaltung/admin/statistik- Gemeinsame Download-Statistik/- Archivansicht/<SLUG>- aktuelle Pfarrbriefausgabe/<SLUG>/<jahr>/<monat>- bestimmte Ausgabe/<NEWS_SLUG>- aktuelle News-/Vermeldungs-PDF/<NEWS_SLUG>/uebersicht- Uebersicht News-/Vermeldungen
Dateistruktur
Pfarrbriefarchiv/
|- .env_sample
|- .env
|- php/
| |- index.php
| |- login.php
| |- admin_select.php
| |- config_admin.php
| |- pfarrbrief_admin.php
| |- pfarrbrief_archiv.php
| |- vermeldungen_admin.php
| |- vermeldungen_uebersicht.php
| |- public/
| |- pfarrb/ # wird automatisch erstellt
| \- vermeld/ # wird automatisch erstellt
\- README.md
Dateinamen der Pfarrbrief-PDFs
Schema:
Jahr_Monat_[Jahr_Monat_...]_<slug>.pdf
Beispiele:
2025_12_pfarrbrief.pdf2025_12_2026_01_pfarrbrief.pdf2025_11_12_pfarrbrief.pdf
Sicherheitshinweise
.envniemals committen- In Produktion HTTPS verwenden
- Der Login ist serverseitig rate-limitiert (5 Versuche pro Minute)
Lizenz
Freie Nutzung fuer kirchliche und gemeinnuetzige Zwecke.