bahmni-installer RPM 기반 설치로 마이그레이션
bahmni-installer RPM 설치 전
bahmni-installer RPM을 설치하기 전에 epel-release RPM을 제거합니다.
bahmni-installer RPM을 이용한 설치 지침의 5단계까지 진행합니다. 5단계 후 구형 sh 기반 설치에서 RPM 기반 설치로 이전하려면 다음 작업을 수동으로 수행해야 합니다.
bahmni-installer RPM 설치 후
- 모든 서비스를 중지합니다.
service tomcat stop service openerp stop service nagios stopchkconfig tomcat off chkconfig openerp off - Tomcat과 OpenERP의 chkconfig를 끕니다.
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 - Tomcat webapps 디렉터리의 Bahmni 관련 웹 앱을 다른 디렉터리로 이동합니다.
bahmni -i <inventory_file_name> db-backup - 각 데이터베이스를 반드시 백업합니다.
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 - 필요하면 서비스 로그를 백업합니다.
cp -r /etc/nagios /etc/nagios_bkup - 필요한 속성 파일과 Nagios를 백업합니다.
yum list installed | grep MySQL - MySQL이 5.6.12이고 mysqld 서비스가 없다면 설치된 MySQL 구성요소와 의존성을 확인한 뒤 제거합니다.
/usr/sbin/update-alternatives --install /usr/bin/pg_basebackup pgsql-pg_basebackup /usr/pgsql-9.2/bin/pg_basebackup 920 - pg_basebackup 명령이 있는지 확인합니다. 없다면 /usr/pgsql-9.2/bin/pg_basebackup을 /usr/bin에서 사용할 수 있도록 대안을 설정합니다.
이제 링크의 7단계 ‘설치 실행’부터 계속 진행할 수 있습니다.
배포 중 자주 발생하는 오류와 해결 방법
- yum 작업에서 ‘Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again’ 오류가 나면 안내된 명령을 실행합니다.
sudo yum upgrade ca-certificates --disablerepo=epel - Java 충돌이 발생하면 rpm -e jdk 또는 yum remove jdk를 실행합니다.
- 설치 시작 시 Ansible을 설치할 수 없거나 ansible-playbook을 찾지 못하면 epel-release RPM을 다시 설치합니다.
yum remove epel-release yum install epel-release - Bahmni 명령에서 ‘AnsibleLoader object has no attribute dispose’ 오류가 나면 PyYAML을 3.10으로 업그레이드합니다. Ansible 이슈: https://github.com/ansible/ansible/issues/15660 . 먼저 python-yaml RPM을 제거하고 다시 설치해 3.10이 설치되는지 확인합니다.
yum remove python-yamlyum install python-yaml
배포 후
- MySQL 및 PostgreSQL 복제가 동작하는지 확인합니다.
- 기존 Tomcat 사용자 홈의 patient_images, uploaded-files, uploaded_results, document_images를 /home/bahmni로 이동합니다. 예시는 jss 사용자를 가정하며 기존 사용자가 bahmni였다면 적용하지 않습니다.
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/ - OpenMRS global_properties의 emr.personImagesDirectory, uploaded.files.directory 및 관련 경로를 /home/jss 대신 /home/bahmni로 수정합니다.
- clinlims 데이터베이스에서 기관 정보의 parentOfUploadedFilesDirectory 값을 확인하고 수정합니다.
update site_information set value= '/home/bahmni' where name = 'parentOfUploadedFilesDirectory'; - 새 설치에서는 bahmni를 실행 전용 사용자로 사용하고 SSH 지원용 bahmni_support 사용자를 추가합니다. bahmni 계정의 로그인을 잠그고 sudo 권한을 제거할 때는 각별히 주의하십시오.
passwd -l bahmni
1. 셸에서 visudo를 입력합니다.
2. bahmni ALL=(ALL) NOPASSWD:ALL 줄을 제거합니다.
3. 저장합니다.
원문 정보
원문 보기 ↗Bahmni Wiki · CC BY-SA 4.0