Ensure that the server has a FQDN in DNS and can be accessed from outside your LAN. Commands preceded by $ require normal user privileges and in most of the doc the ubuntu user. Commands preceded by # are root privileged.
$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo reboot
$ sudo adduser ubuntu
$ sudo -i
# ssh-keygen -t rsa
# visudo
ubuntu ALL=(ALL) NOPASSWD:ALL
$ ssh-keygen -t rsa
$ ssh-copy-id ubuntu@localhost (This will prompt you for the ubuntu user password)
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible
-
Clone the repository, replace with the actual name of your institution
$ git clone https://github.com/mwotil/eduID_IdentityProvider.git <institution>-idp $ cd <institution>-idp
Create the inventory file for your institution, for more information: http://docs.ansible.com/ansible/intro_inventory.html
$ cp inventories/template inventories/<institution>
Open the inventory file with your favorite editor and change the ansible_host and ansible_user to your server environment. Don't forget to again replace .
Create the variables file for your institution, more information: http://docs.ansible.com/ansible/playbooks_variables.html
$ cp group_vars/template group_vars/<institution>
Open the variable files in your favorite editor and adapt the values to your setup.
Some values - passwords, credentials - are sensitive and should never be submitted to the Github repository. They are therefore stored in a file called secrets.yml, which is being ignored by Github.
Create the secrets.yml file
$ cp group_vars/secrets.yml.example group_vars/serets.yml
Open the secrets.yml file and add the sensitive values.
There are many ways to create random passwords/passphrases/salt, I prefer to use openssl for this task. You can replace 12 with a higher number for longer strings.
$ openssl rand -base64 12
$ ansible-playbook -i inventories/<institution> identity_provider.yml
RIF runs a resource registry at https://rif.renu.ac.ug/rr/
- SSH into your IdP server
- Copy the content of the IdP metadata file (/opt/shibboleth-idp/metadata/idp-metadata.xml) from your server and send it to technical@renu.ac.ug
- This metadata file will be added to the RIF metadata