Omeka S를 위한 Solr 검색엔진 설치 및 에서 Solr 모듈 설정 방법

# 설치 전 유의사항

1. 사용 중인 서버의 메모리 사양이 2Gb 이하인 경우에는 Solr의 설치는 가능하나 실행 시 오류가 발생하거나 서비스 자체가 실행되지 않을 수 있습니다. Amazon AWS 서버 프리티어 버전 사용 시 t2.micro 기본 인스턴스 사양인 경우 기본 제공 메모리는 1Gb인 관계로 Solr 서비스 구동 시 자바의 메모리 점유율 문제로 인해 시스템이 현저히 느려지거나 실행 문제가 발생될 수 있으므로 이 경우 메모리 사양을 업그레이드해야 서비스 문제를 해결할 수 있습니다. 참고로 Solr 검색엔진은 자바 환경에서 구동되며 검색엔진이라는 특성 상 CPU 및 메모리 자원 소모가 큰 편입니다. 만약 Solr 검색 서비스를 사이트의 주요 서비스로 채택한 경우 서버 스펙에 대한 고민이 필요합니다.



2. 사용 중인 DB가 오픈소스 DB인 MariaDB를 사용하는 경우 반드시 10.3 이상의 버전인지 확인이 필요합니다. 이하 버전에선 Omeka S 백엔드 관리자모드에서 Solr 모듈 설치 시 오류가 발생됩니다. 따라서 OS 설치 후 APM 설치 시 이 점 감안하여 버전 체크 후 설치가 필요합니다.

CentOS 같은 Redhat 계열의 리눅스 운영체제를 사용하는 경우 MariaDB v10.5 버전 설치 방법은 아래와 같습니다.

1) yum repo 설치

repo 파일 생성

$ vi /etc/yum.repos.d/MariaDB.repo  


2) repo 내용추가

# MariaDB 10.5 CentOS repository list

# http://downloads.mariadb.org/mariadb/repositories/

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.5/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1


repo update 및 설치. 업데이트 하지 않으면 해당 버전으로 설치가 불가능합니다.

$ yum update

$ yum list MariaDB-server

$ yum install MariaDB-server


부팅시 서비스 자동 시작 활성화 및 서비스 비활성화

$ systemctl enable mariadb.service  


MariaDB 루트관리자 암호 설정(mariadb 설치시 루트 암호는 비어있으므로 수동 생성해야 함)

MariaDB 로그인

$ mysql -u root -p; 

처음엔 암호 없이 엔터 


관리콘솔에서 사용할 DB 설정

MariaDB [(none)]> use mysql


암호 설정(upadte 쿼리 사용해서 mysql 디비 루트 관리자의 암호 생성)

아래의 쿼리에서 password는 원하는 암호로 변경해서 입력합니다.

MariaDB [(none)]> update user set password= password('123456') where user = 'root';

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> quit  

  


3. Solr 모듈 실행을 위한 PHP 확장모듈 설치(php-solr)

   APM 설치 시 아래와 과정이 모두 설치된 상태인 경우에는 php-solr 만 설치하면 됨.

remi 레포지토리의 php 7.2 레포지토리를 활성화

$ yum-config-manager --enable remi-php72


php 7.2 모듈 설치  

$ yum --enablerepo=remi-php72 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-common php-fpm php-cli php-mysqlnd php-pdo php-pecl-zip php-soap php-pecl-mcrypt php-bcmath php-process php-opcache php-pecl-apcu php-xsl php-curl php-readline php-intl php-memcache php-dev php-devel  


php 7.2 설치

$ yum --enablerepo=remi-php72 install php

php-solr 설치 명령어

$ yum --enablerepo=remi-php72 install php-solr



4. OMEKA-S 백엔드 관리자모드에서 Solr 연결이 되지 않는 경우는 Centos 계열 운영체제에서 발생합니다.

웹서비스에서 다른 외부 URL 호출이 가능하도록 설정이 필요합니다. (ex: curl)

먼저 getsebool 명령어로 htttp 관련 개폐 여부를 확인합니다.

$ getsebool -a | grep http

  

httpd_can_network_connect가 off로 나와 있는 경우 아래 명령어로 열기

$ setsebool -P httpd_can_network_connect on  

  

  

5. OMEKA-S 백엔드 관리자모드에서 Solr(v0.9.0) 모듈을 설치하기 전 반드시 Search(v0.9.0) 모듈을 먼저 설치해야 합니다. 또, solr 모듈의 버전과 search 모듈의 버전별로 궁합이 맞지 않아서 충돌이 발생하는 경우가 있으므로 버전 정보에 유의해야 합니다.  아래 버전은 실제 centos에서 omeka S 설치 후 테스트해본 버전이며, 충돌이나 오류는 발생하지 않았습니다.  

1) Search 모듈

By BibLibre Add search capabilities to Omeka S 

Latest Version: 0.9.0 Updated: April 14, 2021

https://github.com/biblibre/omeka-s-module-search

     

2) Solr 모듈

By BibLibre Add Solr search adapter

Latest Version: 0.9.0 Updated: April 14, 2021     

https://gitlab.com/Daniel-KM/Omeka-S-module-SearchSolr 



6. 위의 Solr 모듈이 설치된 Omeka S에서 설치 가능한 Solr 최신 버전은 Solr-8.8.0.tgz입니다.   

Solr는 JAVA 환경에서 구동되므로 Solr 설치 전 JDK 설치는 필수입니다.

JDK는 1.8 버전 이상의 버전을 설치합니다.

JDK 설치 방법은 본 포럼에서 Solr Search 설치 매뉴얼 상에 나온 설치 방법대로 설치하면 됩니다.

설치가 완료되면 아래와 같이 Solr 엔진을 설치합니다.

  

  $ cd /opt

   $ wget https://archive.apache.org/dist/lucene/solr/8.8.0/solr-8.8.0.tgz

  $ tar zxvf solr-8.8.0.tgz solr-8.8.0/bin/install_solr_service.sh --strip-components=2

  $ sudo bash ./install_solr_service.sh solr-8.8.0.tgz

  $ rm solr-8.8.0.tgz

  $ rm install_solr_service.sh


  Solr 서비스 관리 명령어

  $ sudo systemctl status solr

  $ sudo systemctl stop solr

  $ sudo systemctl start solr


  경로에 들어가 직접 실행 시엔 아래의 명령어 사용

  $ sudo su - solr -c "/opt/solr/bin/solr status"

  $ sudo su - solr -c "/opt/solr/bin/solr stop"

  $ sudo su - solr -c "/opt/solr/bin/solr start"

  $ sudo su - solr -c "/opt/solr/bin/solr restart"  

    

  omekas라는 명칭으로 Solr 신규 인덱스 생성

  인덱스 명칭은 원하는 것으로 변경 가능.

  $ sudo su - solr -c "/opt/solr/bin/solr create -c omekas -n data_driven_schema_configs"

  

  생성되면 해당 인덱스의 Solr 관리자모드로 접근되는지 확인합니다.

  접근에 문제가 있는 경우엔 위의 2번 내용 참고. Centos의 네트워크 접근 관련 설정 수정 필요.

   http://localhost:8983/solr/#/omekas


7. Solr 모듈 설치

  백엔드에서 Solr 0.90 모듈 설치

  설치 후 Solr 설정을 클릭한 다음 아래와 같이 수정합니다.  

  Name: default

  Hostname: localhost

  Port: 8983

  Path: solr/omekas  => omekas 명칭은 신규 인덱스를 어떤 명칭으로 생성했는냐에 따라서 맞게 수정

  Resource name field : resource_name_s

  Sites field : sites_id_is

  Is Public field : is_public_b

  

  저장 후 Solr Nodes의 status가 OK가 나오는지 반드시 확인합니다.



8. 끝


* 프론트엔드에서의 Solr 검색을 위한 상세 설정 방법은 추후 포스팅 하겠습니다.

Sign In or Register to comment.