TerraFlow - Installation

Systemanforderungen

TerraFlow CMS wurde auf Ubuntu 22.04 getestet und entwickelt.
Folgende Softwareversionen sind erforderlich:

  • PHP 8.1
  • Composer
  • Ein beliebiger Webserver, wie Apache oder Nginx

Composer Abhängigkeiten

Um die notwendigen PHP-Abhängigkeiten zu installieren, verwende diesen Befehl:

composer install

Dieser Befehl lädt alle im composer.json definierten Abhängigkeiten herunter und installiert sie.

.env Konfiguration

Im Projektverzeichnis befindet sich eine .env-Datei, in der die Umgebungsvariablen für das Projekt definiert sind.
Mindestens folgende Variablen sollten gesetzt sein:

TERRAFLOW_LICENSE_KEY=""
CLOUDFLARE_CAPTCHA_SECRET=""
CLOUDFLARE_CAPTCHA_SITE_KEY=""
APP_ENV=prod
APP_SECRET=XXXXXXXXXx
DATABASE_URL="..."

Für die DATABASE_URL folgt die Konfiguration der Doctrine Dokumentation.

Notwendige Installationen

Führe nach dem Download der Abhängigkeiten und der Konfiguration der .env-Datei folgende Befehle aus, um das Projekt zu initialisieren:

php bin/console doctrine:schema:up -f
php bin/console cache:clear

Diese Befehle führen die Datenbankmigrationen durch und löschen den Cache für die Produktionsumgebung.

Webserver-Konfiguration

Apache

Füge die folgende Konfiguration zur Apache-Konfigurationsdatei hinzu, um TerraFlow CMS mit Apache zu betreiben:

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /path/to/terrafow/public

 <Directory /path/to/terrafow/public>
    AllowOverride All
    Require all granted
 </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Vergiss nicht, das Apache-Modul mod_rewrite zu aktivieren:

sudo a2enmod rewrite
sudo systemctl restart apache2

Nginx

Um TerraFlow CMS mit Nginx zu betreiben, füge die folgende Konfiguration hinzu:

server {
  listen 80;
  server_name example.com;

  root /path/to/terrafow/public;
  index index.php index.html;

  location / {
    try_files $uri /index.php$is_args$args;
  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

Zusammenfassung

Nach der Installation der Abhängigkeiten, der Einrichtung der .env-Datei und der Konfiguration des Webservers sollte TerraFlow CMS betriebsbereit sein.
Prüfe die Logs und Einstellungen, um sicherzustellen, dass alle Schritte korrekt durchgeführt wurden.