Remove epel-release rpm before installing bahmni-installer rpm
yum remove epel-release |
Instructions to bahmni installation using bahmni-installer rpm is available in Install Bahmni on CentOS (Advanced Installation Options). Proceed till step 5 as mentioned in the link. After Step 5, following things have to be done manually to migrate from old sh based installation to bahmni-installer rpm based installation:
Stop all services
service tomcat stop service openerp stop service nagios stop |
switch off chkconfig for tomcat, openerp.
chkconfig tomcat off chkconfig openerp off |
Move bahmni related webapps from tomcat's webapps directory to some other directory.
cd ~/apache-tomcat-8.0.12 #cd into apache tomcat directory mkdir -p old_webapps mv webapps/openmrs old_webapps/ mv webapps/bahmnireports old_webapps/ mv webapps/openelis/ old_webapps/ mv webapps/openerp-atomfeed-service/ old_webapps/ mv webapps/pacs-integration old_webapps/ rm -rf webapps/bahmnireports.war rm -rf webapps/pacs-integration.war rm -rf webapps/openerp-atomfeed-service.war rm -rf webapps/openelis.war rm -rf webapps/openmrs.war |
Take backup of all individual DBs **IMPORTANT**
bahmni -i <inventory_file_name> db-backup |
Take backup of service logs if necessary.
Backup certain properties files
mv /home/bahmni/.OpenMRS/bahmnicore.properties /home/bahmni/.OpenMRS/bahmnicore.properties.bkp mv /home/bahmni/.bahmni-reports/bahmni-reports.properties /home/bahmni/.bahmni-reports/bahmni-reports.properties.bkp mv /etc/init.d/openerp /etc/init.d/openerp.bkp |
Take Backup of Nagios
cp -r /etc/nagios /etc/nagios_bkup |
Uninstall mysql if it is 5.6.12 since mysqld service is not present.
To see the list of mysql components installed, run the following command:
yum list installed | grep MySQL |
Uninstall the listed components. But be aware of the dependencies which might get removed by removing mysql components as well.
check whether pg_basebackup command is available. If it is not available, use alternatives to make /usr/pgsql-9.2/bin/pg_basebackup available to /usr/bin
/usr/sbin/update-alternatives --install /usr/bin/pg_basebackup pgsql-pg_basebackup /usr/pgsql-9.2/bin/pg_basebackup 920 |
Now the installation can be continued from Step 7 as mentioned in the link - Trigger Installation
When any yum operation fails with the error - 'Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again', execute the following:
sudo yum upgrade ca-certificates --disablerepo=epel |
rpm -e jdk or yum remove jdk(If JAVA conflict occurs.)
On starting the installation, if it fails saying that ansible could not be installed or ansible-playbook command is not found, epel-release rpm has to be reinstalled.
yum remove epel-release yum install epel-release |
If we get 'AnsibleLoader' object has no attribute 'dispose' on any command in Bahmni, 'PyYAML' has to be upgraded to 3.10.
Link to ansible issue: https://github.com/ansible/ansible/issues/15660
First remove python-yaml rpm
yum remove python-yaml |
Then try to install again. Verify that 3.10 is being installed.
yum install python-yaml |
Check whether mysql and psql replication works.
Move patient_images, uploaded-files, uploaded_results, document_images from old tomcat user home folder to /home/bahmni folder. In the below snippet, We have assumed that 'jss' user had tomcat deployed in it. This step is not applicable if 'bahmni' was the old tomcat user.
mv /home/jss/patient_images/* /home/bahmni/patient_images/ mv /home/jss/uploaded-files/elis/* /home/bahmni/uploaded-files/elis/ mv /home/jss/uploaded-files/mrs/* /home/bahmni/uploaded-files/mrs/ mv /home/jss/uploaded_results/* /home/bahmni/uploaded_results/ mv /home/jss/document_images/* /home/bahmni/document_images/ cd /home/bahmni chown -R bahmni:bahmni document_images/ chown -R bahmni:bahmni patient_images/ chown -R bahmni:bahmni uploaded-files/ chown -R bahmni:bahmni uploaded_results/ chmod -R 755 document_images/ chmod -R 755 patient_images/ chmod -R 755 uploaded-files/ chmod -R 755 uploaded_results/ |
Update global_poperties in openmrs to have /home/bahmni as directory instead of /home/jss
a) emr.personImagesDirectory
b) uploaded.files.directory
There can be some more as well
Update site information – parentOfUploadedFilesDirectory – check for the value once before doing it in clinlims database.
update site_information set value= '/home/bahmni' where name = 'parentOfUploadedFilesDirectory'; |
With the new way of installation, we had made 'bahmni' user as just run user. And we add a new user called 'bahmni_support' for ssh purposes.
a) Inorder to make bahmni as non-ssh user, following command needs to be executed. This command will lock the 'bahmni' user account for login.
passwd -l bahmni |
b) Inorder to make bahmni as non-sudoer, do the following – Be very careful with this step
1. type 'visudo' in shell
2. Remove the line bahmni ALL=(ALL) NOPASSWD:ALL
3. save it