DreamFactory Open Source auf CentOS 7 installieren
DreamFactory ist eine kostenlose Open-Source-Plattform, mit der sich jede Datenbank in eine REST-API-Schnittstelle umwandeln lässt.
In dieser Anleitung wird die Einrichtung der Open Source Edition von DreamFactory auf einem Server mit CentOS 7 beschrieben.
Voraussetzungen
- Ein CentOS 7 x64 Server
- Ein Benutzer mit sudo-Rechten
Schritt 1: System aktualisieren
Verbinde dich per SSH mit deinem Server als sudo-Benutzer und führe folgende Befehle zur Systemaktualisierung aus:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Schritt 2: Apache-Webserver einrichten
DreamFactory benötigt Apache als Webserver. Installiere ihn mit folgendem Befehl über YUM:
sudo yum install httpd -y
Entferne anschließend die Standard-Willkommensseite von Apache:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Deaktiviere die standardmäßige Auflistung von Verzeichnissen:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Starte den Apache-Dienst und aktiviere ihn für den automatischen Start beim Booten:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Schritt 3: MariaDB installieren und konfigurieren
Als Datenbank-Backend für DreamFactory verwenden wir MariaDB in Version 10.1.
3.1 MariaDB 10.1 Repository anlegen
Füge das Repository für MariaDB 10.1 mit folgendem Befehl hinzu:
cat <
3.2 MariaDB mit YUM installieren
Installiere nun die MariaDB-Server- und Clientpakete mit folgendem Befehl:
sudo yum install MariaDB-server MariaDB-client -y
3.3 MariaDB starten und beim Boot aktivieren
Starte den Datenbankdienst und sorge dafür, dass er beim Systemstart automatisch mitgeladen wird:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
3.4 MariaDB absichern
Führe das MariaDB-Sicherheits-Skript aus, um grundlegende Schutzmaßnahmen umzusetzen:
sudo /usr/bin/mysql_secure_installation
Gib die folgenden Antworten bei der Abfrage ein – ersetze dabei <your-password>
durch ein sicheres Passwort deiner Wahl:
- Aktuelles root-Passwort eingeben (Enter für kein Passwort): Drücke einfach Enter
- Root-Passwort setzen? [Y/n]: Y
- Neues Passwort: <your-password>
- Passwort wiederholen: <your-password>
- Anonyme Benutzer entfernen? [Y/n]: Y
- Remote-Zugriff für root verbieten? [Y/n]: Y
- Testdatenbank entfernen und Zugriff löschen? [Y/n]: Y
- Privilegientabellen neu laden? [Y/n]: Y
3.5 DreamFactory-Datenbank in MariaDB erstellen
Führe die folgenden Schritte aus, um eine neue Datenbank und einen Benutzer für DreamFactory in MariaDB anzulegen. Melde dich zuerst als root-Benutzer in der MySQL-Shell an:
mysql -u root -p
Gib nun das root-Passwort ein, das du zuvor eingerichtet hast. In der MySQL-Shell führst du folgende Befehle aus, um die Datenbank und den Benutzer zu erstellen. Ersetze dabei die Platzhalter durch eigene sichere Werte:
CREATE DATABASE dreamfactory;
CREATE USER 'dreamfactoryuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON dreamfactory.* TO 'dreamfactoryuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Schritt 4: PHP 7.x und Composer installieren
4.1 PHP 7.1 und erforderliche Erweiterungen installieren
Verwende das Webtatic YUM-Repository, um PHP 7.1 sowie alle benötigten PHP-Module auf CentOS 7 zu installieren:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-common php71w-cli php71w-gd php71w-mbstring php71w-mcrypt php71w-xml php71w-mysqlnd php71w-pecl-mongodb -y
4.2 Composer herunterladen und installieren
Um Composer in Version 1.3.1 zu installieren, führe die folgenden Kommandos aus. Beachte, dass sich die Installationsanweisungen bei zukünftigen Composer-Versionen ändern könnten. Die aktuelle Anleitung findest du stets auf der offiziellen Composer-Webseite:
cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
4.3 Composer systemweit verfügbar machen
Mit folgendem Befehl kannst du Composer global im System verfügbar machen:
sudo mv composer.phar /usr/local/bin/composer
Schritt 5: Git und DreamFactory installieren
5.1 Git installieren
Verwende folgenden Befehl, um Git auf CentOS 7 zu installieren:
sudo yum install git -y
5.2 DreamFactory herunterladen und installieren
Lade die zum Zeitpunkt der Anleitung aktuelle Version von DreamFactory (2.4.2) herunter und installiere sie mit den folgenden Befehlen:
cd
wget https://github.com/dreamfactorysoftware/dreamfactory/archive/2.4.2.tar.gz
tar -zxvf 2.4.2.tar.gz
cd dreamfactory-2.4.2
composer install --no-dev
sudo mv ~/dreamfactory-2.4.2 /opt
sudo chown -R root:root /opt/dreamfactory-2.4.2
sudo chown -R apache:apache /opt/dreamfactory-2.4.2/storage/ /opt/dreamfactory-2.4.2/bootstrap/cache/
sudo chmod -R 2775 /opt/dreamfactory-2.4.2/storage/ /opt/dreamfactory-2.4.2/bootstrap/cache/
cd /opt/dreamfactory-2.4.2
Erstelle die Umgebungsdatei mit folgendem Setup-Befehl:
sudo php artisan dreamfactory:setup
Gib dabei folgende Datenbankinformationen an:
- Datenbanktyp wählen: 1 (für MySQL)
- MySQL-Host: localhost
- Datenbankname: dreamfactory
- Benutzername: dreamfactoryuser
- Passwort: yourpassword
- Datenbank-Port: 3306
Führe denselben Befehl erneut aus, um den ersten Admin-Benutzer zu erstellen:
sudo php artisan dreamfactory:setup
Beantworte die Fragen mit den folgenden Werten:
- Vorname: John
- Nachname: Doe
- Anzeigename: John Doe
- E-Mail-Adresse: admin@example.com
- Passwort: <your-admin-password>
5.3 DreamFactory für den Webzugriff konfigurieren
Erstelle eine virtuelle Host-Konfiguration für DreamFactory. Ersetze Platzhalter wie ServerName
oder ServerAdmin
durch deine eigenen Werte:
cat <
Starte Apache neu, um die Änderungen zu übernehmen:
sudo systemctl restart httpd.service
Aktualisiere die Firewall-Einstellungen, um HTTP-Zugriffe von außen zu ermöglichen:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Schritt 6: DreamFactory über den Browser aufrufen
Rufe im Webbrowser die Adresse http://203.0.113.1 auf. Melde dich dort mit der E-Mail-Adresse und dem Passwort an, die du zuvor vergeben hast.
Fazit
Mit dieser ausführlichen Anleitung hast du DreamFactory Open Source Edition erfolgreich auf einem CentOS 7 Server eingerichtet. Du hast Apache, MariaDB, PHP, Composer und DreamFactory konfiguriert und gesichert. Nun kannst du RESTful APIs erstellen und deine Anwendungen mit nahezu jeder Datenbank über eine einheitliche Schnittstelle verbinden.