- DreamFactory is an Open Source REST API Platform that can be used to develop modern applications for phones, tablets, and desktop without writing any server software. We can install it on any standalone server, VPS, in the Cloud, or on premises. Also, DreamFactory installers are available for Bitnami, Amazon, Azure, VMWare, OS X, RHEL, CentOS, Debian, and Ubuntu, so that you can.
- # Installing and Configuring DreamFactory from Source If you've cloned the GitHub repository, you'll need to carry out a few additional steps before launching your DreamFactory instance. The first step involves ensuring your server requirements have been met.
If you're using DreamFactory's commercial Bitnami edition and would like to configure Oracle, follow these instructions: Configuring Oracle with Bitnami # Cloud Images. Cloud environments are the hosting solution of choice these days, and for good reason. Cloud service providers offer unsurpassed levels of stability, performance, and security.
Bitnami-docker-dreamfactory
Hi,
Just recently setup Dreamfactory 2.0 in AWS using Bitnami. I have setup my service for my AWS RDS which works well when access data through Data tab.
So I wanted to test the API using Advanced Rest Client in Google Chrome. I was able to authenticate fine. I got my Session Token. Now when I try to do an HTTP GET (http://url/api/v2/mydb/_table/my_table) using the API Key and Session Token for headers X-DreamFactory-Application-Name and X-DreamFactory-Session-Token respectively, I am getting the following error:
{“error”:{“context”:null,“message”:“Access Forbidden.”,“code”:403,“trace”:[“0 [internal function]: DreamFactoryHttpMiddlewareAccessCheck->handle(Object(IlluminateHttpRequest), Object(Closure))”,“1 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9545): call_user_func_array(Array, Array)”,“2 [internal function]: IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))”,“3 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9535): call_user_func(Object(Closure), Object(IlluminateHttpRequest))”,“4 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(8892): IlluminatePipelinePipeline->then(Object(Closure))”,“5 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(8877): IlluminateRoutingControllerDispatcher->callWithinStack(Object(DreamFactoryHttpControllersRestController), Object(IlluminateRoutingRoute), Object(IlluminateHttpRequest), ‘handleGET’)”,“6 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7831): IlluminateRoutingControllerDispatcher->dispatch(Object(IlluminateRoutingRoute), Object(IlluminateHttpRequest), ‘DreamFactoryHt…’, ‘handleGET’)”,“7 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7802): IlluminateRoutingRoute->runWithCustomDispatcher(Object(IlluminateHttpRequest))”,“8 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7455): IlluminateRoutingRoute->run(Object(IlluminateHttpRequest))”,“9 [internal function]: IlluminateRoutingRouter->IlluminateRouting{closure}(Object(IlluminateHttpRequest))”,“10 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9553): call_user_func(Object(Closure), Object(IlluminateHttpRequest))”,“11 [internal function]: IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))”,“12 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9535): call_user_func(Object(Closure), Object(IlluminateHttpRequest))”,“13 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7456): IlluminatePipelinePipeline->then(Object(Closure))”,“14 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7444): IlluminateRoutingRouter->runRouteWithinStack(Object(IlluminateRoutingRoute), Object(IlluminateHttpRequest))”,“15 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7429): IlluminateRoutingRouter->dispatchToRoute(Object(IlluminateHttpRequest))”,“16 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(2304): IlluminateRoutingRouter->dispatch(Object(IlluminateHttpRequest))”,“17 [internal function]: IlluminateFoundationHttpKernel->IlluminateFoundationHttp{closure}(Object(IlluminateHttpRequest))”,“18 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9553): call_user_func(Object(Closure), Object(IlluminateHttpRequest))”,“19 /opt/bitnami/apps/dreamfactory/htdocs/vendor/barryvdh/laravel-cors/src/HandleCors.php(43): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))”,“20 [internal function]: BarryvdhCorsHandleCors->handle(Object(IlluminateHttpRequest), Object(Closure))”,“21 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9545): call_user_func_array(Array, Array)”,“22 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(17932): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))”,“23 [internal function]: DreamFactoryHttpMiddlewareFirstUserCheck->handle(Object(IlluminateHttpRequest), Object(Closure))”,“24 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9545): call_user_func_array(Array, Array)”,“25 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(12881): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))”,“26 [internal function]: IlluminateViewMiddlewareShareErrorsFromSession->handle(Object(IlluminateHttpRequest), Object(Closure))”,“27 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9545): call_user_func_array(Array, Array)”,“28 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(11504): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))”,“29 [internal function]: IlluminateSessionMiddlewareStartSession->handle(Object(IlluminateHttpRequest), Object(Closure))”,“30 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9545): call_user_func_array(Array, Array)”,“31 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(12622): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))”,“32 [internal function]: IlluminateCookieMiddlewareAddQueuedCookiesToResponse->handle(Object(IlluminateHttpRequest), Object(Closure))”,“33 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9545): call_user_func_array(Array, Array)”,“34 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(12561): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))”,“35 [internal function]: IlluminateCookieMiddlewareEncryptCookies->handle(Object(IlluminateHttpRequest), Object(Closure))”,“36 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9545): call_user_func_array(Array, Array)”,“37 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(2978): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))”,“38 [internal function]: IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode->handle(Object(IlluminateHttpRequest), Object(Closure))”,“39 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9545): call_user_func_array(Array, Array)”,“40 [internal function]: IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))”,“41 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9535): call_user_func(Object(Closure), Object(IlluminateHttpRequest))”,“42 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(2251): IlluminatePipelinePipeline->then(Object(Closure))”,“43 /opt/bitnami/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(2234): IlluminateFoundationHttpKernel->sendRequestThroughRouter(Object(IlluminateHttpRequest))”,“44 /opt/bitnami/apps/dreamfactory/htdocs/public/index.php(53): IlluminateFoundationHttpKernel->handle(Object(IlluminateHttpRequest))”,“45 {main}”]}}
I have my role setup with access to All services and All methods. I have assigned this role to my user and application. However, I still get this error.
Is there anything I missed?
Regards,
Allen
These instructions are for configuring the drivers to work with DreamFactory's commercial Bitnami edition.
To begin, follow steps 1-3 found in this section of the Bitnami documentation:
Once that's done, you'll want to complete one more step. SSH into the server where your DreamFactory Bitnami installation is hosted, and navigate to the /php/bin
directory found inside the installation directory. For reference purposes, we'll use the INSTALL_DIR
placeholder to refer to this directory/
Next, run the following command, making sure you prefix the php
command with ./
:
In the output you will see the following line:
The value of Loaded Configuration File
identifies the location of Bitnami's php.ini
configuration file. Keep in mind your path might be different from the example presented above. Open this php.ini
file with a text editor and search for this line:
Uncomment it by removing the semicolon and save the changes. Now restart Bitnami's Apache server:
Once restarted your DreamFactory Bitnami instance is capable of connecting to an database. After configuring a new API using DreamFactory's service connector, head over to the API Docs
tab to confirm you can connect to the database. One of the easiest ways to do so is by executing the following endpoint:
Executing this endpoint will result in a list of tables being returned from the connected database.
Start by downloading the Oracle Instant Client here. Since the Windows Bitnami stack is 64-bit you need to download the 64-bit instant client.
Upon successful download you can now extract the zip file to your preferred location, such as C:instantclient_X_X
.
Edit the below line in your php.ini
file (C:Bitnamidreamfactory-x.x.x-xphpphp.ini
) by removing the semicolon before extension. If you installed Instant Client 19 at the beginning you will still leave the extension uncommented as 12c. This is the only way PHP will recognize the driver.
Now we must make our Windows machine aware of the driver, go to Control Panel->System->Advanced System Settings.
Click on Environment Variables and under System variables, double click on Path. At the end of the Variable value, add the path to the instant client directory. Use a semicolon to separate this new entry from the current last entry.
Bitnami Dreamfactory Download
Restart the system.
DreamFactory uses PHP's OCI8 library to connect to and interact with databases. Therefore successful installation of the client driver and SDK is a crucial part of the process. Sometimes it is useful to attempt a connection outside of DreamFactory in order to further isolate the problem. One way to do so is by placing the following PHP script on the same server where DreamFactory is installed:
Dreamfactory Bitnami Default Login
Replace the USERNAME
, PASSWORD
, and HOST/DATABASE
placeholders with your credentials, name the script .php
or similar, and place it in the public
directory of your DreamFactory installation. Then open a browser and navigate to https://YOUR_DOMAIN/.php
. If the connection is successful you'll see a corresponding message; otherwise you should see some additional details pertaining to the nature of the error.