type: install version: 1.7.3 id: drupal name: Drupal logo: images/Drupal.png homepage: https://new.drupal.org/home baseUrl: https://raw.githubusercontent.com/jelastic-jps/drupal/master/ mixins: - configs/vers.yaml categories: - apps/cms - apps/popular - apps/content-management globals: ADMIN_PASS: "${fn.password}" DB_PASS: "${fn.password(10)}" APACHE_PATH: "/var/www/" LOG_FILE: "/install_drupal.log" description: Drupal is an open-source content management platform that enables users to create and manage various websites and web applications. nodes: - cloudlets: 16 nodeType: apache2 engine: php8.3 - cloudlets: 8 nodeType: mysql8 onInstall: - cmd[sqldb]: |- MYSQL_PWD=${nodes.mysql8.password} mysql -uroot -e "CREATE DATABASE drupal;" MYSQL_PWD=${nodes.mysql8.password} mysql -uroot -e "CREATE USER 'drupal'@'%' IDENTIFIED BY '${globals.DB_PASS}';" MYSQL_PWD=${nodes.mysql8.password} mysql -uroot -e "GRANT ALL PRIVILEGES ON drupal.* To 'drupal'@'%' WITH GRANT OPTION;" - cmd [cp]: |- echo "extension=gd.so; mbstring.encoding_translation = 0; zend_extension=/usr/lib64/php/modules/opcache.so;" > /etc/php.d/drupal-php.ini - restartNodes: nodeGroup: cp - cmd [cp]: - rm -rf ${SERVER_WEBROOT}/ROOT - wget -O drush.phar https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar - chmod +x drush.phar - cmd [cp]: |- sudo mv /var/www/drush.phar /usr/local/bin/drush user: root - cmd [cp]: |- curl -fsSL "https://getcomposer.org/installer" -o ${globals.APACHE_PATH}/installer 2>&1 1>>${globals.APACHE_PATH}${globals.LOG_FILE} && php installer 2>&1 1>>${globals.APACHE_PATH}${globals.LOG_FILE} composer create-project drupal/legacy-project:${globals.version_drupal} ${SERVER_WEBROOT}/ROOT cd /var/www/webroot/ROOT/ rm -rf vendor composer config allow-plugins.composer/installers true composer config allow-plugins.drupal/core-composer-scaffold true composer config allow-plugins.drupal/core-project-message true composer config allow-plugins.drupal/core-vendor-hardening true - cmd [cp]: cd /var/www/webroot/ROOT/ && composer require drush/drush 2>&1 1>>${globals.APACHE_PATH}${globals.LOG_FILE} && vendor/bin/drush -y si standard --db-url='mysql://drupal:${globals.DB_PASS}@${nodes.sqldb.address}/drupal' --site-name="Jelastic Drupal" --account-name="admin" --account-pass="${globals.ADMIN_PASS}" --account-mail="${user.email}" 2>&1 1>>${globals.APACHE_PATH}${globals.LOG_FILE} - cmd [cp]: - echo "\$settings['trusted_host_patterns'] = array( '^${env.domain}$', '^www\.${env.domain}$', );" >> /var/www/webroot/ROOT/sites/default/settings.php - chown apache:apache /var/spool/clientmqueue user: root success: | Use the following credentials to access the Drupal admin panel: **Admin panel URL:** [${env.protocol}://${env.domain}/](${env.protocol}://${env.domain}/) **Admin name:** admin **Admin password:** ${globals.ADMIN_PASS} To add a custom domain name for your Drupal installation, follow the steps described in our [documentation](https://www.virtuozzo.com/application-platform-docs/custom-domains/).