Skip to content

jbayer/zend-server-mysql-buildpack-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This is a build pack provides Zend Server on Cloud Foundry. Current version is 6.1. In the future the web server and Zend Server binaries will be probably be moved to the stack. This will save space for each container and make pushes and restart almost instant. For the time being they are included in the build pack for portability and ease of installation.

Buildpack components

  • Zend Server 6.1 Enterprise edition.
  • Zend Server 6.1 configuration files
  • PHP 5.4
  • Nginx web server

Installation

You can optionally install the cartridge in yout local cloud foundry installation if you want it to be available as a system build pack. This enables cartridge "detection" and adds it to the menu of cartridges presented by the cf utility. If you don't wish to install then skip this stage and go directly to the usage section.

Requirements

  • Working cloud foundry v2 environment with dea_ng and gorouter
  • The lucid64 cloud foundry stack should be installed and enabled - check settings in /vagrant/dea_ng/config/dea.yml
  • xz compression utility - it's installed automatically by vagrant if you follow the guide below

The buildpack is tested against a system generated by the vagrant installer: http://blog.cloudfoundry.com/2013/06/27/installing-cloud-foundry-on-vagrant/

Instructions

Clone the git repo into the buildpack directory on your dea_ng node using the command: git clone https://github.com/davidl-zend/zend-server-mysql-buildpack-dev

Alternatively you can clone the repo into a webserver in your environment and specify the buildpack to the cf client. f.e cf push --buildpack=http://url-to-cloned-repo or (you can save this value in the app's manifest.yml).

Usage

  1. Create a folder on your workstation and "cd" into it.
  2. Create an empty file named "zend_server_php_app" (if you don't do this then you'll have to manually specify which buildpack to use for the app).
  3. Issue the cf push --buildpack=https://github.com/davidl-zend/zend-server-mysql-buildpack-dev command (choose to save your manifest when asked to by the cf client).It is recommended that you allocate at least 512M of RAM. You can optionally bind a mysql service (cleardb/mysql/MariaDB) to the app - this will enable advanced experimental features such as app scaling, persistence of settings changed using the gui, persistence of apps deployed using Zend Server's deployment mechanism.
  4. Edit the "manifest.yml" that was generated by step 3 - add the "env" section and set the values to be used for the Zend Server GUI password.
---
env:
  ZS_ACCEPT_EULA: 'TRUE'
  ZS_ADMIN_PASSWORD: '1234'
applications:
- name: dave2
  instances: 1
  memory: 512M
  host: dave2
  domain: vcap.me
  path: .
  1. wait for the app to start.
  2. Once the app is started you can access the Zend Server GUI at http://url-to-your-app/ZendServer, For example : http://dave2.vcap.me/ZendServer . If you forgot to perform step 4 then the password for the GUI will be "changeme".
  3. Enter a user name and password to use to authenticate with the GUI.
  4. If you saved your manifest in step 3 then you can issue the "cf push" command without specifying the --buildpack parameter to update your app. "cf set-env dave1 ZS_ADMIN_PASSWORD 1234"

Known issues

  • Code tracing might not work properly in this version.
  • Several issues might be encountered if you don't bind mysql providing service to the app (cleardb/mysql/MaraiaDB):
  • You can change settings using the gui and apply them - but they won't survive application pushes and restarts nor will they be propagated to new application instances.
  • Application packages deployed using Zend Server's deployment mechanism (zpk packages) will not be propagated to new app instances.
  • Zend Server will not operate in cluster mode.
  • Application generated data is not persistent (this is a limitation of Cloud Foundry) unless saved to a third party storage provider (like S3).
  • Mysql is not used automatically - If you require MySQL then you'll have to setup your own server and configure your app to use it.
  • Each container has their own full copy of Zend Server at the moment so droplet size is about 161MB for an empty app (this should not be an issue in public cloud foundry platforms).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published