diff options
Diffstat (limited to 'manifests/role')
-rw-r--r-- | manifests/role/dev/drupal8.pp | 73 | ||||
-rw-r--r-- | manifests/role/dev/drupal8/base.pp | 75 | ||||
-rw-r--r-- | manifests/role/dev/drupal8/composer.pp | 31 |
3 files changed, 107 insertions, 72 deletions
diff --git a/manifests/role/dev/drupal8.pp b/manifests/role/dev/drupal8.pp index 9f559c0..9beee2e 100644 --- a/manifests/role/dev/drupal8.pp +++ b/manifests/role/dev/drupal8.pp @@ -1,79 +1,13 @@ # # Class for a Drupal 8 development website # -class nodo::role::dev::drupal8( +class nodo::role::dev::drupal8 inherits nodo::role::dev::drupal8::base ( $project = 'drupal', $project_folder = '/srv/shared', # '/vagrant', '/srv/kvmx' $project_user = 'user', # 'vagrant' $db_name = 'drupal', $db_password = 'hackme', ) { - include nodo::role::dev::virtual - include apache - include nodo::utils::development::web - include nodo::utils::development::php - - class { 'php': - series => [ '7' ], - manage_mod_php => '7', - } - - $php_version = $::php::params::version7 - - include database - include drupal - include php::composer - - # In case you want to use sqlite3 db - package { 'sqlite3': - ensure => installed, - } - - # In case you use makefiles - package { 'make': - ensure => present, - } - - # Xdebug config - # https://www.drupal.org/node/2488300 - #file { '/etc/php5/apache2/conf.d/20-xdebug-levels.ini': - #file { '/etc/php/5.6/apache2/conf.d/20-xdebug-levels.ini': - #file { '/etc/php/7.0/apache2/conf.d/20-xdebug-levels.ini': - file { "/etc/php/${php_version}/apache2/conf.d/20-xdebug-levels.ini": - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', - content => "[xdebug]\nxdebug.max_nesting_level=256\n", - require => Package['php'], - notify => Service['apache2'], - } - - # Fix previous typo error - file { [ '/etc/php/7.2/mods-available/20-xdebug-levels.ini' ]: - ensure => absent, - } - - #file { "/etc/php/${php_version}/apache2/conf.d/20-max-execution-time.ini": - # ensure => present, - # owner => 'root', - # group => 'root', - # mode => '0644', - # content => "max_execution_time=120\n", - # require => Package['php'], - # notify => Service['apache2'], - #} - - #file { "/etc/php/${php_version}/apache2/conf.d/20-memory-limit.ini": - # ensure => present, - # owner => 'root', - # group => 'root', - # mode => '0644', - # content => "memory_limit=512M\n", - # require => Package['php'], - # notify => Service['apache2'], - #} - # Do not use this password on production machines database::instance { $db_name: password => $db_password, @@ -192,11 +126,6 @@ class nodo::role::dev::drupal8( require => File["${project_folder}/vendor"], } - #apache::site { [ "localhost", "default", "000-default" ]: - apache::site { "localhost": - ensure => absent, - } - apache::site { "${project}": ensure => present, docroot => "${::apache::www_folder}/drupal-8", diff --git a/manifests/role/dev/drupal8/base.pp b/manifests/role/dev/drupal8/base.pp new file mode 100644 index 0000000..1c82387 --- /dev/null +++ b/manifests/role/dev/drupal8/base.pp @@ -0,0 +1,75 @@ +# +# Base Class for a Drupal 8 development website +# +class nodo::role::dev::drupal8::base { + include nodo::role::dev::virtual + include apache + include nodo::utils::development::web + include nodo::utils::development::php + + class { 'php': + series => [ '7' ], + manage_mod_php => '7', + } + + $php_version = $::php::params::version7 + + include database + include drupal + include php::composer + + # In case you want to use sqlite3 db + package { 'sqlite3': + ensure => installed, + } + + # In case you use makefiles + package { 'make': + ensure => present, + } + + # Xdebug config + # https://www.drupal.org/node/2488300 + #file { '/etc/php5/apache2/conf.d/20-xdebug-levels.ini': + #file { '/etc/php/5.6/apache2/conf.d/20-xdebug-levels.ini': + #file { '/etc/php/7.0/apache2/conf.d/20-xdebug-levels.ini': + file { "/etc/php/${php_version}/apache2/conf.d/20-xdebug-levels.ini": + ensure => present, + owner => 'root', + group => 'root', + mode => '0644', + content => "[xdebug]\nxdebug.max_nesting_level=256\n", + require => Package['php'], + notify => Service['apache2'], + } + + # Fix previous typo error + file { [ '/etc/php/7.2/mods-available/20-xdebug-levels.ini' ]: + ensure => absent, + } + + #file { "/etc/php/${php_version}/apache2/conf.d/20-max-execution-time.ini": + # ensure => present, + # owner => 'root', + # group => 'root', + # mode => '0644', + # content => "max_execution_time=120\n", + # require => Package['php'], + # notify => Service['apache2'], + #} + + #file { "/etc/php/${php_version}/apache2/conf.d/20-memory-limit.ini": + # ensure => present, + # owner => 'root', + # group => 'root', + # mode => '0644', + # content => "memory_limit=512M\n", + # require => Package['php'], + # notify => Service['apache2'], + #} + + #apache::site { [ "localhost", "default", "000-default" ]: + apache::site { "localhost": + ensure => absent, + } +} diff --git a/manifests/role/dev/drupal8/composer.pp b/manifests/role/dev/drupal8/composer.pp new file mode 100644 index 0000000..b27e980 --- /dev/null +++ b/manifests/role/dev/drupal8/composer.pp @@ -0,0 +1,31 @@ +# +# Class for a Drupal 8 development website using drupal-composer +# +class nodo::role::dev::drupal8::composer inherits nodo::role::dev::drupal8::base ( + $project = 'drupal', + $project_folder = '/srv/shared', # '/vagrant', '/srv/kvmx' + $project_user = 'user', # 'vagrant' + $db_name = 'drupal', + $db_password = 'hackme', +) { + # Do not use this password on production machines + database::instance { $db_name: + password => $db_password, + } + + apache::site { "${project}": + ensure => present, + docroot => "${project_folder}/web" + server_alias => "localhost ${project} ${project}.localhost ${project}.local", + mpm_user => $project_user, + mpm_group => $project_user, + manage_user => false, + manage_docroot => false, + custom_directives => " + <Directory ${project_folder}/web> + Options Indexes Includes FollowSymLinks MultiViews + AllowOverride All + Require all granted + </Directory>", + } +} |