This project is abandoned
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)
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
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',
}
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.
#####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',
},
],
}
#####create_vhost
Enable or disable vhost creation. True by default. When disabling this option the vhost config is your responsibility.
#####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
See the wiki for further information about contributing to this module: https://github.com/johanek/johanek-redmine/wiki