Skip to content

Commit

Permalink
Update README.md (#169)
Browse files Browse the repository at this point in the history
  • Loading branch information
dannylamb authored Mar 17, 2020
1 parent 5a0e2b1 commit f6b4a92
Showing 1 changed file with 7 additions and 65 deletions.
72 changes: 7 additions & 65 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,13 @@
# CLAW Vagrant Playbook
# Islandora Playbook
[![LICENSE](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](./LICENSE)

## Introduction

This is an Ansible playbook for Islandora CLAW. It also has a vagrant file to bring up a development
environment virtual machine for Islandora CLAW.
This is an Ansible playbook for Islandora 8. It also has a vagrant file to bring up a development
environment virtual machine for Islandora 8.

This virtual machine **should not** be used in production **yet**.

If you struggle with following the instructions for setting up the requirements a simpler step-by-step guidelines for turning nearly any computer into an Islandora CLAW environment can be found at "[for Beginners](forBeginners.md)".

## Requirements

1. [VirtualBox](https://www.virtualbox.org/)
2. [Vagrant](http://www.vagrantup.com/) (Known to work with 2.0.1 - 2.1.2)
3. [git](https://git-scm.com/)
4. [ansible](https://www.ansible.com/community) 2.3+
5. [virtualbox-vbguest](https://github.com/dotless-de/vagrant-vbguest) plugin (If targeting CENTOS)

## Variables

### System Resources
Expand All @@ -31,53 +21,16 @@ export ISLANDORA_VAGRANT_MEMORY=4096

### Using CENTOS

_CENTOS support is WIP and not to be considered stable_

Ubuntu 18.04 is the default Linux distribution used by claw-playbook. If you want to use CENTOS 7 instead, set the `ISLANDORA_DISTRO` environment variable to `centos/7`. The easiest way to do this is to export the environment variable into your shell before running Vagrant commands. Otherwise you will have to provide the variable for every Vagrant command you issue.
Ubuntu 18.04 is the default Linux distribution used by islandora-playbook. If you want to use CENTOS 7 instead, set the `ISLANDORA_DISTRO` environment variable to `centos/7`. The easiest way to do this is to export the environment variable into your shell before running Vagrant commands. Otherwise you will have to provide the variable for every Vagrant command you issue.

```bash
ISLANDORA_DISTRO="centos/7" vagrant up
ISLANDORA_DISTRO="centos/7" vagrant ssh
```

If you are not using `vagrant up` to bring up a box, and are running `ansible-playbook` against it manually, you will need to set `ansible_ssh_user` to `vagrant` for your hosts. It's easiest to add this value to `inventory/vagrant/group_vars/all.yml` to set the value for all hosts. This is not necessary if using Vagrant, as the ssh user is passed to Ansible via the Vagrantfile.

## Use

### Vagrant

If you're looking for a development environment, using our Vagrant deployment is easiest:

1. Clone the repo
2. `vagrant up`

### All-in-one provisioning with Ansible

If you want to provision an all-in-one remote Ubuntu environment, like a production server:

1. SSH into your remote server and add an [user with password-less sudo privileges](https://www.digitalocean.com/community/tutorials/how-to-create-a-sudo-user-on-ubuntu-quickstart), and make sure you can log in as that user. Its easiest if you use SSH keys for login, so that you an log in to the server without a password. Another option if you are not comfortable with password-less sudo is to set the `ansible_become_pass` variable in your inventory as outlined [here](http://docs.ansible.com/ansible/latest/become.html).
1. Clone the repository onto your local machine.
1. Create an inventory for your new environment ('production' in this example): `cp -r inventory/vagrant inventory/production`.
1. Edit `inventory/production/hosts` to point to your new environment by changing 'default' line to:
```
default ansible_ssh_host=my_ip_or_domain_name
```
Optionally if you need to specify a username, password or port to connect to the server you can specify those in the inventory file as well:
```
default ansible_ssh_host=my_ip_or_domain_name ansible_ssh_user=my_user ansible_ssh_pass=my_super_secret_password ansible_ssh_port=my_port
```
More information about inventories can be found in the [Ansible documentation](http://docs.ansible.com/ansible/latest/intro_inventory.html).
1. Update the inventory variables as you see fit to customize your Islandora installation.
1. You should modify `group_vars\all\passwords.yml` to use more secure passwords. These passwords can be encrypted using [Ansible Vault](https://docs.ansible.com/ansible/latest/vault.html) if you wish to keep your inventory secure.
1. Change the `drupal_trusted_host` configuration in `inventory/production/group_vars/webserver/drupal.yml` to reflect your IP or domain name
1. To run drupal on port 80, change the following variables:
* apache_listen_port to 80 in `inventory/production/group_vars/webserver/apache.yml`
* crayfish_drupal_base_url `inventory/production/group_vars/crayfish.yml`
* crayfish_gemini_base_url `inventory/production/group_vars/crayfish.yml`
* milliner.baseUrl `inventory/production/group_vars/karaf.yml`
1. Any other variable changes you wish.
1. Install the roles using `ansible-galaxy`: `$ ansible-galaxy install -r requirements.yml`
1. Provision the server: `$ ansible-playbook -i inventory/production playbook.yml`
Detailed installation and usage instructions can be found on the [official installation documentation for Islandora 8](https://islandora.github.io/documentation/installation/).

## Connect

Expand All @@ -101,13 +54,6 @@ The Fedora 5 REST API can be accessed at [http://localhost:8080/fcrepo/rest](htt

Authentication is done via [Syn](https://github.com/Islandora-CLAW/Syn) using [JWT](https://jwt.io) tokens.

### Tomcat Manager

* username: islandora
* password: islandora

You can access the Tomcat Manager administration UI at http://localhost:8080/manager

### Solr

You can access the Solr administration UI at http://localhost:8983/solr/
Expand Down Expand Up @@ -138,7 +84,7 @@ You can access the IIIF interface at: http://localhost:8080/cantaloupe/iiif/2/

### JWT

CLAW uses JWT for authentication across the stack. Crayfish microservices, Fedora, and Drupal all use them.
Islandora 8 uses JWT for authentication across the stack. Crayfish microservices, Fedora, and Drupal all use them.
Crayfish and Fedora have been set up to use a master token of `islandora` to make testing easier. To use it, just set
the following header in HTTP requests:

Expand All @@ -154,7 +100,6 @@ You have to select the islandora namespace in the [namespaces tab](http://localh

You can access the FITS Web Service at http://localhost:8080/fits/


### Matomo

CLAW Playbook installs an instance of the [Matomo](https://matomo.org/) (formally PIWIK) web analytics platform. You can access your instance at: http://localhost:8000/matomo
Expand All @@ -164,10 +109,7 @@ CLAW Playbook installs an instance of the [Matomo](https://matomo.org/) (formall

## Roadmap

1. Get feature parity with [CLAW Vagrant](https://github.com/Islandora-CLAW/claw_vagrant)
2. Break each role out into its own git repo, so they can be listed on galaxy
3. Test install on multiple boxes
4. Test with other operating systems (?)
Our highest priority moving forward is testing installation on different network topologies (e.g. 2, 3, 4 server setups, etc...)

## Maintainers

Expand Down

0 comments on commit f6b4a92

Please sign in to comment.