Version information
This version is compatible with:
- RedHat, CentOS, ,
Start using this module
Add this module to your Puppetfile:
mod 'johanek-redmine', '2.3.0'
Learn more about managing modules with a PuppetfileDocumentation
johanek-redmine
This module installs redmine, running behind apache and passenger, and backed by mysql, mariadb or postgresql
Tested on CentOS 6.5, debian wheezy and Ubuntu 14.04 (Trusty)
Requirements
Required modules:
- puppetlabs-mysql 2.0 or later
- puppetlabs-stdlib
- puppetlabs-apache
- puppetlabs-concat
- puppetlabs-postgresql 3.3.0 or later
Optional modules:
- puppetlabs-vcsrepo if you want to download redmine from a repository (the default)
RedHat or CentOS:
- EPEL yum repository needs to be configured
Example Usage
To install the default version of redmine
class { 'apache': }
class { 'apache::mod::passenger': }
class { '::mysql::server': }
class { 'redmine': }
To install version 2.5.0 from the official svn repository
class { 'apache': }
class { 'apache::mod::passenger': }
class { '::mysql::server': }
class { 'redmine':
download_url => 'svn.redmine.org/redmine/tags/2.5.0',
provider => 'svn',
version => 'HEAD',
}
Install default redmine with a postgresql database
class { 'apache': }
class { 'apache::mod::passenger': }
class { '::postgresql::server': }
class { 'redmine':
database_adapter => 'postgresql',
}
Installing Plugins
Plugins can be installed and configured via the redmine::plugin resource. For example, a simple plugin can be installed like this:
redmine::plugin { 'redmine_plugin'
source => 'git://example.com/redmine_plugin.git'
}
Plugins can be installed via git (the default) or any other version control system.
Bundle updates and database migrations will be handled automatically. You can update your plugin by
setting ensure => latest
or directly specifying the version. More complex updates can be done by subscribing
to the plugin resource (via subscribe => Redmine::Plugin['yourplugin']
)
Uninstalling plugins can be done by simply setting ensure => absent
. Again, database migration and
deletion are done for you.
Redmine Parameters
#####version
Set to desired version. Default: 2.2.3
#####download_url
Download URL for redmine tar.gz when using wget as the provider. The repository url otherwise. When using wget, be sure to provide the full url. Default: https://github.com/redmine/redmine
#####provider
The VCS provider or wget. When setting the provider to wget, be sure to set download_url to a valid tar.gz archive. To use the svn provider you have to provide the full url to the tag or branch you want to download and unset the version. Default: git
#####database_server
Database server to use. Default: 'localhost' If server is not on localhost, the database and user must be setup in advance.
#####database_user
Database user. Default: 'redmine'
#####database_password
Database user password. Default: 'redmine'
#####production_database
Name of database to use for production environment. Default: 'redmine'
#####development_database
Name of database to use for development environment. Default: 'redmine_development'
#####database_adapter
Database adapter to use for database configuration. Can be either 'mysql' for ruby 1.8, 'mysql2' for ruby 1.9 or 'postgresql'. Default: 'mysql' or 'mysql2' depending on your ruby version.
#####smtp_server
SMTP server to use. Default: 'localhost'
#####smtp_domain
Domain to send emails from. Default: $::domain
#####smtp_port
SMTP port to use. Default: 25
#####smtp_authentication
Toggle SMTP authentication. Default: false
#####smtp_username
SMTP user name for authentication. Default: none
#####smtp_password
SMTP password for authentication. Default: none
#####vhost_aliases
Server aliases to use in the vhost config. Default 'redmine'. Expects a string.
#####vhost_servername
Server name to use in the vhost config. Default 'redmine'. Expects a string.
#####webroot
Directory in which redmine web files will be installed. Default: 'DOCROOT/redmine' DOCROOT is the document root of your apache server, usually /var/www or /var/www/html
#####install_dir
Path where redmine will be installed Default: '/usr/src/redmine'
#####override_options
Empty hash by default. Can be used to add additional options to the redmine configuration file. Example:
class { 'redmine':
default_override => {'foo' => 'bar', 'bar' => 'baz'},
}
This will generate a config that looks like this:
default:
# default setting of the module
delivery_method: :smtp
smtp_settings:
address: localhost
port: 25
domain: example.com
# user provided custom options
bar: baz
foo: bar
Currently does not support nested options.
#####plugins
Optional hash of plugins to install, which are passed to redmine::plugin
#####www_subdir
Optional directory relative to the site webroot to install redmine in. Undef by default. Expects a path string without leading slash. When using this option the vhost config is your responsibility. Example:
apache::vhost { 'www.somesite.com':
priority => 20,
port => '80',
docroot => '/usr/src/sites/www.somesite.com/website',
servername => 'www.somesite.com',
serveraliases => ['somesite.com'],
directories => [
{ path => '/usr/src/sites/www.somesite.com/website',
},
{ path => '/usr/src/redmine',
options => 'FollowSymlinks ExecCGI',
custom_fragment => "PassengerAppRoot /var/www/html/redmine\n RailsBaseURI /redmine",
},
],
aliases => [
{ alias => '/redmine',
path => '/usr/src/redmine',
},
],
}
Plugin Parameters
#####ensure
Wether the plugin should be installed.
Possible values are installed, latest, and absent.
#####source
Repository of the plugin. Required
#####version
Set to desired version.
#####provider
The vcs provider. Default: git
Contributing
See the wiki for further information about contributing to this module: https://github.com/johanek/johanek-redmine/wiki
##2.3.0 WARNING: With the next major version (3.0.0) we will up the default redmine version. Check if you can upgrade to 2.6.x or explicitly set your version. Now passenger starts redmine on apache start. This removes the delay the first visitor experiences after a restart of the webserver.
###Features
- Start a passenger worker for redmine when apache starts
##2.2.0
###Notes
This version improves the experience for users who just want to get redmine working
out of the box without much configuration.
For those of you who already have a vhost set up and want to get redmine running in
a subdirectory, we have a new www_subdir
setting.
Ubuntu 10.04 support has been dropped because it has been deemed too old.
###Features
- Option to install redmine in a directory relative to the webroot
- CentOS support
###Bugfixes
- Set the webroot correctly on non Redhat based systems
- Added note on requiring EPEL
- Log file rotation now uses the install dir and not the symlink
##2.1.0
###Notes
You can now manage your redmine plugins with the newly added redmine::plugin
type. All
standard actions such as installing, updating and removing are supported.
This release deprecates wget. It will be removed in the next major version. Please use a
version control system like git instead.
###Features
- Deprecate wget provider
- Added support for plugins
- Ubuntu 14.04 (trusty) support
###Bugfixes
- Specify gem versions for tests
- Fix unbound dependency versions
- Fixes to the wget provider
- Fix evaluation error in Puppet 4
##2.0.0
###Features
- Automaticially install the correct VCS provider
- Detect ruby version and set database adapter accordingly
##1.2.1
###Features
- Improved Metadata quality
##1.2.0
###Notes This release fixes some dependency races that could occur because some requires where missing. Additionally, postgresql can now be selected as the database adapter.
###Features
- Postgresql support
###Bugfixes
- Require all packages before doing install
- Fix MySQL dependency order
##1.1.0
###Features
- Added debian support
- Custom configuration options
- Add ImageMagick to debian
##1.0.1
###Bugfixes
- Fixed whitespace in documentation
##1.0.0
###Notes With rubyforge no longer available, the module now downloads redmine from the official repos or from a user provided url.
###Features
- Added VCS support
- Git is now the default provider
- Added download url to the options
- Added metadata.json
- Tests now include linting and syntax checking
- Run redmine updates
- Support for mariadb
###Bugfixes
- Removed deletion of the default apache site
- Fix dependencies for debian
- Fix file permissions
Dependencies
- puppetlabs/stdlib (>=3.2.0 < 5.0.0)
- puppetlabs/mysql (>= 2.0.0 < 3.0.0)
- puppetlabs/postgresql (>= 3.3.0 < 5.0.0)
- puppetlabs/apache (>= 1.0.0 < 2.0.0)
- puppetlabs/concat (>= 1.0.0 < 2.0.0)
- puppetlabs/vcsrepo (>= 1.0.0 < 2.0.0)
Copyright (C) 2013-2015 Johan van den Dorpe and Contributors 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.