Provider Registry Server Install Notes: Difference between revisions
(Created page with "Installation and configuration notes on Ubuntu 12.04 (Precise). All files are in launchpad ==Installation== sudo apt-get install slapd ldap-utils phpldapadmin ==Configure Cust...") |
|||
(59 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Installation and configuration notes on Ubuntu 12.04 (Precise). | Installation and configuration notes on Ubuntu 12.04 (Precise). | ||
All files are in launchpad | All files are in hosted on [https://code.launchpad.net/rhea-pr launchpad] | ||
==Installation== | ==Installation== | ||
sudo apt-get install slapd ldap-utils phpldapadmin | 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== | ==Configure Custom Schema== | ||
See [http://www.howtoforge.com/installing-and-configuring-openldap-on-ubuntu-intrepid-ibex this] for more detailed explanations. | See [http://www.howtoforge.com/installing-and-configuring-openldap-on-ubuntu-intrepid-ibex this] for more detailed explanations. | ||
<source lang='bash'> | |||
sudo /etc/init.d/slapd stop | sudo /etc/init.d/slapd stop | ||
</source> | |||
Link to bzr (Ubuntu): | |||
<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 | |||
sudo mv /etc/ldap/slapd.d /etc/ldap/slapd.d.backup_`date +"%d_%m_%y"` | sudo mv /etc/ldap/slapd.d /etc/ldap/slapd.d.backup_`date +"%d_%m_%y"` | ||
sudo mkdir /etc/ldap/slapd.d | sudo mkdir -p /etc/ldap/slapd.d | ||
sudo chown -R openldap:openldap /etc/ldap/slapd.d | sudo chown -R openldap:openldap /etc/ldap/slapd.d | ||
sudo chmod 755 /etc/ldap/slapd.d | sudo chmod 755 /etc/ldap/slapd.d | ||
slaptest -f slapd.conf -F 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> | |||
Note source files are: | |||
*[http://bazaar.launchpad.net/~intrahealth+informatics/rhea-pr/trunk/view/head:/ldap/provider.schema ldap/provider.schema] | |||
*[http://bazaar.launchpad.net/~intrahealth+informatics/rhea-pr/trunk/view/head:/ldap/slapd.conf lpap/slapd.conf] | |||
==Load Base Organizational Units== | |||
Saved in bzr file [http://bazaar.launchpad.net/~rwandaehealth/rhea-pr/trunk/view/head:/ldap/base_organizational_units.ldif 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 | sudo /etc/init.d/slapd start | ||
</source> | |||
==Load User Data== | |||
Saved in bzr file [http://bazaar.launchpad.net/~rwandaehealth/rhea-pr/trunk/view/head:/ldap/admin_pass.ldif ldap/admin_pass.ldif] | |||
<source lang='bash'> | |||
sudo /etc/init.d/slapd stop | |||
sudo -su openldap slapadd -l ~/rhea-pr/ldap/admin_pass.ldif | |||
sudo /etc/init.d/slapd start | |||
</source> | |||
==Load Sample iHRIS Data== | ==Load Sample iHRIS Data== | ||
Saved in bzr file | Saved in bzr file [http://bazaar.launchpad.net/~rwandaehealth/rhea-pr/trunk/view/head:/ldap/ihris_sample_export.ldif 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: | |||
*[http://localhost/webservices/api.php Self Documenting API] | |||
*[http://localhost/webservices/lookupbyid/epid?id_type=NID&id_number=5871571 lookupbyid/epid] | |||
*[http://localhost/webservices/lookupbyid/nid?id_type=EPID&id_number=5fb07976-64dd-1031-9146-79bc5f92ba24 lookupbyid/nid] Note that this one may not return a result as the EPID may not be in your sample data | |||
== | Currently the EC2 instance is at rhea-pr.ihris.org so you should be able to access the webservices here: | ||
*http://rhea-pr.ihris.org/webservices/api.php | |||
*http://rhea-pr.ihris.org/webservices/lookupbyid/epid?id_type=NID&id_number=5871571 | |||
*http://rhea-pr.ihris.org/webservices/lookupbyid/nid?id_type=EPID&id_number=5fb07976-64dd-1031-9146-79bc5f92ba24 Note that this one may not return a result as the EPID may not be in your sample data | |||
===Getting sample NIDs=== | |||
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: | |||
<pre> | |||
3525410 | |||
3679883 | |||
5871571 | |||
5217592 | |||
8103869 | |||
3270751 | |||
3926031 | |||
6243516 | |||
5579562 | |||
4967987 | |||
5239089 | |||
7995164 | |||
7098176 | |||
4209805 | |||
5218322 | |||
4885570 | |||
3231963 | |||
7931566 | |||
5924499 | |||
2215160 | |||
</pre> | |||
So for example, you can lookup the EPID of someone with NID 3525410 by: | |||
*http://rhea-pr.ihris.org/webservices/lookupbyid/epid?id_type=NID&id_number=3525410 | |||
==OpenLDAP Web User Interface== | ==OpenLDAP Web User Interface== | ||
http://localhost/phpldapadmin | The administrative web interface is here: | ||
*http://localhost/phpldapadmin | |||
*http://rhea-pr.ihris.org/phpldapadmin/index.php | |||
E-mail Carl Leinter (cleitner@intrahealth.org) if you need the password for the EC2 instance. | |||
For example, you can see (the first 25) of your providers [http://rhea-pr.ihris.org/phpldapadmin/cmd.php?cmd=query_engine&server_id=1&query=none&format=list&showresults=na&base=ou%3DProviders%2Cdc%3Dmoh%2Cdc%3Dgov%2Cdc%3Drw&scope=sub&filter=objectClass%3D*&display_attrs=cn%2C+sn%2C+uid%2C+postalAddress%2C+telephoneNumber&orderby=&search=Search here] | |||
===Installation=== | |||
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. | |||
==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: | |||
<pre> | |||
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 | |||
</pre> | |||
==Simplified User Interface== | |||
The simplified user interface can be accessed here: | |||
http://rhea-pr.ihris.org/providerregistry | |||
*bootstrap css has been incorporated. | |||
*Rwanda administrative units have been incorporated | |||
*Rwanda facilities have been incorporated | |||
*provider demographic and posting data structure implemented | |||
*search functionality is implemented. | |||
===Install Instructions=== | |||
*Install the [[Linux (Ubuntu) Installation - Supporting Software]] | |||
*bzr branch lp:i2ce ~/I2CE | |||
*bzr branch lp:ihris-common ~/ihris-common | |||
*Edit the ~/rhea-pr/UserInterface/pages/local/config.values.php as needed (XXXX = user name) | |||
**$i2ce_site_i2ce_path = "/home/XXXX/I2CE"; | |||
$i2ce_site_dsn = 'mysql://rhea:YYYY@unix(/var/run/mysqld/mysqld.sock)/rhea_pr' ;; | |||
$i2ce_site_module_config = "/home/XXXX/rhea-pr/UserInterface/Provider-Registry-Rwanda.xml"; | |||
==OS X== | |||
See [[Mac_Install_Notes]] before starting, in particular the LDAP section | |||
<source lang='bash'> | |||
sudo launchctl stop org.openldap.slapd | |||
sudo cp ~/rhea-pr/ldap/provider.schema /etc/openldap/schema | |||
sudo chmod 644 /etc/openldap/schema/provider.schema | |||
sudo chown root:wheel /etc/openldap/schema/provider.schema | |||
sudo cp ~/rhea-pr/ldap/slapd.conf.osx /etc/openldap/slapd.conf | |||
sudo chmod 644 /etc/openldap/slapd.conf | |||
sudo chown root:wheel /etc/openldap/slapd.conf | |||
sudo mv /etc/openldap/slapd.d /etc/openldap/slapd.d.backup_`date +"%d_%m_%y"` | |||
sudo mkdir -p /etc/openldap/slapd.d | |||
sudo chown -R root:wheel /etc/openldap/slapd.d | |||
sudo chmod 755 /etc/openldap/slapd.d | |||
sudo slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d | |||
sudo chown -R root:wheel /etc/openldap/slapd.d | |||
sudo -su root slapadd -l ~/rhea-pr/ldap/admin_pass.ldif | |||
sudo -su root slapadd -l ~/rhea-pr/ldap/base_organizational_units.ldif | |||
sudo -su root slapadd -l ~/rhea-pr/ldap/ihris_sample_export.ldif | |||
sudo launchctl start org.openldap.slapd | |||
</source> |
Latest revision as of 04:15, 18 March 2013
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 (Ubuntu): <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 sudo mv /etc/ldap/slapd.d /etc/ldap/slapd.d.backup_`date +"%d_%m_%y"` sudo mkdir -p /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> Note source files are:
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>
Load User Data
Saved in bzr file ldap/admin_pass.ldif
<source lang='bash'> sudo /etc/init.d/slapd stop sudo -su openldap slapadd -l ~/rhea-pr/ldap/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:
- Self Documenting API
- lookupbyid/epid
- lookupbyid/nid Note that this one may not return a result as the EPID may not be in your sample data
Currently the EC2 instance is at rhea-pr.ihris.org so you should be able to access the webservices here:
- http://rhea-pr.ihris.org/webservices/api.php
- http://rhea-pr.ihris.org/webservices/lookupbyid/epid?id_type=NID&id_number=5871571
- http://rhea-pr.ihris.org/webservices/lookupbyid/nid?id_type=EPID&id_number=5fb07976-64dd-1031-9146-79bc5f92ba24 Note that this one may not return a result as the EPID may not be in your sample data
Getting sample NIDs
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
The administrative web interface is here:
E-mail Carl Leinter (cleitner@intrahealth.org) if you need the password for the EC2 instance.
For example, you can see (the first 25) of your providers here
Installation
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.
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
Simplified User Interface
The simplified user interface can be accessed here:
http://rhea-pr.ihris.org/providerregistry
- bootstrap css has been incorporated.
- Rwanda administrative units have been incorporated
- Rwanda facilities have been incorporated
- provider demographic and posting data structure implemented
- search functionality is implemented.
Install Instructions
- Install the Linux (Ubuntu) Installation - Supporting Software
- bzr branch lp:i2ce ~/I2CE
- bzr branch lp:ihris-common ~/ihris-common
- Edit the ~/rhea-pr/UserInterface/pages/local/config.values.php as needed (XXXX = user name)
- $i2ce_site_i2ce_path = "/home/XXXX/I2CE";
$i2ce_site_dsn = 'mysql://rhea:YYYY@unix(/var/run/mysqld/mysqld.sock)/rhea_pr' ;; $i2ce_site_module_config = "/home/XXXX/rhea-pr/UserInterface/Provider-Registry-Rwanda.xml";
OS X
See Mac_Install_Notes before starting, in particular the LDAP section
<source lang='bash'> sudo launchctl stop org.openldap.slapd sudo cp ~/rhea-pr/ldap/provider.schema /etc/openldap/schema sudo chmod 644 /etc/openldap/schema/provider.schema sudo chown root:wheel /etc/openldap/schema/provider.schema sudo cp ~/rhea-pr/ldap/slapd.conf.osx /etc/openldap/slapd.conf sudo chmod 644 /etc/openldap/slapd.conf sudo chown root:wheel /etc/openldap/slapd.conf sudo mv /etc/openldap/slapd.d /etc/openldap/slapd.d.backup_`date +"%d_%m_%y"` sudo mkdir -p /etc/openldap/slapd.d sudo chown -R root:wheel /etc/openldap/slapd.d sudo chmod 755 /etc/openldap/slapd.d sudo slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d sudo chown -R root:wheel /etc/openldap/slapd.d sudo -su root slapadd -l ~/rhea-pr/ldap/admin_pass.ldif sudo -su root slapadd -l ~/rhea-pr/ldap/base_organizational_units.ldif sudo -su root slapadd -l ~/rhea-pr/ldap/ihris_sample_export.ldif sudo launchctl start org.openldap.slapd </source>