blob: 8af56ca4c208d28b48247fbd82c35babde91b582 [file] [log] [blame]
class etherpad_lite::mysql {
include etherpad_lite
package { 'mysql-server':
ensure => present
}
package { 'mysql-client':
ensure => present
}
service { "mysql":
enable => true,
ensure => running,
hasrestart => true,
require => [Package['mysql-server'],
Package['mysql-client']]
}
exec { "create-etherpad-lite-db":
unless => 'mysql --defaults-file=/etc/mysql/debian.cnf etherpad-lite',
path => ['/bin', '/usr/bin'],
command => "mysql --defaults-file=/etc/mysql/debian.cnf -e \"create database \`etherpad-lite\` CHARACTER SET utf8 COLLATE utf8_bin;\"",
require => [Service['mysql'],
File["${etherpad_lite::base_install_dir}/etherpad-lite/settings.json"]]
} ->
exec { "grant-etherpad-lite-db":
unless => "mysql -ueplite -p\"`grep password ${etherpad_lite::base_install_dir}/etherpad-lite/settings.json | cut -d: -f2 | sed -e 's/.*\"\(.*\)\".*/\1/'`\" etherpad-lite",
path => ['/bin', '/usr/bin'],
command => "mysql --defaults-file=/etc/mysql/debian.cnf -e \"grant all on \`etherpad-lite\`.* to 'eplite'@'localhost' identified by '`grep password ${etherpad_lite::base_install_dir}/etherpad-lite/settings.json | cut -d: -f2 | sed -e 's/.*\"\(.*\)\".*/\1/'`';\" mysql",
require => [Service['mysql'],
File["${etherpad_lite::base_install_dir}/etherpad-lite/settings.json"]]
}
}