Install Bahmni on CentOS
CentOS installation option of Bahmni is being deprecated! The recommended option moving forward is to use Docker version (for any OS) of Bahmni. Please see this documentation: Running Bahmni on Docker.
For production purposes, CentOS 7.6 (64-bit) is the recommended & tested platform for running Bahmni version 0.92 and above. (CentOS 7.5 is fine as well).
The below mentioned process is based off installing RPMs. Depending on which Bahmni package you wish to install, you can choose to install the appropriate RPM. Each RPM now contains its embedded tomcat or web server, and becomes its own service, which can be started or stopped.
List of RPMs:
bahmni-emr (Bahmni Backend)
bahmni-web (Bahmni EMR UI)
bahmni-reports (Bahmni Reports)
bahmni-lab (OpenELIS)
bahmni-erp (OpenERP / Odoo package)
bahmni-event-log-service (separate web app to sync events created on Bahmni)
pacs-integration (webapp to send radiology orders to PACS/Modality)
dcm4chee (open-source PACS)
Windows Installation
If you want to install Bahmni for Development on your laptop (Windows, Mac or Linux), then you can choose to instead install the Bahmni Virtual Box. (or Docker)
Security Vulnerability Mitigation
Please read the Bahmni Security Announcement regarding Log4J-v2.x vulnerability (cve-2021-44228) which was published on 14-Dec-2021 here: https://talk.openmrs.org/t/log4j-security-vulnerability-impact-on-bahmni-cve-2021-44228/35367
Installation
You can also watch the installation steps on this youtube video: Install Bahmni - Step by Step or see this training video explaining the various Installation & Deployment options.
Step 1: Fresh CentOS v7.6
Create a fresh CentOS v7.6. You can read the System Requirements here.
Deploy on the Cloud
If you don't have a CentOS box, or have a slow internet, you can perform these steps on a Cloud based CentOS, for instance on Digital Ocean or AWS. Please refer to this Wiki document on Deploying Bahmni on the Cloud.
Step 2: Perform the following steps to install the RPMs
Latest Release
The latest version of Bahmni is v0.93, released on 26-Oct-2021. Please refer to this document to read about the latest stable releases: ALL Bahmni Releases
Fresh Bahmni Installation
Upgrade Bahmni to Latest Version
If Bahmni is already installed in the server which is a older version and want to upgrade to latest released version please follow the steps mentioned here.
Limited Internet Installation
If you wish to install Bahmni on a machine that does NOT have internet access, then you will need to download all the necessary RPMs first, and make them available to the offline machine. Please read this discussion for understanding how can this be done: (OpenMRS Talk) Installing Bahmni with Limited Internet
Step 3: Access the Application
Bahmni should now be running with sample data on the machine. Please refer to the following section to understand the various URLs on which the application is running.
Note:
If Bahmni is NOT running on the URLs mentioned below, please check the service mentioned below, and start them (starting with MySQL and Postgres DB services first)
Also check if any firewall is blocking access to the ports (selinux, ip4tables, ip6tables)
Application | URL | Credentials (v0.91) | Credentials (v0.92) |
|---|---|---|---|
Bahmni EMR UI | http://<machine-ip>/home | superman/Admin123 | superman/Admin123 |
Bahmni Lab (OpenELIS) | http://<machine-ip>/openelis | admin/adminADMIN! | admin/adminADMIN! |
Bahmni ERP (OpenERP/Odoo) | http://<machine-ip>:8069 | admin/password | admin/admin |
OpenMRS | http://<machine-ip>/openmrs | superman/Admin123 | superman/Admin123 |
Radiology (Dcm4Chee) | http://<machine-ip>/dcm4chee-web3 | admin/admin | admin/admin |
Reports | Accessible from Reports button in EMR UI Dashboard |
|
|
Bahmni Event Log Service | http://<machine-ip>/event-log-service |
|
|
Bahmni Services
The following are the various services on your machine, related to Bahmni:
# command to list all services
sudo service --status-all
# command to list all configured services
chkconfig --list
# Command to start or stop a service is: service <service-name> start | stop | status | restart
# -----------------------------------------------------------------------------------------------
# Check status of Apache httpd service (runs Bahmni EMR UI)
sudo service httpd status
# Check status of OpenMRS Backend (needed for Bahmni EMR UI to talk to OpenMRS)
sudo service openmrs status
# Check status of Reports (needed to see reports inside EMR UI)
sudo service bahmni-reports status
# Check status of OpenELIS / Bahmni-Lab
sudo service bahmni-lab status
# Check status of Odoo (For Bahmni version 0.92 and above)
sudo service odoo status
# Check status of OpenERP (For Bahmni version 0.91 and earlier)
sudo service openerp status
# Check status of Bahmni and ERP Connector (for data sync between systems)
sudo service bahmni-erp-connect status
# Check the status of atomfeed-console Service (Looking at the failed events and retrying failed events)
sudo service atomfeed-console status
# Databases needed to be running (mysqld for Bahmni EMR / OpenMRS, and Postgres for Lab and ERP)
sudo service mysqld status
# Check status of postgres (For Bahmni version 0.92 and above)
sudo service postgresql-9.6 status
# Check status of postgres (For Bahmni version 0.91 and earlier)
sudo service postgresql-9.2 status
Service start commands for Bahmni
# Start all services
sudo service mysqld start
sudo service postgresql-9.6 start
sudo service openmrs start
sudo service httpd start
sudo service bahmni-reports start
sudo service bahmni-lab start
sudo service odoo start
sudo service bahmni-erp-connect start
sudo service atomfeed-console start
sudo service pacs-integration start
Read this for Starting and Stopping all the Bahmni related services using the bahmni command.
Navigating the File System
Post install, the various sub-systems are installed and accessible in the following locations:
Application Install Locations
# All applications are installed in /opt
cd /opt
# Location for Bahmni EMR UI and config (app deployed in Apache httpd server)
cd /var/www
# Location for OpenMRS (contains embedded tomcat)
cd /opt/openmrs
# Location for OpenMRS modules
cd /opt/openmrs/modules
# Location for Bahmni lab / OpenELIS (contains embedded tomcat)
cd /opt/bahmni-lab
# Location for Bahmni ERP / OpenERP
cd /opt/bahmni-erp
# Location for Bahmni reports (accessed from EMR UI Reports Button on Home Screen)
cd /opt/bahmni-reports
# Location for Bahmni pacs-integration service
cd /opt/pacs-integrationLog Files
# Most Bahmni related Log files are located in /var/log in respective sub-folders bahmni-lab, openmrs, etc.
# These are all soft links into /opt/app-name/log folder.
cd /var/log
# Client side logs (javascript errors) -- uses StackTrace.js library
cd /var/log/client-side-logs
# pgsql logs (Bahmni 0.92 and above)
cd /var/lib/pgsql/9.6/data/pg_log/
# pgsql logs (Bahmni 0.91 and earlier)
cd /var/lib/pgsql/9.2/data/pg_log/
# mySQL log file /var/log/mysqld.log
# DCM4CHEE log file /var/lib/bahmni/dcm4chee-2.18.1-psql/server/default/log/server.log
Figuring out which RPM versions of Bahmni are installed
yum list installed | grep bahmniThis is a sample output of the command:
[root@localhost vagrant]# yum list installed | grep bahmni
atomfeed-console.noarch 1.1-1 @bahmni
bahmni-appointments-frontend.noarch 0.93-31 @bahmni
bahmni-emr.noarch 0.93-131 @bahmni
bahmni-erp.noarch 0.93-76 @bahmni
bahmni-erp-connect.noarch 0.93-76 @bahmni
bahmni-implementer-interface.noarch 0.93-97 @bahmni
bahmni-installer.noarch 0.93-197 installed
bahmni-lab.noarch 0.93-58 @bahmni
bahmni-lab-connect.noarch 0.93-131 @bahmni
bahmni-reports.noarch 0.93-45 @bahmni
bahmni-web.noarch 0.93-131 @bahmni
Installing dcm4chee & pacs-integration server for Radiology
Securing & Protecting the Bahmni Server
It is very important to take your server security seriously. Please ensure you setup adequate security controls for your Bahmni server, including firewalls, strong passwords, key based ssh access, https certificates, etc. PLEASE READ THIS DOCUMENT: Securing and Protecting the Bahmni Server