Freitag, 30. August 2019

Mautic auf eigenem Webserver installieren

Man kann mautic aus den repositories von Github installieren, muss dann aber einen ssh-Zugang haben um compozer laufen lassen zu können. Damit installiert man weitere Pakete die für den Betrieb von Mautic notwendig sind. Ohne diese kommt der Fehler:

[fcgid:warn] [pid 37090] [client 1.1.1.1:46435] mod_fcgid: stderr: PHP Fatal error:  require(): Failed opening required '/var/www/app/../vendor/autoload.php' (include_path='.:/opt/php-7.2.9/lib/php') in /var/www/app/autoload.php on line 15

wechsle also in das entpackte mautic-directory und gib

composer install

ein. Es werden alle abhängkeiten in dieses Verzeichnis runtergeladen. Dann musste ich noch die Rechte anpassen, da ich den install mit root-Rechten gestartet hatte aber der Webhost auf seinem eigenen Benutzer läuft. Das kam mit dem Fehler zum ausdruck:

[fcgid:warn] [pid 37090] [client 1.1.1.1:47941] mod_fcgid: stderr: RuntimeException: Unable to create the cache directory (/var/www/app/cache/prod)

behoben durch:

chown www-data:www-data -R ./

Ich habe weiters gute Erfahurngen damit gemacht die Ausführungszeit in php zu erhöhen da ich sonst öfters timeouts hatte. Kann bei euch wenn ihr einen schnelleren Server habt aber auch nicht notwendig sein. Sonst muss also in die PHP.ini:

max_execution_time=300

Danach ist bei mir die Installation gelaufen. Hat man nicht die Möglichkeit den composer via ssh laufen zu lassen kann man sich das fertige Paket nach Eingabe einiger Daten von mautic.org/download herunterladen.  Sollten noch Fehler auftreten bitte https://www.mautic.org/download/requirements überprüfen sowie (von https://github.com/mautic/mautic#disclaimer )
  1. PHP modules:
    • required: zip, xml, mcrypt, imap, mailparse
    • recommended: openssl, opcache / apcu / memcached
    • recommended for development: xdebug
  2. Recommended memory limit: minimally 256 MB for testing, 512 MB and more for production.
  3. Recommended MySQL defaults can be set by running the queries SET GLOBAL innodb_default_row_format=DYNAMIC; SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Bei der Installation war bei mir eine Empfehlung date.timezone in php.ini zu setzen:

date.timezone=Europe/Vienna