zend-patterns / ZendServerPuppet

ZendServerPuppet
Apache License 2.0
6 stars 16 forks source link

Server Puppet Module

Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Further Reference
  6. Limitations
  7. Troubleshooting
  8. Contributing to this module

Overview

The zendserver module allows you to easily manage Zend Server with Puppet.

Module Description

On the first run, this module:

It can also:

Zend Server is an integrated PHP application server for mobile and web apps. Zend Server will also install a web server (apache/nginx) if it is not already installed on your system. Check http://www.zend.com for more information about Zend Server.

Setup

Components affected by this module

The module modifies files under the following directories (and sub directories):

Setup Requirements

Typically, only vendor-supported (LTS, if applicable) versions are supported and tested with this module.

Puppet dependencies:

For a cluster environment, access to a mysql server is required.

Getting started

If you want to get started quickly you can checkout our Vagrant testing box.

This code will:

  1. Install a machine running Ubuntu/Centos/Debian (depending on choice).
  2. Install the latest stable puppet version from puppet labs' repository.
  3. Obtain the puppet module and its dependencies using R10K.
  4. Pass parameters to the Zend Server module using hiera.
  5. Download and install Zend Server onto that machine.
  6. Install mysql.
  7. Bootstrap and join Zend Server on the machine to a cluster (using the local mysql database).
  8. Deploy a sample application to the cluster.

You can also use the testing box as a reference for using puppet in your environment. You can view and modify the following files to customize the vagrant setup:

Module installation

To manually install the module:

  1. Install the dependent modules using the command (puppetlabs/stdlib will be automatically installed as a dependency): sudo puppet module install puppetlabs/apt
  2. Clone the module into your module dir (usually /etc/puppet/modules):

    git clone https://github.com/zend-patterns/ZendServerPuppet /etc/puppet/modules/zendserver

    If your puppet module dir is a git working copy then define the above repo as a git sub-moudle instead of cloning it.

  3. Check your installation using the command: sudo puppet module list

    Example output:

  /etc/puppet/modules
  ├── puppetlabs-apt (v1.6.0)
  ├── puppetlabs-stdlib (v4.3.2)
  └── zend-zendserver (v0.2.0)

Alternatively you can use R10K to install the module and dependencies (see the puppet file in the above Vagrant test box for reference.

Usage

For reference about the module's public API (classes and resources that should be used) check: Module API reference or SDK code on Github. The [Zend Server documentation section about the API](http://files.zend.com/help/Zend-Server/content/introduction2.htm may also be useful).

You can check the comments in the code for further information.

Further reference

You can check Zend Server's online help zend-online-help for instructions and more information. R10K Instructions

Limitations

The module is still under testing - please try it on a non-production system first.

Troubleshooting

Log output is disabled by default. You may enable it back for debugging purposes:

-      logoutput => false,
+      logoutput => true,

in manifests/sdk/command.pp

Contributing to this module

If you wish to help our efforts you can open issues in the github repository or contribute code. To contribute, please fork the repository and send us a pull-request with your changes using github. You can email cloud-paas-dev@zend.com for further questions.