DreamFactory è un programma open source che può trasformare qualsiasi database in una piattaforma API RESTful.
DreamFactory può essere distribuito su varie piattaforme. In questo articolo, installeremo DreamFactory Open Source Edition su un server CentOS 7.
Prerequisiti
Passaggio 1: aggiornare il sistema
Accedere al sistema come utente sudo da un terminale SSH, quindi aggiornare il sistema come segue:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Passaggio 2: installare Apache
Come richiesto da DreamFactory, è necessario installare il server Web Apache utilizzando YUM:
sudo yum install httpd -y
Rimuovi la pagina di benvenuto predefinita di Apache:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Disabilita la directory pubblica e l'elenco dei file di Apache:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Avviare il servizio Apache e abilitarlo all'avvio del sistema:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Passaggio 3: installare MariaDB
Per questa esercitazione, useremo MariaDB 10.1 come verrà utilizzato dal server di database che DreamFactory utilizzerà.
3.1 Configurare il repository MariaDB 10.1 YUM
Utilizzare il seguente segmento di codice per creare il repository YUM MariaDB 10.1:
cat <<EOF | sudo tee -a /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.1 CentOS repository list - created 2017-01-14 03:11 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
3.2 Installare MariaDB 10.1 usando YUM
sudo yum install MariaDB-server MariaDB-client -y
3.3 Avviare e abilitare il servizio MariaDB
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
3.4 Assicurare l'installazione di MariaDB
sudo /usr/bin/mysql_secure_installation
Rispondi alle domande come segue e assicurati di inserire la tua password di root MariaDB.
- Inserisci la password corrente per root (inserisci per nessuno): basta premere il
Enterpulsante
- Imposta la password di root? [Y / n]:
Y
- Nuova password:
<your-password>
- Reinserire la nuova password:
<your-password>
- Rimuovere utenti anonimi? [Y / n]:
Y
- Non consentire l'accesso root da remoto? [Y / n]:
Y
- Rimuovere il database di prova e accedervi? [Y / n]:
Y
- Ricarica le tabelle dei privilegi ora? [Y / n]:
Y
3.5 Creare un database MariaDB per DreamFactory
Accedi alla shell MySQL come root:
mysql -u root -p
Immettere la password di root MariaDB impostata nel passaggio 3.4 per accedere.
Nella shell MySQL, creare un database dreamfactory, un utente del database dreamfactoryusere la sua password yourpasswordcome segue.
Nota: per motivi di sicurezza, è NECESSARIO sostituire i tre parametri di esempio sopra menzionati con i propri.
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;
Passaggio 4: installa PHP 7.xe Composer
4.1 Installa PHP 7.1 e le estensioni necessarie
Su CentOS 7, è possibile installare PHP 7.1 e le estensioni PHP necessarie utilizzando il repository YUM Webtatic:
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 Installa Composer
Installa l'ultima versione di Composer, che è 1.3.1al momento della scrittura, come di seguito.
Nota: le istruzioni sopra possono cambiare in caso di aggiornamento delle istruzioni di installazione di Composer. Pertanto, dovresti sempre consultare la pagina di download ufficiale di Composer per ottenere le istruzioni di installazione più aggiornate.
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 Rendi Composer disponibile a livello globale
sudo mv composer.phar /usr/local/bin/composer
Passaggio 5: installare Git e DreamFactory
5.1 Installa Git
sudo yum install git -y
5.2 Installare DreamFactory
Scarica l'ultima versione stabile di DreamFactory, che è 2.4.2al momento in cui è stato scritto questo articolo, quindi installa DreamFactory e le dipendenze come segue:
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
Utilizzare il comando seguente per creare un .envfile per archiviare le configurazioni di DreamFactory:
sudo php artisan dreamfactory:setup
Quando richiesto, immettere le impostazioni del database come segue:
Which database would you like to use for system tables? [sqlite]:
[0] sqlite
[1] mysql
[2] pgsql
[3] sqlsrv
> 1
Enter your mysql Host:
> localhost
Enter your database name:
> dreamfactory
Enter your database username:
> dreamfactoryuser
Enter your database password:
> yourpassword
Re-enter your database password:
> yourpassword
Enter your Database Port [3306]:
> 3306
Eseguire di nuovo lo stesso comando per configurare il primo utente amministratore:
sudo php artisan dreamfactory:setup
Quando richiesto, inserire le credenziali come segue:
Creating the first admin user...
Enter your first name:
> John
Enter your last name:
> Doe
Enter display name:
> John Doe
Enter your email address?:
> admin@example.com
Choose a password:
> <your-admin-password>
Re-enter password:
> <your-admin-password>
5.3 Preparazione per l'accesso al web
Configurare un host virtuale per DreamFactory. Utilizzare il seguente segmento di codice per configurare un host virtuale. Ricordarsi di sostituire i valori di ServerAdmin, ServerName, ServerAlias, Errorlog, e CustomLogcon i vostri propri.
cat <<EOF | sudo tee -a /etc/httpd/conf.d/dreamfactory.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /opt/dreamfactory-2.4.2/public/
ServerName dreamfactory.example.com
ServerAlias www.dreamfactory.example.com
<Directory /opt/dreamfactory-2.4.2/public/>
Options FollowSymLinks
AllowOverride All
AllowOverride None
Require all granted
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /index.php [L]
<LimitExcept GET HEAD PUT DELETE PATCH POST>
Allow from all
</LimitExcept>
</Directory>
ErrorLog /var/log/httpd/dreamfactory.example.com-error_log
CustomLog /var/log/httpd/dreamfactory.example.com-access_log common
</VirtualHost>
EOF
Metti in atto le tue modifiche riavviando il servizio Apache:
sudo systemctl restart httpd.service
Modifica le regole del firewall per consentire l'accesso al web:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Passaggio 6: accedi a DreamFactory
Puntare il browser Web http://203.0.113.1per accedere a DreamFactory, quindi utilizzare l'indirizzo e-mail e la password dell'amministratore impostati in precedenza per accedere.
Questo conclude il nostro tutorial. Grazie per aver letto.