BIKA LIMS Inkosi를 우분투 서버에 15분 안에 설치하는 방법
목적 및 한 줄 정의
- 목적: Ubuntu 서버에 Zope + Plone + BIKA LIMS Inkosi를 설치해 독립형 LIMS(시험실 정보관리시스템)를 구축합니다.
- 한 줄 정의: BIKA LIMS Inkosi는 Plone/Zope 기반의 실험실 정보관리 솔루션이며, 이 문서는 구버전 호환 환경을 만드는 방법을 설명합니다.
주요 전제(요구 조건)
- 대상 OS: Ubuntu 8.04 (Hardy Heron). 이 배포판에 묶인 오래된 패키지들이 필요합니다.
- 네트워크: 설치할 서버(LIMSERVER)가 인터넷 및 내부 네트워크에서 접근 가능해야 합니다.
- 사용자 권한: sudo 권한이 있는 계정.
- SSH 클라이언트: 예: PuTTY (윈도우에서 사용).
중요: 최신 Plone/Zope/BIKA 버전으로는 본 가이드가 작동하지 않을 수 있습니다. 이 문서는 호환성 문제를 회피하기 위해 특정 구버전 조합을 사용합니다.
변수와 디렉터리 설명
아래 환경 변수들은 설치 명령에서 그대로 사용됩니다. 필요 시 자신의 서버 환경에 맞게 변경하세요.
- DOWNLOAD_DIR, BUILDS_DIR, MY_PRODUCTS_DIR: 파일 다운로드 및 빌드용 로컬 디렉터리
- SOFTWARE_HOME: Zope 설치 경로
- INSTANCE_HOME: 생성할 Zope/Plone 인스턴스 경로
- ROOT_LOGIN, ROOT_PASSWORD: Zope 관리자 계정
- 각종 _TARBALL, _WGET_ADDRESS: 다운로드할 소프트웨어의 원격 위치와 파일 이름
다음 블록은 원문과 동일한 변수 설정입니다. 변경하지 않으면 가이드의 경로 참조와 일치합니다.
DOWNLOAD_DIR=~/temp
BUILDS_DIR=~/builddirs
MY_PRODUCTS_DIR=~/products
ZOPE_TARBALLDIR=http://www.zope.org/Products/Zope/2.9.9
ZOPE_TARBALL=Zope-2.9.9-final.tgz
ZOPE_WGET_ADDRESS=$ZOPE_TARBALLDIR/$ZOPE_TARBALL
ZOPE_BUILDDIR=$BUILDS_DIR/Zope-2.9.9-final
SOFTWARE_HOME=~/zope-2.9.9
# Plone software
PLONE_TARBALL_DIR=http://launchpad.net/plone/2.5/2.5.3/+download
PLONE_TARBALL=Plone-2.5.3-final.tar.gz
PLONE_VERSION=Plone-2.5.3-final
PLONE_WGET_ADDRESS=$PLONE_TARBALL_DIR/$PLONE_TARBALL
# What do you want your Zope instance to be called?
INSTANCE_HOME=$SOFTWARE_HOME/Plone
ROOT_LOGIN='admin'
ROOT_PASSWORD='PASSWORD'
BIKA_TARBALL_DIR=http://downloads.sourceforge.net/project/bika/bika/2.2.1
BIKA_TARBALL=bika-2_2_1_bundle.tar.gz
BIKA_VERSION=bika-2_2_1_bundle
BIKA_WGET_ADDRESS=$BIKA_TARBALL_DIR/$BIKA_TARBALL
REPORTLAB_TARBALL_DIR=http://www.reportlab.com/ftp/
REPORTLAB_TARBALL=ReportLab_2_4.tar.gz
REPORTLAB_VERSION=ReportLab_2_4
REPORTLAB_WGET_ADDRESS=$REPORTLAB_TARBALL_DIR/$REPORTLAB_TARBALL
BIKAFONTS_ZIPFILE_DIR=http://bioinf.scri.ac.uk/lp/downloads/programs/genomediagram/
BIKAFONTS_ZIPFILE=linfonts.zip
BIKAFONTS_DIR=linfonts
BIKAFONTS_WGET_ADDRESS=$BIKAFONTS_ZIPFILE_DIR/$BIKAFONTS_ZIPFILE
참고: 향후 원격 파일 호스팅 위치가 변경될 수 있습니다. 반드시 안내된 버전과 동일한 파일을 확보하세요.
설치 전 서버 준비
- 우분투 설치 시 openssh와 LAMP 서버를 선택합니다(네트워크 접근 허용).
- SSH로 접속합니다. 서버에서 IP 확인:
ifconfig
- 로컬 IP는 inet 다음에 나오는 숫자입니다(예: inet addr:192.168.2.8 → 192.168.2.8).
- 127.0.0.1은 루프백 주소이므로 외부 접속용이 아닙니다.
윈도우에서 SSH 클라이언트를 사용하려면 PuTTY를 권장합니다: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
SSH 접속 후에는 아래 명령들을 복사/붙여넣기 하여 진행합니다(Shift-Ins 또는 마우스 우클릭).
필수 툴과 컴파일러 설치
sudo apt-get install gcc
sudo apt-get install g++
디렉터리 생성:
mkdir $BUILDS_DIR $DOWNLOAD_DIR $MY_PRODUCTS_DIR
구형 파이썬과 개발 패키지 설치:
sudo apt-get install python2.4
sudo apt-get install python2.4-dev
sudo apt-get install python2.4-elementtree
Zope 다운로드 및 빌드
- Zope 소스 다운로드:
sudo wget $ZOPE_WGET_ADDRESS -P $DOWNLOAD_DIR
- 압축 해제:
sudo tar -xzf $DOWNLOAD_DIR/$ZOPE_TARBALL -C $BUILDS_DIR
- 빌드 디렉터리로 이동:
cd $ZOPE_BUILDDIR
- configure 실행(설치 경로 지정):
./configure --prefix=$SOFTWARE_HOME
- 참고: 앞의 “./“는 현재 디렉터리의 실행파일을 의미합니다. 자세한 설명: http://www.linfo.org/dot_slash.html
- 컴파일 도구가 없으면 설치:
sudo apt-get install make
- Zope 컴파일 및 설치:
make
make install
- Zope 인스턴스 생성:
$SOFTWARE_HOME/bin/mkzopeinstance.py -d $INSTANCE_HOME -u $ROOT_LOGIN:$ROOT_PASSWORD
Plone 다운로드 및 설치
- Plone 압축 다운로드:
sudo wget $PLONE_WGET_ADDRESS -P $DOWNLOAD_DIR
- 해당 플러그인을 Products로 설치:
sudo tar -xzf $DOWNLOAD_DIR/$PLONE_TARBALL -C $MY_PRODUCTS_DIR
- Plone 제품 링크 생성(단일 인스턴스 기준):
for i in $MY_PRODUCTS_DIR/$PLONE_VERSION/*;
do echo $i;
ln -s $i $INSTANCE_HOME/Products/;
done
- 위의 루프는 한 줄씩 실행되는 4개의 실제 명령입니다.
- 추가로 필요한 구성 요소 설치 (이 버전의 Plone에는 일부가 없을 수 있으므로):
sudo apt-get install plone-site
이 시점에서 Zope 인스턴스 내에 동작하는 Plone 사이트가 준비됩니다.
BIKA 설치(요약)
- BIKA 소스와 ReportLab, 폰트 등을 다운로드하여 Plone Products 경로로 배치합니다. 위에서 정의한 BIKA_* 변수들을 사용해 파일을 가져오면 됩니다.
- 다운로드 예시:
sudo wget $BIKA_WGET_ADDRESS -P $DOWNLOAD_DIR
(원문에 이어 BIKA 제품을 Products에 배치하고 Plone 관리 화면에서 제품을 설치하면 됩니다.)
중요: 본 가이드는 BIKA가 최신 Plone과 호환되지 않는 문제를 회피하기 위해 구버전을 사용하도록 안내합니다. 가능하면 추후 최신 호환성 패치가 확인되면 업그레이드를 고려하세요.
설치 확인 및 시작
- Zope 인스턴스의 bin 디렉터리에 있는 start 스크립트를 실행해 인스턴스를 기동합니다(예: $INSTANCE_HOME/bin/start).
- 웹 브라우저로 http://
:8080/Plone (포트와 경로는 환경에 따라 다름)로 접속하여 Plone 사이트와 BIKA가 정상 로드되는지 확인합니다.
문제 발생 시 체크리스트(주요 증상과 원인)
- Zope가 시작되지 않음: make가 정상 실행되었는지, 필요한 라이브러리(특히 python2.4-dev)가 설치되었는지 확인.
- Plone 제품이 보이지 않음: MY_PRODUCTS_DIR의 파일을 INSTANCE_HOME/Products로 심볼릭링크했는지 확인.
- 네트워크 접근 불가: 방화벽, ufw 또는 호스팅 환경의 네트워크 규칙 확인.
- 패키지 다운로드 실패: 원격 호스트(예: SourceForge, Launchpad)에서 파일이 이동되었을 가능성. 다른 미러 혹은 로컬에 파일을 업로드해 사용.
언제 이 방법이 실패하는가(반대 사례)
- 최신 OS/패키지만 사용 가능한 환경(예: 보안 정책상 구버전 허용 불가). 이 경우 VM이나 컨테이너에서 Ubuntu 8.04를 따로 구동해야 합니다.
- 인터넷 접근이 제한된 환경: 원본 파일을 로컬 저장소에 보관하고 설치해야 합니다.
- 최신 Plone/BIKA 버전과의 호환성이 필요할 경우: 이 가이드는 적합하지 않습니다.
대안 접근법
- 컨테이너화: Docker/Podman에 legacy 환경을 구성해 호스트에는 최신 OS를 유지.
- 가상머신: VirtualBox/VMware에 Ubuntu 8.04 VM을 배포해 독립 실행.
- 관리형 서비스: 최신 LIMS 또는 SaaS 대안 검토(클라우드 기반 LIMS).
보안 및 운영 권장 사항
- 가능한 경우 외부 공개 포트(예: 8080)를 리버스 프록시(Nginx) 뒤에 두고 TLS를 적용하세요.
- 루트 비밀번호와 ROOT_PASSWORD는 강력하게 설정하고, 기본 ‘PASSWORD’는 즉시 변경하세요.
- 운영 환경에서는 오래된 운영체제와 소프트웨어의 보안 취약점에 유의하세요. 전용 네트워크 분리(VLAN)나 방화벽 규칙으로 접근을 제한하세요.
운영 준비 체크리스트
- ROOT_PASSWORD를 변경했는가?
- 방화벽에서 필요한 포트만 열었는가?
- 정기 백업(데이터베이스 및 Filestorage) 계획이 있는가?
- 모니터링(디스크, 메모리, 프로세스)이 설정되었는가?
마이그레이션 팁(향후 업그레이드 계획)
- 먼저 기능 목록과 플러그인 의존성을 정리합니다.
- 가능한 한 단계별로(Plone 2.5 → Plone3 → …) 업그레이드하는 방법을 검토합니다. 큰 도약은 호환성 문제를 유발합니다.
- 컨테이너화하거나 VM을 이용해 새 환경에서 병행 테스트를 수행하세요.
역할별 체크리스트
- 시스템 관리자: OS 설치, 네트워크 및 방화벽 구성, 백업 및 복원 테스트
- LIMS 운영자: Plone/BIKA 관리자 계정 구성, 기본 실험실 데이터 입력, 사용자 권한 설정
- 개발자: 커스텀 플러그인 빌드, 제품 배포 및 로그 분석
요약
이 가이드는 Ubuntu 8.04 기반에서 Zope 2.9.9, Plone 2.5.3, BIKA 2.2.1 조합으로 Inkosi BIKA LIMS를 설치하는 단계별 절차를 제공합니다. 핵심은 정확한 버전의 소프트웨어를 확보하고, 지시된 순서대로 빌드·배치하는 것입니다. 보안과 업그레이드 계획을 반드시 고려하세요.
중요: 이 방법은 구형 소프트웨어 조합을 전제로 합니다. 프로덕션 배포 시 보안 및 장기 유지보수 계획을 세우고 가능한 경우 격리된 환경(가상머신/컨테이너)에서 운영하세요.