From d4f4c68ae93af68b802c0e7d0f9c1749a6ae8646 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Tue, 28 Jul 2020 15:19:10 -0300 Subject: Replace drupal8::composer and drupal9::composer by a single drupal::composer --- manifests/role/dev/drupal/composer.pp | 49 +++++++++++++++++++ manifests/role/dev/drupal/composer/base.pp | 75 ++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 manifests/role/dev/drupal/composer.pp create mode 100644 manifests/role/dev/drupal/composer/base.pp (limited to 'manifests/role/dev/drupal') diff --git a/manifests/role/dev/drupal/composer.pp b/manifests/role/dev/drupal/composer.pp new file mode 100644 index 0000000..cb81380 --- /dev/null +++ b/manifests/role/dev/drupal/composer.pp @@ -0,0 +1,49 @@ +# +# Class for a Drupal development website using drupal-composer +# +class nodo::role::dev::drupal::composer( + $project = 'drupal', + $project_folder = '/srv/shared', # '/vagrant', '/srv/kvmx' + $project_user = 'user', # 'vagrant' + $db_name = 'drupal', + $db_password = 'hackme', +) { + include nodo::role::dev::drupal::composer::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 => " + + Options Indexes Includes FollowSymLinks MultiViews + AllowOverride All + Require all granted + ", + } + + 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"], + #} +} diff --git a/manifests/role/dev/drupal/composer/base.pp b/manifests/role/dev/drupal/composer/base.pp new file mode 100644 index 0000000..986ed17 --- /dev/null +++ b/manifests/role/dev/drupal/composer/base.pp @@ -0,0 +1,75 @@ +# +# Base Class for a Drupal development website using Composer +# +class nodo::role::dev::drupal::composer::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, + } +} -- cgit v1.2.3