Bitnami 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. City of heroes homecoming mac download.
Bitnami DreamFactory Stack for Windows / Linux / macOS / OS X VM DreamFactory is an API management gateway. It’s capable of generating powerful, documented APIs for almost twenty databases, file storage, caching, e-mail, 3rd party APIs and SOAP services. Bitnami is an app store for server software. The folks at Bitnami make it super easy to install and run server software on your own servers or in the cloud (one-click setup on Bitnami Cloud, AWS, Azure, VMWare, OS X, Linux, and Windows). Step 3: Use Bitnami to install DreamFactory on an Amazon EC2 Instance.
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. Dada life endless smile free download mac. 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.
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:
Bitnami-docker-dreamfactory
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.