The instructions on GitHub for a RHEL install from GitHub sources were pretty good, but didn’t work well for me on RHEL/CentOS6, so I decided to try to use a new CentOS 7 install which I have experience administering over a Bitnami install which is a very fast way to get up and running, but makes maintenance difficult for me because it doesn’t fit with my other Linux servers.
I talked briefly to DreamFactory tech support who had some good suggestions for me and helped me get it working on CentOS 7. Maybe this will help others do the same.
I did a minimal CentOS 7 install and then did the following which worked just fine:
yum update
yum install epel-release
yum install curl httpd php php-common php-cli php-curl php-json php-mcrypt php-gd php-pear php-mysql mariadb-server git
systemctl enable mariadb
systemctl start mariadb
mysql_secure_installation (to set the root password)
mysql - u root -p
MariaDB [(none)]> create database dreamfactory;
MariaDB [(none)]> grant all privileges on dreamfactory.* to 'dsp_user'@'localhost' identified by 'dsp_user';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit
setenforce 0
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
systemctl enable httpd
mkdir -p /opt/dreamfactory/platform
chmod 777 /opt/dreamfactory/platform
git clone https://github.com/dreamfactorysoftware/dsp-core.git /opt/dreamfactory/platform
cd /opt/dreamfactory/platform
then edit /opt/dreamfactory/platform/scripts/installer.sh to change “WEB_USER=www-data” to “WEB_USER=apache” and run the script:
./scripts/installer.sh -cv
chown -R root:apache * .git* .dreamfactory*
chown -R :apache /opt/dreamfactory/platform/vendor/ ./composer.lock
then edit httpd.conf:
vi /etc/httpd/conf/httpd.conf
and change the following:
DocumentRoot "/opt/dreamfactory/platform/web"
<Directory "/opt/dreamfactory/platform/web">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All
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>
then edit /etc/php.ini to set the time zone manually (otherwise DreamFactory will bomb with a php error message that isn’t its fault)
date.timezone= America/New_York
and start httpd
systemctl start httpd
Then go to http://a.b.c.d/ and you should see your DreamFactory asking you to make an admin account.
Now to learn how Dreamfactory works…