[CKAN]DataPusher 설치하기

CKAN에 DataPusher를 설치하자. DataPusher란 CKAN에 자동으로 CSV / Excel 파일 로딩을 추가하는 역할을 한다. DataPusher를 이용하기 전에 DataStore가 함께 설치된 CKAN이 필요하다.


2.2버전 이상부터) 만약 CKAN을 package install을 통해 설치 했다면, DataPusher를 이미 설치되어 있다.

기본적으로 DataPusher는 8800번 포트를 사용한다.

설치과정은 아래와 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# DataPusher의 requirements 준비
sudo apt-get install python-dev python-virtualenv build-essential libxslt1-dev libxml2-dev git libffi-dev

# 가상환경 준비
sudo virtualenv /usr/lib/ckan/datapusher

# 소스 디렉터리 준비
sudo mkdir /usr/lib/ckan/datapusher/src
cd /usr/lib/ckan/datapusher/src

# 소스 clone
sudo git clone -b 0.0.14 https://github.com/ckan/datapusher.git

# DataPusher 밑 requirements 설치
cd datapusher
sudo /usr/lib/ckan/datapusher/bin/pip install -r requirements.txt
sudo /usr/lib/ckan/datapusher/bin/python setup.py develop

# 아파치 기본 설정파일 복사
# (만약 아파치 2.4이하 버전을 사용중이면, deployment/datapusher.apache2-4.conf 파일 사용)
sudo cp deployment/datapusher.conf /etc/apache2/sites-available/datapusher.conf

# 기본 DataPusher wsgi파일 복사
#(see note below if you are not using the default CKAN install location)
sudo cp deployment/datapusher.wsgi /etc/ckan/

# 기본 DataPusher 설정 복사
sudo cp deployment/datapusher_settings.py /etc/ckan/

# 8800번 포트 오픈
# 아래의 두 가지 명령 중 하나만 실행해야 한다!!
# 수동으로 수정하려면 /etc/apache2/ports.conf 파일 이용
sudo sh -c 'echo "NameVirtualHost *:8800" >> /etc/apache2/ports.conf'
sudo sh -c 'echo "Listen 8800" >> /etc/apache2/ports.conf'

# DataPusher Apache site 실행
sudo a2ensite datapusher

DataPusher를 설치하고 돌려보는 것 까지 진행했다. 이제 CKAN의 설정파일로 가서 플러그인을 추가해 준다.

1
2
ckan.plugins = ... datapusher
ckan.datapusher.url = 'real_url' # EIP와 localhost를 적어도 일단 둘다 가능함..!

설정파일까지 수정완료 했다면, 아파치를 재시작한다!

Share

[CKAN]파일형태로 데이터셋 업로드 하기

처음에 CKAN을 설치하고나서 테스트를 하기 위해 데이터셋 업로드를 하면 꽤나 당황스러움을 느낄 수 있다. 그 이유는 데이터 업로드가 링크를 통한 방법밖에 없을 뿐인데, 파일형태로 업로드를 하기 위해서는 다른 작업으르 필요로 한다. CKAN 문서에는 FileStore and file uploads라는 이름으로 나와있지만 서버를 준비할 때마다 겪는 과정이기 때문에 간단하게 정리해 본다.

파일 업로드 세팅

로컬 파일 스토리지에 CKAN의 FileStore을 설치하려면 아래와 같은 작업을 해야한다.

  1. 업로드된 파일이 저장될 디렉토리를 생성해준다.
1
sudo mkdir -p /var/lib/ckan/default

production.ini[app:main] 항목에 ckan.storage_path를 보면 이미 /var/lib/ckan이 기본값으로 있는 것을 알 수 있다.

  1. 설정파일에 경로를 변경해준다.[app:main]
1
ckan.storage_path = /var/lib/ckan/default

위에서 만들어준 경로를 저장할 폴더로 정해준다.

  1. 권한 설정
1
2
sudo chown www-data /var/lib/ckan/default
sudo chmod u+rwx /var/lib/ckan/default

매우 중요한 부분이다. 처음 할땐 실수하지 않았는데, CKAN을 여러번 설치해봤다고 기억에 의존해서 넘어갔다가 permission deny를 보고 이게 뭔가 싶어서 세 시간을 날린적이 있었다.

정말 중요하다. 저장될 폴더의 권한 설정 하는 것을 까먹지 말자. CKAN을 우분투위에서 아파치를 통해 운영하고 있다면, 아파치의 유저(www-data)는 읽기 / 쓰기 권한을 꼭 가져야 한다.

  1. 재시작
1
sudo service apache2 reload
Share

[CKAN]시스템 어드민 계정 생성 및 테스트

ckan의 시스템 어드민은(sysadmin) 유저와 데이터셋을 관리하는 역할을 한다. 대부분의 기능은 web ui를 통해서 가능하지만 그렇지 않은 경우도 있다. ckan 페이지의 config file 수정과 같은 일은 cli를 통해서 서버에 접속해야만 사용할 수 있다.

시스템 어드민은 모든 조직에 접속할 수 있다. 유저의 정보도 확인 및 수정 가능하고 데이터셋 삭제도 가능하다. 때문에 sysadmin의 관리에 주의해야한다.

시스템 어드민 계정 생성하기

어드민 계정을 생성하는 방법에는 1. 새로운 어드민 계정 생성 2. 기존의 유저에 어드민 권한 부여 두 가지가 있다.

paster 명령어를 사용하기 위해 가상환경을 activate 해야한다

. /usr/lib/ckan/default/bin/activate

cd /usr/lib/ckan/default/src/ckan

어드민 유저를 생성하기 위해 아래와 같은 명령어를 입력한다.

1
paster sysadmin add admin_test email=admin_test@example.com name=admin_test -c /etc/ckan/default/production.ini

email과 name을 입력할 수 있는데 알아서 적어준다. 참고로 나중에 user page에서 수정할 수 있다. 계정을 생성할때 비밀번호를 적어야 하는데 총 두번 입력하면 된다. 만약 이미 사용중인 계정에 어드민 권한을 부여하고 싶다면 아래와 같이 한다 :

1
paster sysadmin add admin_test -c /etc/ckan/default/production.ini

##

테스트 데이터 생성

ckan이 잘 돌아가는 지 테스트 데이터 생성을 통해 알아볼 수 있다. 커맨드는 create-test-data 이다.

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