Schritt 5: Dreamfactory installieren

Installation starten

Zur Installation solltest Du Dich mit ssh mit dem neuen Benutzerkonto beim Server anmelden (z.B. rudi).

Dann ein neues Verzeichnis anlegen, in dem Dreamfactory installiert wird. Ich bin der Empfehlung gefolgt, das Verzeichnis /opt/dreamfactory zu erstellen und für die Installation vorzusehen. Wichtig ist, dass wir dem Nutzer über KeyHelp für php scripts die Berechtigungen für dieses Verzeichnis einräumen und DocumentRoot für den Apache Server neu einstellen. Aber dazu gibt es später noch mehr Details.

sudo mkdir /opt/dreamfactory

legt das Verzeichnis an und trägt aufgrund der Nutzung von sudo root als Besitzer und Gruppe ein. Denn dieses Verzeichnis darf nur ein Administrator hier anlegen. Deshalb als nächstes den Besitzer ändern:

sudo chown -R rudi:www-data /opt/dreamfactory/

Damit wird als neuer Besitzer rudi und als neue Gruppe www-data eingetragen. Kannst Du mit

ls -l /opt

noch einmal bestätigen. Jetzt wird eine Kopie von Dreamfactory von Github geholt und in dem neuen Verzeichnis abgelegt:

cd /opt/dreamfactory
git clone https://github.com/dreamfactorysoftware/dreamfactory.git ./

Dann geht es weiter mit Composer:

composer install --no-dev --ignore-platform-reqs

Als nächstes wird das Environment festgelegt (z.B. welche Datenbankengine die Dreamfactory Tabellen aufnimmt.):

php artisan df:env

Dazu die Option [1] mysql wählen und folgende Einträge machen:

    • mysql host: localhost
    • port: einfach durch Drücken der RETURN Taste die 3306 bestätigen
    • database name: dreamfactory
    • database username: dfadmin
    • database password:

mit

php artisan df:setup

die Datenbank füllen lassen und einen ersten DF first admin anlegen:

Alle Eingaben (einschließlich Telefonnummer) machen, sonst akzeptiert der Installer den Nutzer nicht. Und wie immer das Nutzerpasswort in den Passwortmanager speichern.

Jetzt noch einmal die Rechte anpassen und den Cache clearen:

sudo chown -R www-data:rudi storage/ bootstrap/cache/
sudo chmod -R 2775 storage/ bootstrap/cache/
php artisan cache:clear

Apache einrichten

In KeyHelp auf die Domain gehen und dort unter der Domain (www.rudi-mustermann.de) auf den Stift klicken und unter Apache-Einstellungen folgendes eintragen:

Da ich unter Sicherheit nur den sicheren Zugriff über https zulasse, muss ich auch nur hier unter HTTPS die Einträge für Apache anpassen. Die erste Anweisung legt DocumentRoot in einem Bereich fest, den KeyHelp für den Benutzer nicht vorgesehen hat. Deshalb ist noch folgende Einstellung wichtig: Unter Benutzerverwaltung den Benutzer (rudi) bearbeiten und unter dem Reiter < / > PHP noch den open_basedir Eintrag ergänzen:

##DOCROOT##/www:##DOCROOT##/files:##DOCROOT##/tmp:/opt/dreamfactory/

Zuletzt steht noch ein Neustart des Apache Servers an. Dazu in ssh Terminal noch folgendes eingeben:

sudo service apache2 restart

Wenn alles gut gegangen ist, sollte jetzt unter der Adresse:

rudi-mustermann.de 

die Weiterleitung zu www.rudi-mustermann.de und dann zu https://www.rudi-mustermann.de durchgeführt werden und die Dreamfactory Anmeldung erscheinen.

Weiter zu Schritt 6.

Schritt 4: Dreamfactory Installation vorbereiten

Vorbereitung

Firebird 3 installieren

Da es mir um die Nutzung von Firebird geht, installiere ich zunächst Firebird 3. Dazu muss man sich über ssh mit seinem Server verbinden und dann:

apt install firebird3.0-server

den Server und die abhängigen Pakete installieren. Dabei kann man das SYSDBA Kennwort angeben oder durch Zufall erzeugen lassen.

Über die Kommandozeile kann man sich über

isql-fb

mit dem Firebird 3 Server verbinden. Ich finde es aber bequem, dazu die Hilfe eine Programmes zu nutzen. Ich nutze DBBeaver Community Edition. Dort habe ich mir eine Verbindung eingerichtet, die einen SSH Tunnel nutzt, um sich mit dem Server zu verbinden. Kann ich sehr empfehlen.

PHP Module installieren

Um die aktuelle Konfiguration von PHP anzuzeigen, bietet phpinfo() die bequemste Lösung. Dazu musst du auf dein DocumentRoot Verzeichnis gehen. KeyHelp legt das als /home/users//www/<gewählten Unterverzeichnis> fest, also als Beispiel:

cd /home/users/rudi/www/rmustermann

lege dort eine neue Datei an:

nano pi.php

In diese Datei schreibst Du:

und sicherst die Datei.

Im Browser gibst du dann:

https://www.rmustermann.de/pi.php

ein und solltes dann die PHP Infoseite sehen. Der Anfang sieht dann etwa so aus:

Dann kann man hier nachlesen, wie die “manuelle Installation” läuft. Der Installer, der die Installation vielleicht bequemer ermöglicht, ist erst für Debian 9 und 10 freigegeben. Debian 11 wird wegen dem Fehlen der MS SQL Treiber noch nicht unterstützt, obwohl Microsoft dafür Treiber zur Verfügung stellt.

PHP Voraussetzungen werden dort angegeben mit:

PHP required extensions: Curl, MBString, MongoDB, SQLite, and Zip. You may need to install other extensions depending upon DreamFactory usage requirements. If you don't plan on using MongoDB, please remove the df-mongodb requirement from composer.json, or include the --ignore-platform-reqs option when running composer install.

Unter PHP Info kann man suchen, ob es eine Überschrift mit den einzelnen Komponenten gibt. Curl z.B ist bei mir schon installiert. Ebenso MBString und Zip.

Es fehlen MongoDB, SQLite:

apt install php-mongodb
apt install php-sqlite3

Als nächstes werden GIT und Composer benötigt:

apt install git-all
apt install composer

MariaDB einrichten

Um die Dreamfactory Datenbank vorzubereiten, kannst du über KeyHelp unter Tools “PhpMyAdmin” auswählen. Dort “mysqladmin” als Nutzer und das bei der Einrichtung von KeyHelp vergebene MySQL Passwort eingeben. (Es steht noch immer im /root Verzeichnis des Servers.)

In phpMyAdmin eine neue Datenbank (dazu ggf. unter Einstellungen -Navigationspanel – Start noch “zeige Formular zur Datenbankerstellung” aktivieren)  mit dem Namen dreamfactory erstellen mit Kollektion utf8mb4_general_ci.

Dann einen neuen Nutzer unter Benutzerkonten anlegen. Ich habe ihn dfadmin genannt und ihm ein sicheres Password generiert. Wie vorher empfehle ich das Passwort im Passwortmanager zu speichern. Diesem Nutzer dann alle Berechtigungen für die eben angelegte Datenbank dreamfactory einräumen.

Damit sind die Vorbereitungen abgeschlossen und es geht mit der Installation von Dreamfactory weiter. Da gibt es eine Beschreibung für Ubuntu, die wir auch für Debian nutzen können.

Weiter zu Schritt 5