Provider Registry Server Install Notes

From IHRIS Wiki

Installation and configuration notes on Ubuntu 12.04 (Precise).

All files are in hosted on launchpad

Installation

Installation instructions for Amazon EC2 instance running Ubuntu 12.04 LTS 64-bit w/ PHP 5.3 and key/pair in the file ~/.ssh/ec2-pr.pem <source lang='bash'> ssh -i ~/.ssh/ec2-pr.pem -l ubuntu XXXX.compute-1.amazonaws.com sudo apt-get install bzr slapd ldap-utils phpldapadmin cd ~/ bzr branch lp:rhea-pr </source> Note, you will be asked for the administrator password for ldap.

Configure Custom Schema

See this for more detailed explanations.

<source lang='bash'> sudo /etc/init.d/slapd stop </source>

Link to bzr: <source lang='bash'> sudo cp ~/rhea-pr/ldap/provider.schema /etc/ldap/schema sudo chmod 644 /etc/ldap/schema/provider.schema sudo chown root:root /etc/ldap/schema/provider.schema sudo cp ~/rhea-pr/ldap/slapd.conf /etc/ldap/slapd.conf sudo chmod 644 /etc/ldap/slapd.conf sudo chown openldap:openldap /etc/ldap/slapd.conf </source>


<source lang='bash'> sudo mv /etc/ldap/slapd.d /etc/ldap/slapd.d.backup_`date +"%d_%m_%y"` sudo mkdir /etc/ldap/slapd.d sudo chown -R openldap:openldap /etc/ldap/slapd.d sudo chmod 755 /etc/ldap/slapd.d sudo slaptest -f /etc/ldap/slapd.conf -F /etc/ldap/slapd.d sudo chown -R openldap:openldap /etc/ldap/slapd.d sudo /etc/init.d/slapd start </source>

Load Base Organizational Units

Saved in bzr file ldap/base_organizational_units.ldif

<source lang='bash'> sudo /etc/init.d/slapd stop sudo -su openldap slapadd -l ~/rhea-pr/ldap/base_organizational_units.ldif sudo /etc/init.d/slapd start </source>

Changing admin password

You may not need to do this!

Saved in bzr file ldap/admin_pass.ldif

We need to copy and edit in a new location because we will set the password

Generate admin password: <source lang='bash'> slappasswd </source> should give you something like:

New password:
Re-enter password:
{SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m

Now we need to add this to the admin_pass.ldif by changing:

userPassword: {SSHA}GjvNQ/pWBDY568jLRFPoTNJsuKTohwrA

to

userPasswrod: {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m

<source lang='bash'> sudo /etc/init.d/slapd stop sudo -su openldap slapadd -l admin_pass.ldif sudo /etc/init.d/slapd start </source>

Load Sample iHRIS Data

Saved in bzr file ldap/ihris_sample_export.ldif


<source lang='bash'> sudo /etc/init.d/slapd stop sudo -su openldap slapadd -l ~/rhea-pr/ldap/ihris_sample_export.ldif sudo /etc/init.d/slapd start </source>

OpenLDAP Web Services

Do a: <source lang='bash'>

ln -s ~/rhea-pr/webservices /var/www

</source> You will also need to set the passwords in the files:

  • ~/rhea-pr/webservices/test.php
    • ~/rhea-pr/webservices/lookupbyid/epidtest.php

Now webservices will be on http://localhost/webservices. These include:

Currently the EC2 instance is at ec2-23-20-99-105.compute-1.amazonaws.com so you should be able to access the webservices here:

For a list of valid NIDs to search on you can do: <source lang='bash'> grep ^nid ~/rhea-pr/ldap/ihris_sample_export.ldif | awk -F": " '{print $2}' </source> which should return a list of (randomly generated) NIDs starting with:

3525410 
3679883 
5871571 
5217592 
8103869 
3270751 
3926031 
6243516 
5579562 
4967987 
5239089 
7995164 
7098176 
4209805 
5218322 
4885570 
3231963 
7931566 
5924499 
2215160 

So for example, you can lookup the EPID of someone with NID 3525410 by:

OpenLDAP Web User Interface

http://localhost/phpldapadmin

You need to edit the file "/etc/phpldapadmin/config.php" to change the login bind_id to: <source lang='php'> $servers->setValue('login','bind_id','cn=admin,dc=moh,dc=gov,dc=rw'); </source> you also need to set the server base to: <source lang='php'> $servers->setValue('server','base',array('dc=moh,dc=gov,dc=rw')); </source>

Use for your login the password you chose above.


You can see (the first 25) of your providers here

Siege

Test throughput with siege: <source lang='bash'>

 siege -c50 -t1M   http://localhost/webservices/lookupbyid/epid/?id_type=NID\&id_number=5871571 

</source> test 50 concurrent users for one minute on an HP Envy 13 gives:

Transactions:		        5845 hits
Availability:		      100.00 %
Elapsed time:		       59.89 secs
Data transferred:	        0.15 MB
Response time:		        0.02 secs
Transaction rate:	       97.60 trans/sec
Throughput:		        0.00 MB/sec
Concurrency:		        1.57
Successful transactions:        5845
Failed transactions:	           0
Longest transaction:	        0.20
Shortest transaction:	        0.00