Installation MacOS
Contents
Prerequisites
DreamFactory requires certain applications for install and other functionality.
- git, curl, zip, and unzip are installed automatically with OS X 10.11
- Install Homebrew
-
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
PHP
These instructions will install PHP 7 with various modules. DreamFactory requires the mbstring, zip, curl, mongodb, and sqlite3 php modules. Additionally php-fpm is installed if you will be running Nginx as your web server (recommended.) Finally, the mysql php module needs to be installed if you will be using MySQL or MariadDB, which these instructions recommend for the system database. Other database types will require their php modules to be installed for use within DreamFactory. This is covered in the Drivers and Modules section.
Install for Apache
Install for Nginx
Install
- Install PHP and default modules with Brew
-
$ brew install php70 --with-fpm --with-pear
-
$ brew install php70-mongodb
-
$ brew services start php70
-
Configure PHP FPM
Composer
Composer is a PHP dependency manager and is required for installing DreamFactory.
- Install Composer using Homebrew
-
$ brew install composer
-
Database
You'll need a database for the system to store configuration information. We recommend MariaDB for this. Other supported system databases are SQLite, PostgreSQL, and Microsoft SQL.
MariaDB
Install
- Install MariaDB using Homebrew
-
$ brew install mariadb
-
- Start the MariaDB service and set it to run on boot
-
$ brew services start mariadb
-
Setup
- Login to the database
-
$ mysql -uroot
-
- Create a database. You can name it whatever you like. Just make sure you save this information. For the example we called it dreamfactory.
-
CREATE DATABASE dreamfactory;
-
- Create a user with all privileges on that database. You can name the user and password whatever you like. Just make sure you save this information. For the example we used dfadmin for both the user and the password.
-
GRANT ALL PRIVILEGES ON dreamfactory.* to 'dfadmin'@'localhost' IDENTIFIED BY 'dfadmin';
-
- Flush privileges on the database and quit.
-
FLUSH PRIVILEGES;
-
quit
-
DreamFactory
Installing DreamFactory involves getting the required code via git and composer and then using the Laravel artisan command to set up the system. In these instructions, we will assume you are logged in as a user named dfuser. Anywhere you see this username substitute your own.
Web Server
DreamFactory relies on a web server application to serve the REST endpoints as well as the admin application to users. Options are Nginx and Apache.