Update, upgrade and install web server + DB

				
					sudo apt-get update -y && sudo apt-get upgrade -y

sudo apt install apache2
sudo systemctl enable apache2 && sudo systemctl start apache2

sudo systemctl start mariadb && sudo systemctl enable mariadb
sudo systemctl status mariadb
				
			

Install PHP, composer and dependencies

				
					apt-get install php

apt-get install composer

apt-get install php-curl php-gd php-dom php-mysql
				
			

Setup composer with Drupal and create your project. (using ^10 instead of ^9 gives you Drupal10)

				
					cd /var/www/html
git clone https://github.com/drupal-composer/drupal-project.git

composer create-project drupal/drupal/recommended-project:^9 YOURPROJECTNAMEHERE
				
			

Prepare your DB, you can launch mariadb and create your user/database : 

CREATE USER ‘drupal’@’localhost’ IDENTIFIED BY ‘YourStrongPasswordHere’;
CREATE DATABASE drupal;
GRANT ALL PRIVILEGES ON drupal.* TO ‘drupal’@’localhost’;
FLUSH PRIVILEGES;
EXIT;
				
					cd /etdc/apache2/sites-available/
touch drupal.conf

vi drupal.conf
				
			

Put this into the drupal.conf file (change yourprojectname)

<VirtualHost *:80>
ServerName yourserverName.tld
DocumentRoot /var/www/html/YOURPROJECTNAMEHERE/web
 
<Directory /var/www/html/YOURPROJECTNAMEHERE/web>
AllowOverride All
</Directory>
 
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
 
</VirtualHost>
				
					sudo a2enmod rewrite

sudo a2ensite drupal.conf

cd /var/www/html

chown -R www-data:www-data YOURPROJECTNAMEHERE/


find . -type d -exec chmod 755 {} \;

find . -type f -exec chmod 644 {} \;

systemctl reload apache2
				
			

Finalize on the browser

If you want to add the civicTheme, just use composer like this: 

				
					composer require 'drupal/linkit:^6.0@beta'
composer require salsadigitalauorg/civictheme