안녕하세요 씨앤텍 시스템즈의 김준형 입니다.
이번 포스트는 관리자계정 생성 및 업로드 기능 추가에 대해서 정리해 보았습니다.
기존 CKAN 게시물은 패키지 버전 중심으로 설명 되어 있기때문에 Ubuntu 18.04버전에서 소스설치 후 따라하게 될 경우
오류가 나타나기 때문에 다시 정리하여 게시하게 되었습니다.
설치 매뉴얼은https://docs.ckan.org/en/2.8를 참고했습니다.
모든 명령어는 항상 가상환경에서 진행하여야 합니다.
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/development.ini
명령어로 계정을 생성합니다. (이 명령어는 꼭 ckan폴더에서 실행해야만 합니다.)
(명령어의 cnt 부분에 자신이 원하는 아이디 값을 넣어주세요.)
1-4. paster sysadmin add cnt -c /etc/ckan/default/development.ini 명령어를 통해 관리자로 설정합니다.
# 테스트 데이터 생성#
paster create-test-data -c /etc/ckan/default/development.ini
2. 업로드 기능
2-1. sudo mkdir -p /var/lib/ckan/default 명령어를 통해 업로드한 데이터를 저장할 디렉토리를 생성합니다.
2-2. vi /etc/ckan/default/development.ini 명령어로 설정파일에 들어가서 그림과 같이 storage_path를
설정합니다.
2-2 storage_path 설정
2.3 sudo chown -R www-data /var/lib/ckan/default 명령어로 스토리지 폴더의 주인을 바꿔줍니다.
2.4 sudo chmod -R u+rwx /var/lib/ckan/default 명령어로 권한을 설정합니다.
# 2.4 #
데이터가 들어가면 스토리지 폴더안에 다른 폴더들이 생성이 되는데
이 폴더들의 주인도 www-data가 맞는지 확인해 주세요.
아닐 경우 500 internal server error를 보시게 될겁니다.
( 안에 있는 파일들도 주인이 www-data여야 합니다. )
500 internal server error를 보신다면 항상 이곳부터 의심해 보세요!
2.5 cd /usr/lib/ckan/default/src/ckan 명령어로 설정 폴더로 들어갑니다.
2.6 paster db init -c /etc/ckan/default/development.ini 명령어로 설정파일을 적용합니다.
2.7 paster serve /etc/ckan/default/development.ini명령어로 CKAN을 실행합니다.
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 cd ~ 명령어로 home으로 돌아갑니다.
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 -1 #
datapusher가 실행되지 않고 werkzeug.contrib.fixers import ProxyFix 관련 에러가 뜬다면
vi /usr/local/lib/python2.7/dist-packages/ckanserviceprovider/web.py 명령어로 설정파일에 들어가서
그림처럼 werkzeug 부분을 변경합니다.
( from werkzeug.middleware.proxy_fix import ProxyFix )
werkzeug 버전이 바뀌면서 참조하는 방법이 변경 된것 같습니다.
그래도 안된다면
pip3 uninstall werkzeug
pip3 install werkzeug
명령어를 통해 재설치 해봅시다.
# 3.4 -2 #
Datapusher의 기본 포트는 8800으로 되어있습니다.
포트가 사용중이라면 DataPusher가 실행이 안될 수 있습니다.
vi ~/datapusher/deployment/datapusher_settings.py 명령어로 설정 파일에 들어가서
그림과 같이 사용하지 않는 포트로 변경 합니다.
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/development.ini 명령어로 설정파일에 들어가서 그림과 같이 편집합니다.
plugins 추가
datapusher 설정
datastore 설정
3.8 cd /usr/lib/ckan/default/src/ckan명령어로 설정 폴더로 들어갑니다.
3.9 paster db init -c /etc/ckan/default/development.ini 명령어로 설정파일을 적용합니다.
3.10 paster --plugin=ckan datastore set-permissions -c /etc/ckan/default/development.ini | sudo -u postgres psql --set ON_ERROR_STOP=1 명령어로 권한을 부여합니다.
3.11 paster serve /etc/ckan/default/development.ini명령어로 CKAN을 실행합니다.
홈페이지에 들어가서 데이터를 보면 DataStore에 올릴 수 있습니다.
Ckan DataStore
데이터 스토어에 올라간 자료는 미리보기가 가능 해 집니다.
Ckan 데이터 미리보기
# 한글로 변경 #
CKAN 설정파일에서 해당 문자열을 찾아서 en을 ko_KR로 변경하고 저장합니다
감사합니다.
'OpenDataPlatform > CKAN 설치 및 구축 가이드' 카테고리의 다른 글
Oracle VM VirtualBox 를 이용한 Ubuntu 설치 가이드 (1) | 2019.09.25 |
---|---|
CKAN Source 설치 가이드 ( Ubuntu 18.04 ) (0) | 2019.09.19 |
관리자계정 생성 및 업로드 기능 추가 ( Ubuntu 16.04 ) (0) | 2019.05.09 |
CKAN 패키지 설치 가이드 ( ubuntu 16.04 ) (0) | 2019.05.09 |