-
Mika Perälä authoredMika Perälä authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
init.pp 4.75 KiB
# Class: skadereg
# ===========================
#
# Full description of class skadereg here.
#
# Parameters
# ----------
#
# Document parameters here.
#
# * `sample parameter`
# Explanation of what this parameter affects and what it defaults to.
# e.g. "Specify one or more upstream ntp servers as an array."
#
# Variables
# ----------
#
# Here you should define a list of variables that this module would require.
#
# * `sample variable`
# Explanation of how this variable affects the function of this class and if
# it has a default. e.g. "The parameter enc_ntp_servers must be set by the
# External Node Classifier as a comma separated list of hostnames." (Note,
# global variables should be avoided in favor of class parameters as
# of Puppet 2.6.)
#
# Examples
# --------
#
# @example
# class { 'skadereg':
# servers => [ 'pool.ntp.org', 'ntp.local.company.com' ],
# }
#
# Authors
# -------
#
# Andreas Alvarsson <andal699@student.liu.se>
#
# Copyright
# ---------
#
# Copyright 2016 Andreas Alvarsson
#
class skadereg(
$mysql_password, $mysql_backup_password
){
::users::liu_user { 'andal699':
commonname => 'Andreas Alvarsson',
shell => '/bin/bash',
sshkey => 'AAAAB3NzaC1yc2EAAAADAQABAAACAQDCdb9hWgucRRTpDEH1ozBsWXfC+zTnZEO8rrnuqLlwIy23vEaUK7pJ9tQ7AzdR3+fp6yhWBNOlWC9UT70TnVClS1NfXGXHep0J0yWqNnyXcKviKpVB/p9TOVOULrRX9o3oczYxQa4Bi+eYUfk/en2V6O8tIfYtx5AdWUoofdLYNSpCyrHD1xoH7k1/c+OfW0S3fR5f12n/5u8JTHrztDnpy79CfEtwgMr1pCMjOaiM+OIDYlhNJMvlBo5C6mcDls93snctUR1Zef+sJEznb739uw91f5Yqf5FUBLxXCBi3eveJacBVRVg++ZPzyZ9VHIlBz3OPZ1WEjiM/IRJDBXD4I5MoxnM0Urv2wZBr0+G+1cS916KKraMuEfJHf2Qg4O3L3kZY2zNN5DqRmTx1BflTqe2XdPCCMQJiQi37WjE4fOGfNVsAR2VENhw/TMzc8bcagrrIzeBm3dA5e3R7nTfloPufU6IlIwI9qvCmdI2w0rE3Ve6KHtTzWszjsFtVeOzxVzYkG6GQlT1vr867Ayvx8SWE3GixHiIRByw4BEhFVJWNN/DBT88qd61StuIvWEawZ4WiTGNYfh2SVDIy9Jrcp7Nfg1knK1OtYr+wnjO9OrJtePfo0oo9xwQ3GfwCxni8YJKp40BmfWT/fpY9Pmup71adhaPxPHnELGOeVG/fGw==',
}
include skadereg::firewall
include ::yum::centos_scl
include ::apache
class { '::apache::mod::php':
package_name => 'php55-php'
}
include ::apache::mod::rewrite
package {
'php55-php-pdo':
ensure => installed;
'php55-php-mbstring':
ensure => installed;
'php55-php-mysqlnd':
ensure => installed;
'php55-php-common':
ensure => installed;
}
file { '/etc/httpd/modules/libphp5.so':
ensure => link,
target => '/opt/rh/httpd24/root/usr/lib64/httpd/modules/libphp55-php5.so',
before => Service['httpd']
}
include ::certdist
$cert = "/etc/pki/tls/certs/cert-${::fqdn}.pem"
$chain = "/etc/pki/tls/certs/chain-${::fqdn}.pem"
$key = "/etc/pki/tls/private/${::fqdn}.key"
apache::vhost { 'default:80':
servername => $::fqdn,
default_vhost => true,
port => '80',
docroot => '/var/www/html',
redirect_status => 'permanent',
redirect_dest => "https://${::fqdn}/",
}
apache::vhost { "${::fqdn}:443":
servername => $::fqdn,
port => '443',
ssl => true,
ssl_cert => $cert,
ssl_chain => $chain,
ssl_key => $key,
headers => ['Set Strict-Transport-Security "max-age=31536000"',],
docroot => '/var/www/skadereg/public',
directories => [
{
path => '/var/www/skadereg/public',
allow_override => [ 'ALL' ],
directoryindex => 'index.php',
}
]
}
file { '/var/www/skadereg/':
ensure => directory,
owner => 'andal699',
group => 'apache',
mode => '0770',
recurse => true
}->
vcsrepo { '/var/www/skadereg':
ensure => latest,
before => File['/var/www/skadereg/public'],
provider => git,
source => 'ssh://git@gitlab.it.liu.se:29418/andal699/laravel.git',
user => 'andal699'
}->
file { '/var/www/skadereg/.env':
ensure => file,
owner => 'andal699',
group => 'apache',
mode => '0660',
content => template("${module_name}/dotenv.erb"),
}
class { '::mysql::server':
root_password => $mysql_password,
databases => {
'homestead' => {
ensure => present,
charset => 'utf8',
}
},
grants => {
'root@%/*.*' => {
ensure => present,
options => ['GRANT'],
privileges => ['ALL'],
table => '*.*',
user => 'root@%',
}
},
override_options => {
mysqld => {
'bind-address' => '0.0.0.0',
port => 33060,
}
}
}
class { '::mysql::server::backup':
backupuser => 'backupuser',
backuppassword => $mysql_backup_password,
backupdir => '/root/mysql_backups',
backupdirmode => '700',
backupdirowner => 'root',
backupdirgroup => 'root',
backuprotate => '7',
time => ['1','0'],
}
}