Help to others when installing DF in a VPS, problems & solutions

Hello comunity,

I try to help other members about a installation in a server, a “fight” to put this live… uff!

I have a VPS server, where have many domains parked.

I make a clean installation of DF v2.6.0, where I make some steps here in this Doc:

The VPS is a LAMP with PHP 7.1.
With CPanel I create the DB and define the users to access the BD.

Go to the server console (SSH access) and made the steps to install in a folder inside public_html/…, the installation work’s fine, configure DreamFactory (section “DreamFactory” in the doc link).

The configuration works fine, and then go to my domain and… puff! not working!!!
In the browser I see the files in the server and when go to “” folder get a 500 error…

Problems & Resolutions
I search for different solutions and nothing really correct the problem, have a bundle of problems to resolve and a bundle of solutions to apply! I put here my steps if can help another member…

1) Folder and file permissions

First step is to verify folder permissions to cache, etc

$ sudo chown -R {www user}:{user} storage/ bootstrap/cache/
$ sudo chmod -R 2775 storage/ bootstrap/cache/

I repeat and then clear the cache:
$ php artisan cache:clear

and the problem maintains :frowning:

2) Database engine
Ok, read about the database have a InnoDB… trough phpMyAdmin verify the dreamfactory create all tables with engine MyISAM, because is the default on the server :frowning: ok, need to change this in all tables.

Try again and works a little better, where go to the get an error 500… it is a 404 error in apps.js can “GET /api/v2/system/environment” … ufff

2 hours and not put this working…

3) Web-Server configuration
Possible solutions in the community and github tell about to change the in apache (or Nginx) I looking for my apache server configurations (httpd.conf) and see the domain point to
I change to
Restart web server…

I edit the “.env” file and change
## DF_LANDING_PAGE=/dreamfactory/dist/index.html

to DF_LOCAL_FILE_ROOT=app DF_LANDING_PAGE=/dreamfactory/dist/index.html

I repeat the clear the cache:
$ php artisan cache:clear

Go to … redirect to .../dreamfactory/dist/index.html

Eureka! it’s working :smiley:

I hope this helps someone who has the same kind of problems.

Can comment here more issue’s or problems found.

On another installation l get a blank page and on the browser console something like “../api/v2/system/environment” 400 error… (get also 404, 500, etc)

Then copy this “../api/v2/system/environment” and put in Postman app and get in the message “Unknown relationship: app_lookup_by_app_id” !

The problem is related with table engine, is set to MyISAM and need to be InnoDB!

I have to change server default mysql engine to InnoDB, then remove all tables in the database, make a new tables installation (php artisan migrate --seed), new df setup (php artisan df:setup) to create the Admin user, clear the cache (php artisan cache:clear) and then all works!


Hi maybe you can give me hand with my setup, I already tried to use your solution but it did not work
here is the ticket I posted

Hello Jose,

Sorry later reply!

I can’t figure your problem, always use a linux server (online vps hosting) to install DF, locally never try to do this installation.

Allways have problems with the installation, and the update never works! Need a fresh installation and then export table from old db to the new db, test if works, then another table and so on.

Isn’t easy to install/upgrade this platform, if you can install, then add your api code and use the api endpoints is good and works. But if exists a bug in the platform and need an upgrade you need to plan a roadmap to make the transition.

About your problem is a table relation problem, I don’t know if is a fresh installation or made and upgrade.
My suggestion, if you can, is delete (drop) all tables and execute the command-line:

php artisan df:setup

and then

php artisan cache:clear
php artisan config:clear

Go to your url and try to access, if all ok, try to add content (from previsous tables or using the dashboard options).

Best regards,