본문으로 바로가기

안녕하세요 씨앤텍 시스템즈 김준형입니다.

이번 포스트는 CKAN Source 설치 과정에 대해서 정리해 보았습니다. 

 

우분투는 18.04 버전을 기준으로 설치했습니다.

설치 매뉴얼은 https://docs.ckan.org/en/2.8/maintaining/installing/install-from-source.html를 참고했습니다.

우분투 18.04 부터 패키지 설치가 안되기 때문에 Source 설치 방법으로 진행했습니다.
또한 Solr-Jetty 패키지는 충돌이 일어나기 때문에 다른방법으로 설치를 진행하겠습니다.  

 

먼저 CKAN 설치 과정은 3가지로 나눌 수 있습니다.


1. Solr 설치 및 구성

2. CKAN 설치 및 구성

3. Postgre 설치 및 구성


1.  Solr  설치 및 구성입니다.

  1-1. sudo -s 명령어로 root에 진입합니다.

 

  1-2. sudo apt-get update 명령어로 apt-get을 업데이트합니다.

 

  1-3. sudo apt-get install python-dev postgresql libpq-dev python-pip python-virtualenv git-core openjdk-8-jdk redis-server 명령어로 Solr-Jetty를 제외한 관련 모듈을 설치합니다.

 

  1-4. sudo update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 명령어로
         JAVA가 잘 설치되어 있는지 확인합니다.

 

  1-5. 원하는 위치에 mkdir ckan 명령어로 폴더를 하나 만들고 cd ckan 명령어로 들어갑니다.


  1-6. wget http://archive.apache.org/dist/lucene/solr/6.5.1/solr-6.5.1.tgz 명령어로 solr를 다운받습니다.
          #1-6# Solr 6.6 버전 부터는 Ckan과 호환 문제가 있으므로 6.6미만 버전을 설치하셔야 합니다.


  1-7. tar xzf solr-6.5.1.tgz solr-6.5.1/bin/install_solr_service.sh --strip-components=2 명령어로 압축을
          일부분만 풀어줍니다.

 

  1-8. sudo bash ./install_solr_service.sh solr-6.5.1.tgz 명령어로 Solr를 설치합니다.


  1-9. sudo -u solr bash 명령어로 solr 사용자로 접속합니다. ( whoami 명령어로 확인 )


  1-10. cd /opt/solr/bin 명령어로 폴더에 들어갑니다.

 

  1-11.   ./solr create -c ckan 명령어로 Ckan 관련 Solr를 설치합니다. (오류 날 시 처음부터 다시진행)

 

  1-12. cd /var/solr/data/ckan/conf 명령어로 폴더에 들어갑니다.

 

  1-13. sed -i '/<config>/a <schemaFactory class="ClassicIndexSchemaFactory"/>' solrconfig.xml 명령어로
             설정 파일을 수정합니다.

 

  1-14. sed -i '/<initParams path="\/update\/\*\*">/,/<\/initParams>/ s/.*/<!--&-->/' solrconfig.xml 
             명령어로 설정 파일을 수정합니다.


  1-15. sed -i '/<processor class="solr.AddSchemaFieldsUpdateProcessorFactory">/,/<\/processor>/ s/.*/<!--&-->/' solrconfig.xml 명령어로 설정 파일을 수정합니다.

 

  1-16. rm managed-schema 명령어로 기존 스키마를 삭제하고 Ckan 폴더에서 스키마를 가져오겠습니다.

 

  1-17. exit 명령어로 나갑니다.

             

CKAN과 Postgre를 설치하고 Solr 설정을 마무리 하겠습니다.


2.  CKAN  설치 및 구성입니다.

  2-1. mkdir -p ~/ckan/lib
           sudo ln -s ~/ckan/lib /usr/lib/ckan
           mkdir -p ~/ckan/etc
           sudo ln -s ~/ckan/etc /etc/ckan  명령어로 CKAN관련 폴더를 생성합니다.

  2-2. sudo mkdir -p /usr/lib/ckan/default
           sudo chown `whoami` /usr/lib/ckan/default

           virtualenv --no-site-packages /usr/lib/ckan/default
           . /usr/lib/ckan/default/bin/activate     명령어로 가상환경에 접속해서 진행하겠습니다.

#2-2# (default) root@ ~~~ 가 떠야 진행이 가능합니다.
. /usr/lib/ckan/default/bin/activate 명령어로 실행 가능합니다.

  2-3. pip install setuptools==36.1 명령어로 setuptools를 설치합니다.


  2-4. pip install -e 'git+https://github.com/ckan/ckan.git@ckan-2.8.2#egg=ckan' 명령어로 CKAN을
          설치합니다.

 

  2-5. pip install -r /usr/lib/ckan/default/src/ckan/requirements.txt 명령어로 CKAN의 모듈을 설치합니다.


  2-6. paster 명령을 위해 deactivate 명령어로 나왔다가   . /usr/lib/ckan/default/bin/activate 명령어로 다시
          접속합니다.


3.  Postgre 설치 및 구성입니다.

  3-1. sudo -u postgres psql -l 명령어로 Postgre가 잘 설치되었는지 확인합니다. 

 


      #3-1# 스키마들이 보이지 않을 경우 
1. sudo service postgresql start 명령어로 postgre를 실행합니다.
2. pg_lsclusters명령어로 clusters를 확인합니다.
3. Online이고 초록색 글씨라면 다시 3-1로 돌아갑니다.
4. online이 아니고 빨간색 글씨라면 pg_ctlcluster <version> <cluster> start 명령어로 실행합니다.
ex) pg_ctlcluster 10 main start

5. pg_lsclusters명령어로  다시 clusters를 확인합니다.


 

  3-2. sudo -u postgres createuser -S -D -R -P ckan_default 명령어로 user를 생성합니다.

 

  3-3. sudo -u postgres createdb -O ckan_default ckan_default -E utf-8 명령어로 DB를 생성합니다.

 

  3-4. /etc/postgresql/10/main 경로에 있는 postgresql.conf 파일과 pg_hba.conf 파일을 편집합니다.

        (postgresql 버전에 따라 경로의 숫자가 차이가 있습니다.)

        (두 설정 다 상용화할 때는 설정을 달리 해야 보안에 안전합니다.)

 # 2-6 #  postgresql.conf, pg_hba.conf 파일이 비어 있다면 sudo로 접속해서 편집해 주세요.

 

postgresql.conf 설정
pg_hba.conf 설정

  3-5. sudo mkdir -p /etc/ckan/default

          sudo chown -R `whoami` /etc/ckan/

          sudo chown -R `whoami` ~/ckan/etc      명령어로 폴더를 만들고 권한을 바꿉니다.

  


4. 마무리

  4-1. paster make-config ckan /etc/ckan/default/development.ini 명령어로 설정파일을 생성합니다.

 

  4-2. vi /etc/ckan/default/development.ini 명령어로 설정파일을 열어서 sqlalchemy.url설정을 합니다.

       (파란색 부분에 설정한 비밀번호를 넣습니다.)  

sqlalchemy.url 설정

  4-3. development.ini 에서 그림과 같이 ckan.site_url을 설정합니다.

          (우분투 서버의 ip를 입력해 주세요)

 

5000번을 기본 포트이기 때문에 추가

  4-4. 1-16을 이어서 solr 설정을 마무리 하겠습니다. 
        sudo -u solr bash 명령어로 solr 사용자로 접속합니다. ( whoami 명령어로 확인 )

 

  4-5. cd /var/solr/data/ckan/conf 명령어로 폴더에 들어갑니다.

 

  4-6. cp /usr/lib/ckan/default/src/ckan/ckan/config/solr/schema.xml .   명령어로 스키마를 옮겨옵니다.


  4-7. exit 명령어로 나갑니다.


  4-8. sudo service solr restart 명령어로 Solr를 재시작합니다.

 

  4-9. sudo sed -i '/#solr_url = /s/.*/solr_url = http:\/\/127.0.0.1:8983\/solr\/ckan\//g' /etc/ckan/default/development.ini 명령어로 설정파일을 수정합니다.

 

  4-10. ln -s /usr/lib/ckan/default/src/ckan/who.ini /etc/ckan/default/who.ini 명령어로 설정파일을
         복사합니다.

 

  4-11. cd /usr/lib/ckan/default/src/ckan 명령어로 폴더를 이동합니다.

 

  4-12. paster db init -c /etc/ckan/default/development.ini 명령어로 설정 내용을 적용합니다.

         ( SUCCESS가 나와야합니다. )


  4-13. paster serve /etc/ckan/default/development.ini 명령어로 서버를 실행시킵니다.
         (  http://127.0.0.1:5000/ 나 http://{ 본인의 IP }:5000/ 로 접속해서 확인합니다.
   

메인 페이지 화면

감사합니다.


댓글을 달아 주세요