UNPKG

openhim-cert-updater

Version:

Enables triggering an update of local OHIM certificate and informing remote, relevant OHIM machines about update.

170 lines (120 loc) 5.74 kB
# Setup Run OpenHIM with Vagrant - https://github.com/jembi/openhim-core-js/wiki/Running-the-OpenHIM-using-Vagrant - setup core vagrant - `cd /var/www/git/Regenstrief/OHIE/certificate_renewal/ohim` - `mkdir core; cd core;` - `vagrant init ubuntu/trusty64;` - set provisioner - Create the provisioner file: ``` cat > provision_ohim_core.sh <<EOF ## based on instructions found at http://openhim.readthedocs.io/en/latest/getting-started.html#installing-the-openhim-core echo "Begin provisioning of provision_ohim_core.sh..." ## Install Node.js, https://nodejs.org/en/download/package-manager/ #mkdir -p /etc/puppet/modules; #puppet module install willdurand/nodejs curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y nodejs build-essential ## Install MongoDB, https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-16-04 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927; echo 'deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse' | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list; sudo apt-get update; sudo apt-get install -y mongodb-org; sudo service mongodb start ## Install git sudo apt-get -y install git ## Install the OpenHIM-core package globally sudo npm install openhim-core -g ## Start the server openhim-core &> /dev/null & echo "Provisioning of provision_ohim_core.sh completed. [Success]." EOF ``` - Create the virual machine config file: ``` cat > virtual_machine_config.txt <<EOF # Configure Virtual Machine\n config.vm.provider "virtualbox" do |v|\n v.customize ["modifyvm", :id, "--memory", 1536]\n end\n EOF ``` - Create the port forwarding config file: ``` cat > port_forwarding.txt <<EOF # Configure port forwarding\n config.vm.network "forwarded_port", guest: 5000, host: 5000\n config.vm.network "forwarded_port", guest: 5001, host: 5001\n config.vm.network "forwarded_port", guest: 5050, host: 5050\n config.vm.network "forwarded_port", guest: 5051, host: 5051\n config.vm.network "forwarded_port", guest: 5052, host: 5052\n config.vm.network "forwarded_port", guest: 8080, host: 8080\n EOF ``` - Add configs and provisioners to the Vagrant file, before the last line ``` contents=$(cat virtual_machine_config.txt); sed -i '$i'"$(echo $contents)" Vagrantfile; contents=$(cat port_forwarding.txt); sed -i '$i'"$(echo $contents)" Vagrantfile; sed -i '$i'"$(echo 'config.vm.provision "shell", path: "provision_ohim_core.sh"')" Vagrantfile; ``` - Start the vagrant - `vagrant up --provider virtualbox` - Start the server - `openhim-core` - Test successful service - `https://localhost:8080/authenticate/root@openhim.org` Test the `ohim-cert-updater` node package - Setup the config.json file w/ only local machine - Create a self signed test certificate - `sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/ohim-selfsigned.key -out /etc/ssl/certs/ohim-selfsigned.crt` - Run it to test that local cert and key are updated - Create another vagrant config with the same settings as above, except replace the port forwarding file by running the following: ``` rm port_forwarding.txt; cat > port_forwarding.txt <<EOF # Configure port forwarding\n config.vm.network "forwarded_port", guest: 5000, host: 25000\n config.vm.network "forwarded_port", guest: 5001, host: 25001\n config.vm.network "forwarded_port", guest: 5050, host: 25050\n config.vm.network "forwarded_port", guest: 5051, host: 25051\n config.vm.network "forwarded_port", guest: 5052, host: 25052\n config.vm.network "forwarded_port", guest: 8080, host: 28080\n EOF ``` or ``` rm port_forwarding.txt; cat > port_forwarding.txt <<EOF # Configure port forwarding\n config.vm.network "forwarded_port", guest: 5000, host: 35000\n config.vm.network "forwarded_port", guest: 5001, host: 35001\n config.vm.network "forwarded_port", guest: 5050, host: 35050\n config.vm.network "forwarded_port", guest: 5051, host: 35051\n config.vm.network "forwarded_port", guest: 5052, host: 35052\n config.vm.network "forwarded_port", guest: 8080, host: 38080\n EOF ``` # deprecated - setup console vagrant - `cd /var/www/git/Regenstrief/OHIE/certificate_renewal/ohim` - `git clone https://github.com/jembi/openhim-console.git` - `cd openhim-console/infrastructure/development/env` - `vagrant up` - run console vagrant - `cd /var/www/git/Regenstrief/OHIE/certificate_renewal/ohim/openhim-console/infrastructure/development/env` - `vagrant ssh` - `cd /openhim-console` - `grunt serve` Open OpenHIM console - `http://0.0.0.0:9000` sudo cat > /etc/systemd/system/mongodb.service <<-MONGO_CONFIG [Unit] Description=High-performance, schema-free document-oriented database After=network.target [Service] User=mongodb ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf [Install] WantedBy=multi-user.target MONGO_CONFIG