본문으로 바로가기

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

이번 포스트는 관리자계정 생성 및 업로드 기능 추가에 대해서 정리해 보았습니다. 

 

설치 매뉴얼은https://docs.ckan.org/en/2.8를 참고했습니다.

Source로 설치하신분들은 https://cntechsystems.tistory.com/72를 참고해 주세요.

1. 관리자계정 생성

   1-1. . /usr/lib/ckan/default/bin/activate 명령어로 가상환경에 들어갑니다.

   1-2. cd /usr/lib/ckan/default/src/ckan 명령어로 ckan폴더에 들어갑니다.

   1-3. paster sysadmin add cnt email=cnt@localhost name=cnt -c /etc/ckan/default/production.ini

           명령어로 계정을 생성합니다.  (이 명령어는 꼭 ckan폴더에서 실행해야만 합니다.)

                                                                  (명령어의 cnt 부분에 자신이 원하는 아이디 값을 넣어주세요.)

                                                                  

   1-4. paster sysadmin add cnt -c /etc/ckan/default/production.ini 명령어를 통해 관리자로 설정합니다.


# 테스트 데이터 생성#

paster create-test-data -c /etc/ckan/default/production.ini


2. 업로드 기능

   2-1. sudo mkdir -p /var/lib/ckan/default 명령어를 통해 업로드한 데이터를 저장할 디렉토리를 생성합니다.

   2-2. vi /etc/ckan/default/production.ini 명령어로 설정파일에 들어가서 그림과 같이 storage_path를

           설정합니다.

 

2-2 storage_path 설정

   2.3 sudo chown www-data /var/lib/ckan/default 명령어로 스토리지 폴더의 주인을 바꿔줍니다.

   2.4 sudo chmod u+rwx /var/lib/ckan/default 명령어로 권한을 설정합니다.

 

# 2.4 #

데이터가 들어가면 스토리지 폴더안에 다른 폴더들이 생성이 되는데

이 폴더들의 주인도 www-data가 맞는지 확인해 주세요.

아닐 경우 500 internal server error를 보시게 될겁니다.

 

# 2.4 #

   2.5 sudo ckan db init 명령어로 설정파일을 적용합니다.

   2.6 sudo service apache2 reload 명령어로 아파치를 다시 실행합니다.

         (실행이 안될경우 sudo service nginx restart 명령어를 통해 nginx도 같이 재시작해주세요.)

 

3. 업로드 기능 확장 (DataStore)

   3.1 먼저 자동 업로드 기능이 있는 DataPusher를 설치해야 합니다.

sudo apt-get install python-dev python-virtualenv build-essential libxslt1-dev libxml2-dev zlib1g-dev git libffi-dev 명령어로 필요한 패키지를 설치합니다.

   3.2 git clone https://github.com/ckan/datapusher 명령어로 패키지를 다운받고

        cd datapusher 명령어로 폴더에 들어갑니다.

   3.3 1. pip install -r requirements.txt

          2. pip install -e . 명령어로 설치합니다.

   3.4 python datapusher/main.py deployment/datapusher_settings.py 명령어로 DataPusher를

          실행합니다. (datapusher 폴더에서 실행 해야 합니다.)

3.4 실행화면

# 3.4 #

Datapusher의 기본 포트는 8800으로 되어있습니다.

포트가 사용중이라면 DataPusher가 실행이 안될 수 있습니다.

vi ~/datapusher/deployment/datapusher_settings.py 명령어로 설정 파일에 들어가서

그림과 같이 사용하지 않는 포트로 변경 합니다.

# 3.4 # 포트변경

 

   3.5 sudo -u postgres createuser -S -D -R -P -l datastore_default 명령어로 datastore_default라는

          database_user를 생성하고 비밀번호를 설정 합니다.

   3.6 sudo -u postgres createdb -O ckan_default datastore_default -E utf-8 명령어로 ckan_default가

         소유한 데이터베이스를 생성합니다.

   3.7 vi /etc/ckan/default/production.ini 명령어로 설정파일에 들어가서 그림과 같이 편집합니다.

 

plugins 추가
datapusher 설정
datastore 설정

   3.8 sudo ckan db init 명령어로 설정파일을 적용합니다.

   3.9 sudo ckan datastore set-permissions | sudo -u postgres psql --set ON_ERROR_STOP=1 명령어로

          권한을 부여합니다.

   3.10 sudo service apache2 reload 명령어로 아파치를 다시 실행합니다.

         (실행이 안될경우 sudo service nginx restart 명령어를 통해 nginx도 같이 재시작해주세요.)

 

홈페이지에 들어가서 데이터를 보면 DataStore에 올릴 수 있습니다.

Ckan DataStore

 

데이터 스토어에 올라간 자료는 미리보기가 가능 해 집니다.

Ckan 데이터 미리보기

감사합니다.

 


댓글을 달아 주세요