The xlsform
server runs http://xlsform.opendatakit.org. This repo describes how to setup that machine.
We currently use a small (512MB, 20GB) box running Ubuntu 16.04 LTS on Digital Ocean. We connect via SSH on port 22 with a private key. Passwords are disabled for remote root login.
You will need to create a user called ubuntu
for Ansible to use. To ensure the ubuntu
user can run passwordless sudo, run sudo visudo
and confirm these lines below are present, in this order, and are not commented out on the remote machine.
# User privilege specification
root ALL=(ALL:ALL) ALL
ubuntu ALL=(ALL) NOPASSWD: ALL
# Members of the admin group may gain root privileges
admin ALL=(ALL) ALL
You'll also need to setup create a RSA key pair on the remote machine. Once you do:
- Copy the
~/.ssh/id_rsa
file toxlsform-server/secrets/id_rsa
on the local machine. - Add
id_rsa.pub
to~/.ssh/authorized_keys
on the remote machine.
- Install ansible v2.2.0 or later.
- Clone or download this repo.
- Read over
playbook.yml
and the files inroles/
to understand behavior. - Ensure the correct IP to the machine is in
hosts
file. - Ensure
id_rsa
is insecrets/
. - In
xlsform-server/
, runansible-playbook -i provisioning/hosts provisioning/playbook.yml
.
You may wish to configure ansible to disable host checking and disable retry files.