# # Class for a Drupal 6 development website # class nodo::role::dev::drupal6( $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 include database include drupal class { 'php': series => [ '5' ], default_cli => '5', manage_mod_php => '5', } # Ensure we have an 6.x instance exec { 'drupal-download-6.x': command => '/usr/local/bin/drupal download 6', user => "root", creates => '/var/www/data/drupal-6', require => File['/usr/local/bin/drupal'], } # In case you want to use sqlite3 db package { 'sqlite3': ensure => installed, } # In case you use makefiles package { 'make': ensure => present, } # Do not use this password on production machines database::instance { $db_name: password => $db_password, } # We could simply using one symlink, but it might incur in # performance penalties by drush recursivelly searching for # plugins in the whole project tree. #file { "${::apache::www_folder}/drupal-6/sites/default": # ensure => $project_folder, # force => true, #} #file { "${::apache::www_folder}/drupal-6/sites/${project}": # ensure => $project_folder, # force => true, #} file { "${::apache::www_folder}/drupal-6/sites/default": ensure => directory, owner => root, group => root, mode => '0755', require => Exec['drupal-download-6.x'], force => true, } file { "${::apache::www_folder}/drupal-6/sites/${project}": ensure => "${::apache::www_folder}/drupal-6/sites/default", force => true, require => File["${::apache::www_folder}/drupal-6/sites/default"], } file { "${::apache::www_folder}/drupal-6/sites/default/settings.php": ensure => "${project_folder}/settings.php", owner => root, group => root, force => true, require => File["${::apache::www_folder}/drupal-6/sites/default"], } file { "${::apache::www_folder}/drupal-6/sites/default/files": ensure => "${project_folder}/files", owner => root, group => root, force => true, require => File["${::apache::www_folder}/drupal-6/sites/default"], } file { "${::apache::www_folder}/drupal-6/sites/default/themes": ensure => "${project_folder}/themes", owner => root, group => root, force => true, require => File["${::apache::www_folder}/drupal-6/sites/default"], } file { "${::apache::www_folder}/drupal-6/sites/default/modules": ensure => "${project_folder}/modules", owner => root, group => root, force => true, require => File["${::apache::www_folder}/drupal-6/sites/default"], } file { "${::apache::www_folder}/drupal-6/sites/default/libraries": ensure => "${project_folder}/libraries", owner => root, group => root, force => true, require => File["${::apache::www_folder}/drupal-6/sites/default"], } file { "${project_folder}": ensure => directory, owner => $project_user, group => $project_user, mode => '0755', } file { "${project_folder}/vendor": ensure => directory, owner => $project_user, group => $project_user, mode => '0755', require => File["${project_folder}"], } # Symlink to aid development file { "${project_folder}/vendor/drupal-6": ensure => "${::apache::www_folder}/drupal-6", require => File["${project_folder}/vendor"], } apache::site { "localhost": ensure => absent, } apache::site { "${project}": ensure => present, docroot => "${::apache::www_folder}/drupal-6", server_alias => "localhost ${project} ${project}.localhost ${project}.local", mpm_user => $project_user, mpm_group => $project_user, manage_user => false, manage_docroot => false, use => [ 'Drupal 6' ], require => Exec['drupal-download-6.x'], } }