diff options
Diffstat (limited to 'manifests/role/dev/drupal9')
-rw-r--r-- | manifests/role/dev/drupal9/base.pp | 75 | ||||
-rw-r--r-- | manifests/role/dev/drupal9/composer.pp | 49 |
2 files changed, 124 insertions, 0 deletions
diff --git a/manifests/role/dev/drupal9/base.pp b/manifests/role/dev/drupal9/base.pp new file mode 100644 index 0000000..74d1775 --- /dev/null +++ b/manifests/role/dev/drupal9/base.pp @@ -0,0 +1,75 @@ +# +# Base Class for a Drupal 9 development website +# +class nodo::role::dev::drupal9::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/drupal9/composer.pp b/manifests/role/dev/drupal9/composer.pp new file mode 100644 index 0000000..c705f6b --- /dev/null +++ b/manifests/role/dev/drupal9/composer.pp @@ -0,0 +1,49 @@ +# +# Class for a Drupal 9 development website using drupal-composer +# +class nodo::role::dev::drupal9::composer( + $project = 'drupal', + $project_folder = '/srv/shared', # '/vagrant', '/srv/kvmx' + $project_user = 'user', # 'vagrant' + $db_name = 'drupal', + $db_password = 'hackme', +) { + include nodo::role::dev::drupal9::base + + # 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>", + } + + file { [ "${project_folder}/web/sites", "${project_folder}/web/sites/default" ]: + ensure => directory, + owner => root, + group => root, + mode => '0755', + force => true, + } + + #file { "${project_folder}/web/sites/default/settings.local.php": + # ensure => present, + # owner => root, + # group => root, + # force => true, + # require => File["${project_folder}/web/sites/default"], + #} +} |