Skip to content

7. Installation

Natkeeran edited this page Sep 5, 2023 · 67 revisions

ISLE-DC (Docker)

Fresh Build

git clone --branch 1.0.0-beta1 https://github.com/digitalutsc/isle-dc.git isle-dc-lite
cd isle-dc-lite
make lite_dev

To Rebuild

make clean
composer clear-cache 
make lite_dev

For Windows Users:

Environment Setup:

  1. Install WSL2 and Ubuntu. Instructions for doing so can be found on the Ubuntu Website and the Microsoft Website

  2. Download and install Docker Desktop for Windows. In Docker Desktop, navigate to Settings (gear icon in the menu bar) > Resources > WSL Integration and check "Enable integration with my default WSL distro". Also, under "Enable integration with additional distros," turn on the Ubuntu distribution you are using. If WSL2 is currently running, close it by running wsl --shutdown in an elevated Powershell window.

    NOTE: You should not ever have to run Docker Desktop with elevated privileges (as administrator). If a message appears stating that the current user does not have privilleges, run this command in an elevated Command Prompt window:

    net localgroup docker-users "your-user-id" /ADD
    

    NOTE: If a message appears stating that you should convert from WSL1 to WSL2, run the following in a normal (non-elevated) Windows Command Prompt

    wsl --set-version Ubuntu-<VERSION NUMBER> 2
    wsl --list --verbose    # the version number next to the Ubuntu distribution should be 2
    
  3. Install GNU make.

    sudo apt install make
  4. Open WSL2 (Start > Ubuntu Version) and run the build commands found above. Make sure to clone the isle-dc repository within the WSL2 filesystem (do not clone in /mnt or any of its subdirectories).

  5. Check if everything works. There should be a Drupal website present at https://islandora.traefik.me/

Manual Steps (1.x Installation)

The following instructions only to setup the Drupal based site. Other required components such as Solr, Image Server, Blazegraph etc are assumed to be installed and available. To install drupal, you need to setup a domain, with it pointing to the site_dir. Further, you need a database.

  • Clone the repo git clone -b config_sync_context https://github.com/digitalutsc/islandora-sandbox.git site_dir
  • Paste the database info into assets/patches/default_settings.txt
$databases['default']['default'] = array (
  'database' => '####',
  'username' => '###',
  'password' => '###',
  'prefix' => '',
  'host' => 'localhost',
  'port' => '3306',
  'namespace' => 'Drupal\\mysql\\Driver\\Database\\mysql',
  'driver' => 'mysql',
  'autoload' => 'core/modules/mysql/src/Driver/Database/mysql/',
);
  • Install Drupal code via composer
sudo composer install
  • Setup private files dir

from the site_dir, you can issue the following command. Restrict it as required.

mkdir web/sites/default/private
  • Install the site
sudo ./vendor/drush/drush/drush si -y --existing-config minimal --account-pass  {{ password }} 
  • Ingest required taxonomy terms
sudo ./vendor/drush/drush/drush migrate:import islandora_tags
  • Configure the endpoints for solr, image server and blazegraph as required.

Vagrant up the playbook

https://github.com/digitalutsc/islandora-playbook/tree/islandora_lite (please note that playbook is currently behind few steps!)

Manually installing dsu theme

Usually it can be run as deployment for each site (https://github.com/digitalutsc/islandora_lite_installation/blob/main/scripts/install_theme.sh), but this is meant for the scenario which theme has be be install manually.

git clone https://github.com/digitalutsc/dsu_sites_config "${site_path}"/dsu_sites_config
  • Download utsc logo
wget -P "${site_path}"/web/sites/default/files https://digital.utsc.utoronto.ca/sites/default/files/logo.svg 
  • Make sure ssh-key is setup, and be able to download private github repo
git clone git@github.com:digitalutsc/dsu_subtheme_barrioDepartments.git "${site_path}"/web/themes/contrib/dsu_subtheme_barrioDepartments
  • Clear cache
drush cr
  • Enable theme
drush -y then barriodepartments
drush -y config-set system.theme default barriodepartments
  • Import theme settings
drush -y config-import --partial --source="${site_path}"/dsu_sites_config/all/themes
  • Import custom blocks in header and footers
drush ib
  • Import all default blocks (run it with with sites which has Islandora_lite content model)
drush  -y config-import --partial --source="${site_path}"/dsu_sites_config/all/blocks
  • Clear caches
drush cr

Hero Banner

Add Banner images

  • Enable drupal_hero_banner module
  • Go to /admin/content, add media > Hero Banner Image
  • Configure Hero Description

image

==> it's for Screenshot 2023-08-11 at 10 48 45 AM

  • Configure Hero Image:

image

==> it's for Screenshot 2023-08-11 at 10 50 12 AM

Setup the block

  • Go to /admin/structure/block, place Hero banner: 16:9 and 16:5 Mixed aspect ratio - Hero banner - front page in a region

image

Add Landing page node

  • Go to /admin/content > Add content > Landing page, In Hero Banner (Homepage Only), click add Media, and select the newly added media as image

  • Go to /admin/config/system/site-information, set the new create Landing page as Front page.

Manually install Browse by taxonomy terms interface

drush -y config-import --partial --source="...."

Manually install Access Control with Group

composer require digitalutsc/islandora_group
  • By that, it will install the dependency modules:
        "drupal/group": "^3.0@RC",
        "drupal/groupmedia": "^4.0@alpha",
        "drupal/group_permissions":"^2.0@alpha",
        "drupal/rules" : "^3.0@alpha",
        "drupal/media_library_edit":"^3.0"

Install module islandora_group_defaults to have default general setup for Repository Items model setup

composer require digitalutsc/islandora_group_defaults
  • Enable the modules:
drush -y pm:enable group groupmedia group_permissions gnode islandora_group_defaults media_library_edit
drush en -y islandora_group

Note: If newly created groups don't show up in admin/group, make sure current logged in user has role as Administrator role.

  • In Islandora Group module configuration /admin/config/access-control/islandora_group,
    • select "Islandora_access" in For Private Group
    • select "field_access_terms" for Node and Media sections.

Setup Private file System

  • Create a private_file directory at the same directory of files at /web/sites/default
mkdir web/sites/default/private_files
  • Change ownership of private_files
chown -R www-data:www-data web/sites/default/private_files
  • Open the settings.php in editor, find "file_private_path"
sudo nano web/sites/default/settings.php
Clone this wiki locally