Version information
Start using this module
Add this module to your Puppetfile:
mod 'brucem-ezpublish', '0.3.0'
Learn more about managing modules with a PuppetfileDocumentation
eZ Publish module for Puppet
eZ Publish is an open source Content management system and this module allows for:
- the configuration of base system
- default webserver configuration
- vhost configuration
- installation of community versions of eZ Publish
Current support is for Debian/Ubuntu based systems. RedHat/CentOS support will be added in the future.
To ensure that the correct version of dependant modules are installed please use the puppet module tool or librarian puppet.
Basic usage
To install a system suitable for running eZ Publish
class { 'ezpublish': }
This will setup a system suitable for running eZ Publish. A database server is not installed allowing this option to be used for systems with a separate DB server.
To install a standalone system:
class { 'ezpublish::standalone' }
This is the same as the above system but includes a database server.
To configure Apache so eZ Publish can be installed as the default application:
class{ 'ezpublish::default' }
To setup an eZ Publish virtual host:
ezpublish::vhost { 'ezdemo.yourdomain.com':
install_dir => '/var/www/ezdemo.yourdomain.com'
}
The [apache::vhosts] (https://github.com/puppetlabs/puppetlabs-apache) definition is reused here with some eZ Publish specific defaults.
To setup a eZ Publish database:
ezpublish::database { 'ezpublish':
ensure => 'present',
db_user => 'ezpublish',
db_pass => 'password',
}
To install eZ Publish:
ezpublish::install { 'eZ Publish Community Project 2013.4':
src => 'http://share.ez.no/content/download/149574/883017/version/1/file/ezpublish5_community_project-2013.4-gpl-full.tar.gz',
dest => '/var/www/ezdemo.yourdomain.com',
require => Class['ezpublish::default'],
}
This will install the latest eZ Publish Community Project in the default application.
Install the latest eZ Publish Community Project
The above commands can be combined to prepare an eZ Publish server and install the community version var/www/default.
node default {
class { 'ezpublish::standalone': }
class { 'ezpublish::default': }
ezpublish::database { 'ezpublish':
ensure => 'present',
db_user => 'ezpublish',
db_pass => 'password',
}
ezpublish::install { 'eZ Publish Community Project 2013.4':
src => 'http://share.ez.no/content/download/149574/883017/version/1/file/ezpublish5_community_project-2013.4-gpl-full.tar.gz',
dest => '/var/www/default',
require => Class['ezpublish::default'],
}
}
Dependencies
Functionality is dependant on specific versions of the following modules:
- [mysql] (https://github.com/puppetlabs/puppetlabs-mysql)
- [apache] (https://github.com/puppetlabs/puppetlabs-apache)
- [php] (https://github.com/example42/puppet-php)
See [Modulefile] (https://github.com/brucem/puppet-ezpublish/blob/master/Modulefile) for details.
Copyright and License
Copyright (C) 2013 Bruce Morrison
Bruce Morrison can be contacted at: bruce@stuffandcontent.com
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2013-04-12 Release 0.0.1
- Initial version 2013-04-16 release 0.0.2
- Fix documentation
- Remove default index.html from docroot and change ownership to allow installation 2013-04-26 release 0.0.3
- Allow setting of php default timezone in apache config 2013-04-26 release 0.0.4
- Add new asset linking task to install 2013-04-26 release 0.0.5
- Add new rewrite rules for 5.1 & 2013.4.
- Update documentation 2013-05-15 release 0.0.6
- Refactor install.pp and update to handle files (based on PR from @andrerom) 2013-07-26 release 0.0.7
- Add tests
- Fix dependencies to specific module versions (https://github.com/brucem/vagrant-puppet-ezpublish/issues/6 @phalasz)
- Allow parameters to be overwritten in class definitions
- Initial eZ Publish 4 support 2013-09-27 release 0.1.0
- Update dependant modules
- Add ability to define database charset and collation in ezpublish::database
- Refactor ezpublish::default to use ezpublish::vhost
- Change ezpublish::default Docroot parameter to install_dir. odcroot gets set depending on which eZpublish version is being used. 4 = install_dir, 5 = install_dir/web
- Add intl php module to defaults that are installed
- Update ezpublish::vhost to match new apache::vhost definition
- Explicitly set Exec path in ezpublish::install (https://github.com/brucem/vagrant-puppet-ezpublish/issues/8 @nmeirik) 2013-10-13 release 0.1.1
- Allow mysql::server parameteres to be set 2013-10-20 release 0.2.0
- Update mysql module to 2.0.0
- Update ezpublish::database_server parameters to match mysql::server 2013-12-08 release 0.3.0
- Upgrade apache module to 0.10.0
- Upgrade mysql module to 2.1.0
- Update ezpublish::vhost to match apache::vhost
Dependencies
- puppetlabs/mysql (2.1.0)
- puppetlabs/apache (0.10.0)
- example42/php (2.0.11)