2018년 9월 14일 금요일

사이트코어 9 - Solr SSL 설치하기

사이트코어 개발자들은 환경에 따라 Sitecore를 자신의 컴퓨터에 설치해야하는 경우가 있다. 로컬 사이트코어 Instance를 설치함으로써 나만의 Playground가 형성되고, VM이나 서버환경에 접속하여 디버그 하는것보다 부담감(?)을 덜어낼수가 있다.
이번에는 그 중에서도 Solr 설치 및 xConnect와 호환하기 위하여 어떻게 SSL을 적용시키는지 알아보도록하자.

사이트코어 9+ 버전부터는 사이트코어 Instance내의 Lucence보다는 Solr 자체 서비엔진을 설치하고 xConnect 프레임워크를 통하여 데이터를 다른 어플리케이션 및 디바이스와 연동 할수가 있다.
Solr 설치 및 SSL 바운드가 제되로 되지않는다면 xConnect와 연동이 되지 않을뿐더러, Sitecore 플랫폼의 키 요소인 Experience Analytics 및 마케팅 기능들을 사용할수가 없다.

  1. Solr을 설치하기전 Java JDK (현재 필자의 경우 버전 1.8.0)를 설치하고, Command Prompt를 통하여 자바가 잘 작동되는지 그리고 "keytool" 커맨드가 이용가능한지 확인한다.
  2. Solr 다운로드 링크로 이동하여 6.2.2 버전을 원하는 경우에 설치한다. (예, C:\solr-6.2.2)
  3. Command Prompt에서 압축을 푼 경로의 "C:\solr-6.2.2\server\etc\"로 이동하여 아래의 커맨드를 실행한다.

    keytool -genkeypair -alias solr-ssl -keyalg RSA -keysize 2048 -keypass secret -storepass secret -validity 9999 -keystore solr-ssl.keystore.jks -ext SAN=DNS:localhost,IP:127.0.0.1 -dname "CN=localhost, OU=Organizational Unit, O=Organization, L=Location, ST=State, C=Country"
    

  4. 다시 아래의 커맨드를 입력하고 비밀번호를 설정한다. (비밀번호 예, secret)

    keytool -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12
    

  5. SSL 설치는 준비가 되었으며, 이젠 JKS keystore로 만들어진 PKCS12 (.p12) 파일을 더블 클릭하여, 로컬 컴퓨터에 Self Certification을 생성한다.
  6. Store Location을 Local Machine로 적용하고 "다음" 버턴을 누른다.

  7. "server\etc\" 폴더에 있는 .p12 파일의 경로를 확인하고, "다음" 버턴을 누른다.

  8. 이전에 설정하였던 비밀번호 "secret"을 입력하고, "다음" 버턴을 누른다.

  9. Certification 저장 경로는 "Trusted Root Certification Authorities"로 설정하고, 모든 세팅을 마친다.

  10. Solr 설치 경로의 "bin/" 폴더의 "solr.in.cmd" (Window 경우)를 오픈하여, 컨맨트 되어진 설정 (REM)들은 삭제하고 아래처럼 SSL설정을 Enable 한다.

    REM Uncomment to set SSL-related system properties
    REM Be sure to update the paths to the correct keystore for your environment
    set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
    set SOLR_SSL_KEY_STORE_PASSWORD=secret
    set SOLR_SSL_KEY_STORE_TYPE=JKS
    set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
    set SOLR_SSL_TRUST_STORE_PASSWORD=secret
    set SOLR_SSL_TRUST_STORE_TYPE=JKS
    set SOLR_SSL_NEED_CLIENT_AUTH=false
    set SOLR_SSL_WANT_CLIENT_AUTH=false
    
  11. 머신에 Solr 서비스가 설치가 되어있지 않으므로, Command Prompt에서 Solr의 "bin/" 폴더로 이동하여 "solr start" 커맨드를 통하여 Solr를 실행한다.
  12. 브라우저에서 디폴트 포트 번호인 "8983"과 함께 "https://localhost:8983" 페이지를 오픈한여 Solr를 확인한다.