johanek-redmine
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)
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',
},
],
}
create_vhost
Enable or disable vhost creation. True by default. When disabling this option the vhost config is your responsibility.
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