Clone our custom Drupal core system:
katy@katyswain:/var/www$ git clone ssh://katy@katyswain.me/home/katy/git/sites/pmpg pmpg
Cloning into 'pmpg'...
done.Install "contrib" modules, PHP libraries, and other dependencies:
katy@katyswain:/var/www$ cd pmpg/
katy@katyswain:/var/www$ composer installOh! And to get around file permission issues when working with files owned by the web server process, we have to be a member of the 'www-data' group:
katy@katyswain:/var/www/pmpg$ sudo adduser katy www-dataAnd we'll have to log out and back in again for this to take effect (irritating):
katy@katyswain:/var/www/pmpg$ groups
staff sudo www-data usersCreate a directory for the site's file storage (images, PDFs, temporary files, etc.):
katy@katyswain:/var/www/pmpg$ cd web/sites/default/
katy@katyswain:/var/www/pmpg/web/sites/default$ mkdir files
katy@katyswain:/var/www/pmpg/web/sites/default$ sudo chown www-data:www-data files
[sudo] password for katy:
katy@katyswain:/var/www/pmpg/web/sites/default$ ls -l
total 92
-rw-rw-r-- 1 katy staff 10930 May 27 02:45 default.services.yml
-rw-rw-r-- 1 katy staff 1002 May 27 02:45 default.settings.local.php
-rw-rw-r-- 1 katy staff 35105 May 27 02:45 default.settings.php
drwxrwxr-x 2 www-data www-data 4096 May 27 03:08 files
-rwxrwxr-x 1 katy staff 35172 May 27 02:45 settings.phpNow you just have to configure Apache to serve the site from '/var/www/pmpg/web/' (probably replacing 'pmpg' as appropriate), which we have left as an exercise for the reader. [TODO: Don't leave it as an exercise for the reader.] And you will have to do whatever you have to do that your desired fully-qualified domain name (FQDN) resolves as it should, which will of course vary depending on your circumstances.