CategoriesLinux

Cara instalasi DreamFactory 2.14.2

Setahun yang lalu, terjadi perubahan besar pada salah satu open source project favorit, DreamFactory. Pada versi setelah 2.14.2, developer DreamFactory menghapus dua fungsi yang paling populer digunakan oleh komunitas open source community, yaitu fungsi untuk menghubungkan DreamFactory dengan MySQL server dan fungsi untuk membuat script.

Dalam artikel ini saya tidak akan menceritakan permasalahan tersebut dengan panjang lebar. Bila tertarik untuk mengetahui akar permasalahannya, ada dapat membaca website berikut ini. Dalam artikel ini kita akan fokus tentang bagaimana mengatasi permasalahan tersebut dengan melakukan instalasi versi terdahulu dari DreamFactory sebelum terjadi perubahan tersebut, yaitu DreamFactory versi 2.14.2.

Server yang saya gunakan berbasis Linux Ubuntu 20.04 dengan web server NGINX, PHP, dan database MySQL. Sekarang mari kita bahas langkah-langkah instalasi DreamFactory.

Instalasi NGINX

Update apt repository dan lakukan instalasi NGINX dengan perintah

$ sudo apt update
$ sudo apt install nginx

Instalasi MySQL Server

Lakukan instalasi database server MySQL

$ sudo apt install mysql-server

Perintah ini optional, namun berguna untuk meningkatkan keamanan database server.

$ sudo mysql_secure_installation

Sekarang kita perlu membuat satu MySQL user untuk DreamFactory. Jalankan perintah berikut untuk membuat database df dengan user df dan password rahasia.

$ sudo mysql
mysql> CREATE DATABASE df;
mysql> CREATE USER 'df'@'localhost' IDENTIFIED BY 'rahasia';
mysql> GRANT ALL PRIVILEGES ON df.* TO 'df'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Instalasi PHP-FPM

Versi PHP yang kita gunakan adalah versi 7.2 karena versi ini yang telah saya coba dan berhasil digunakan untuk DreamFactory versi 2.14.2. Berikut langkah instalasi PHP-FPM.

$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install php7.2-fpm \
    php7.2-mbstring \
    php7.2-xml \
    php7.2-curl \
    php7.2-mysql
$ sudo systemctl restart php7.2-fpm.service

Instalasi Composer

Lakukan instalasi composer dengan perintah berikut.

$ cd ~
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
$ php -r "unlink('composer-setup.php');"

Instalasi Git Client

Secara default, git client sudah terpasang pada Linux Ubuntu 20.04. Namun bila belum ada, maka lakukan instalasi dengan perintah

$ sudo apt install git

Konfigurasi NGINX

Kita perlu melakukan konfigurasi NGINX agar dapat digunakan sebagai web server untuk DreamFactory. Bukalah file /etc/nginx/sites-available/default lalu ubah konfigurasinya seperti pada contoh berikut

server {
  listen [::]:80 default_server;
  server_name _;
  root /var/www/html/public;
  charset utf-8;
  index index.php index.html index.htm index.nginx-debian.html;
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
  error_page 404 /index.php;
  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
  }
}

Restart service NGINX dengan perintah

$ sudo systemctl restart nginx.service

Instalasi DreamFactory

Sekarang masuk ke bagian inti dari tulisan ini, yaitu cara instalasi DreamFactory. Langkah pertama masuklah ke dalam root directory web server /var/www/html.

$ cd /var/www/html

Clone source code DreamFactory versi 2.14.2.

$ git clone --branch 2.14.2-release --single-branch https://github.com/dreamfactorysoftware/dreamfactory.git .

Edit file composer.json dan hapus baris ini karena kita tidak menggunakan mongodb.

"dreamfactory/df-mongodb" : "~0.15.1",

Kemudian jalankan perintah berikut

$ sudo composer update
$ sudo composer install --no-dev
$ sudo php artisan df:env
$ sudo php artisan df:setup

Dalam proses instalasi tersebut, Anda akan diminta memasukkan beberapa data seperti MySQL password, user, dll. Silahkan masukkan data yang diminta sesuai dengan proses instalasi yang telah kita lakukan sebelumnya.

Langkah terakhir adalah melakukan update file permission dengan perintah.

$ sudo chown -R www-data storage/ bootstrap/cache/
$ sudo find . -type f -exec chmod 644 {} \;
$ sudo find . -type d -exec chmod 755 {} \;
$ sudo find storage/ -type d -exec chmod 2775 {} \;
$ sudo find storage/ -type f -exec chmod 664 {} \;
$ sudo find bootstrap/cache/ -type d -exec chmod 2775 {} \;
$ sudo find bootstrap/cache/ -type f -exec chmod 664 {} \;

Proses instalasi selesai, sekarang anda dapat membuka hasil instalasi tersebut melalui web browser misalnya dengan alamat http://localhost atau sesuai dengan domain server Anda.

Semoga bermanfaat.