The Zend Framework II Orinoco project has a home at github.com but as yet no website!. There clearly is a need for one and perhaps pagodabox.io is a suitable host. Pagodabox is one of many platforms as a service (PaaS, also see Heroku, Engine Yard). It has a free “tinker” mode with only one catch: the website is asleep by default and you have to manually wake it up to see its content. This is fair enough.

Do not expect to FTP your way into your Pagoda account. It is website-deploy by Git-push only. All files are read-only. On the other hand on each deploy a Composer process starts automatically. This project requires ZF2 via composer, therefore so far so good. Unfortunately Bower is not included. One solution is to create a separate Git branch with as sole purpose the inclusion of those libraries ordinarily included via Bower such as Bootstrap and jQuery. In the same way all class maps are committed as well as the configuration files. Make sure to clone this branch in a separate folder otherwise on switching branches content is deleted.

The next thing to organise is the so-called Boxfile (called Boxfile, does not have an extension). You need to situate it in the directory root. The key things to set for now are the document root and any writable directories:


web1: #component type & number
shared_writable_dirs:
- data/cache
document_root: public

The app is called web1 and is also the default app name. Note that each boxfile change requires a app restart that can be managed from the Pagoda account.

What else is in the box? SSH access is available by default. Authentication by key-pairs. The next challenge is database access. Setting up a mysql database from the admin panel is easy, connecting to it is not. You are expected to fly by a SSH tunnel but HeidySQL has doggedly been denied access. After much trials and errors here are the winning settings: For the SSH tunnel set the plink.exe location as C:\\plink.exe, the hostname and user are provided by Pagoda, no need to set a password but do set the private key. The port is 3306. For the MySQl settings set the network type MySQL (SSH tunnel), the hostname (an IP number, not localhost) and user and password are provided by Pagoda. The port is 3306.

Check out http://orinoco.gopagoda.io!

Advertisements