Technik

Die Website des Freundeskreis Großkarlbach e.V. läuft auf TYPO3 v14.1.1 (Classic Mode) mit Bootstrap Package 16.0 auf einem Plesk-gehosteten Debian 11 Server.

Server-Umgebung

KomponenteDetails
OSDebian 11 (Bullseye)
WebserverApache (Backend) + Nginx (Reverse-Proxy via Plesk)
PHP8.3 (/opt/plesk/php/8.3/bin/php)
DatenbankMariaDB
PanelPlesk Obsidian

Infrastruktur — Domain-Map

SubdomainDienstTechnik
freundeskreis.familyProduktionTYPO3 v14.1.1
test.freundeskreis.familyTest-InstanzTYPO3 v13.4.26
q.freundeskreis.familyWikiQuartz 5
a.freundeskreis.familyWorkspaceAFFiNE (Docker)

Details zu Subdomain-Routing, SSL und Nginx-Konfiguration → Plesk & Subdomains.

TYPO3 CLI — Produktion

Alle Befehle nutzen den Plesk-PHP-Pfad:

PHP=/opt/plesk/php/8.3/bin/php
 
# Cache leeren und aufwärmen
$PHP httpdocs/typo3/sysext/core/bin/typo3 cache:flush
$PHP httpdocs/typo3/sysext/core/bin/typo3 cache:warmup
 
# Extensions einrichten
$PHP httpdocs/typo3/sysext/core/bin/typo3 extension:setup
 
# Scheduler ausführen
$PHP httpdocs/typo3/sysext/core/bin/typo3 scheduler:run
 
# Verarbeitete Dateien aufräumen
$PHP httpdocs/typo3/sysext/core/bin/typo3 cleanup:localprocessedfiles --all --force

TYPO3 CLI — Test-Instanz

Die Test-Instanz nutzt den Composer-installierten Binary-Pfad:

$PHP httpdocs/test_typo3/vendor/bin/typo3 cache:flush

Custom Extensions

ExtensionVersionBeschreibungTest-Runner
fkf_theme1.0.0Site Set — Branding, Logo, Farben (overrides Bootstrap Package)
ai_translate0.1.0KI-gestützte Inhaltsübersetzung via OpenRouter im Backend
nr_llm0.3.1Unified AI/LLM Provider Abstraction (OpenAI, Claude, Gemini) — Chat, Embeddings, Vision, Translation./Build/Scripts/runTests.sh -s unit|phpstan|cgl
nr_vault0.4.3Secrets Management — Envelope Encryption, Access Control, Audit Logging, Secure HTTP Clientmake test|phpstan|ci

Alle Custom Extensions folgen dem TYPO3-Standardlayout:

typo3conf/ext/<ext_key>/
├── Classes/           # PHP-Klassen (Controller, Service, Domain)
├── Configuration/     # TCA, TypoScript, Backend-Routes, Services.yaml
├── Resources/
│   ├── Private/       # Templates, Partials, Layouts (Fluid)
│   └── Public/        # CSS, JS, Icons
├── Tests/             # Unit- und Functional-Tests
├── Documentation/     # RST-Dokumentation
├── ext_emconf.php     # Extension-Metadaten
└── composer.json      # Composer-Integration

See also