IT Log

[CKAN] Package Install 본문

Open Source/CKAN

[CKAN] Package Install

newly0513 2021. 4. 8. 11:26
728x90
반응형

패키지 설치 가능 여부

  • Ubuntu 18.04 64bit
  • Ubuntu 20.04 64bit

※ Ubuntu 다른 버전이거나, 다른 OS인 경우에는 Source 설치를 진행

참조 URL : docs.ckan.org/en/2.9/maintaining/installing/install-from-package.html


1. CKAN 패키지 설치

1-1. 우분투 UPDATE

sudo apt update

 

1-2. 우분투 패키지 설치

※ 20.04의 경우 'python3-distutils'를 설치하지 않으면 이후 CKAN 패키지 설치시 오류 발생

sudo apt install -y libpq5 redis-server nginx supervisor python3-distutils

 

1-3. CKAN 패키지 다운로드 및 설치

wget http://packaging.ckan.org/python-ckan_2.9-py3-focal_amd64.deb
sudo dpkg -i python-ckan_2.9-py3-focal_amd64.deb

 


2. PostgreSQL 설정 및 설치

2-1 PostgreSQL 설치

sudo apt install -y postgresql

 

2-2. User 및 Database 생성

# User ( 비밀번호 입력 및 확인 )
sudo -u postgres createuser -S -D -R -P ckan_default
-- ckan
-- ckan

sudo -u postgres createuser -S -D -R -P -l datastore_default
-- store
-- store

sudo -u postgres createuser -S -D -R -P datapusher_jobs
-- pusher
-- pusher

# Database
sudo -u postgres createdb -O ckan_default ckan_default -E utf-8
sudo -u postgres createdb -O ckan_default datastore_default -E utf-8
sudo -u postgres createdb -O datapusher_jobs datapusher_jobs -E utf-8

 

2-3. Network 설정

sudo vi /etc/postgresql/12/main/postgresql.conf


# 수정 전
#listen_addresses = 'loacalhost'

# 수정 후 (주석 제거 및 내용 수정)
listen_addresses = '*'

 

sudo vi /etc/postgresql/12/main/pg_hba.conf 

# 맨 아랫줄에 추가
host all all 0.0.0.0/0 md5

3. Solr 설정 및 설치

3-1. Solr 설치

sudo apt install -y solr-tomcat

 

3-2. 포트 수정

sudo vi /etc/tomcat9/server.xml


# 수정 전 
<Connector port="8080" protocol="HTTP/1.1"

# 수정 후
<Connector port="8983" protocol="HTTP/1.1"

 

3-3. schema.xml

sudo mv /etc/solr/conf/schema.xml /etc/solr/conf/schema.xml.bak
sudo ln -s /usr/lib/ckan/default/src/ckan/ckan/config/solr/schema.xml /etc/solr/conf/schema.xml

 

3-4. 재시작

sudo service tomcat9 restart

4. CKAN 구성 업데이트 및 DB 초기화

4-1. CKAN 구성 업데이트

  • 4-1 내용은 이러한 옵션들이 있다는 점에 초점
  • 빠르게 오류 없이 실행하려면 필수 내용만 아래 내용과 같이 수정
sudo vi /etc/ckan/default/ckan.ini

 

 

아래 부분은 삭제 ( Database Settings에 포함할 예정임)

# PostgreSQL' full-text search parameters
ckan.datastore.default_fts_lang = english
ckan.datastore.default_fts_index_method = gist

 

 

## Database Settings

※ 필수 내용

   - sqlalchemy.url

   - ckan.datastore.write_url

   - ckan.datastore.read_url

sqlalchemy.url = postgresql://ckan_default:ckan@localhost/ckan_default
ckan.datastore.write_url = postgresql://ckan_default:ckan@localhost/datastore_default
ckan.datastore.read_url = postgresql://datastore_default:store@localhost/datastore_default
ckan.datastore.sqlalchemy.pool_size=10
ckan.datastore.sqlalchemy.max_overflow=20
ckan.datastore.default_fts_lang = english
ckan.datastore.default_fts_index_method = gist
ckan.datastore.sqlsearch.enabled = True
ckan.datastore.search.rows_default = 1000
ckan.datastore.search.rows_max = 1000000
ckan.datastore.sqlsearch.allowed_functions_file = /usr/lib/ckan/default/src/ckan/ckanext/datastore/allowed_functions.txt
  • 'ckan.datastore.sqlsearch.allowed_functions_file' 은 datastore_search_sql () 함수로 전송된 쿼리에서 실행을 허용해야하는 SQL 함수를 나열하는 텍스트 파일의 경로를 정의 할 수 있습니다. (단, ckan.datastore.sqlsearch.enaabled가 True여야 함.)
  • 대부분 allowed_functions.txt 경로는 위와 같지만 위치를 한번 확인한 뒤 설정할 것.

 

 

## Site Settings

※ 필수 내용

   - ckan.stie_url

 

ckan.site_url = http://localhost
#apikey_header_name = API-KEY
#ckan.cache_expires = 2592000
#ckan.cache_enabled = True
ckan.use_pylons_response_cleanup_middleware = true
ckan.mimetype_guess = file_ext
ckan.static_max_age = 2592000
ckan.tracking_enabled = True
ckan.valid_url_schemes = http https ftp sftp

 

 

## Authorization Settings

※ 아래 전부 수정하여도 무관

ckan.auth.anon_create_dataset = False
ckan.auth.create_unowned_dataset = False
ckan.auth.create_dataset_if_not_in_organization = False
ckan.auth.user_create_groups = True
ckan.auth.user_create_organizations = False
ckan.auth.user_delete_groups = False
ckan.auth.user_delete_organizations = False
ckan.auth.create_user_via_api = False
ckan.auth.create_user_via_web = True
ckan.auth.roles_that_cascade_to_sub_groups = admin editor
ckan.auth.public_user_details = False
ckan.auth.public_activity_stream_detail = True
ckan.auth.allow_dataset_collaborators = True
ckan.auth.allow_admin_collaborators = True
ckan.auth.allow_collaborators_to_change_owner_org = True
ckan.auth.create_default_api_keys = True

 

 

## Search Settings

※ 필수 내용

   - solr_url

ckan.site_id = default
solr_url = http://127.0.0.1:8983/solr
ckan.search.automatic_indexing = true
ckan.search.solr_commit = false
ckan.search.show_all_types = dataset
ckan.search.default_include_private = false
#ckan.search.default_package_sort = "score desc, metadata_modified desc"
search.facets.limit = 100
search.facets.default = 10
ckan.extra_resource_fields = alt_url
ckan.search.rows_max = 1000
ckan.group_and_organization_list_max = 1000
ckan.group_and_organization_list_all_fields_max = 100

 

 

## Plugins Settings

※ 필수 내용

   - ckan.plugins : 이 옵션은 띄어쓰기로 각 플러그인을 구분하며, 설치되어 있는 플러그인만 작성 가능

ckan.plugins = stats text_view image_view recline_view datastore datapusher resource_proxy
ckanext.stats.cache_enabled = True
ckan.resource_proxy.max_file_size = 1048576
ckan.resource_proxy.chunk_size = 8192

 

 

## Resource Views Settings

  • 'ckan.views.default_views'는 ckan.plugins에 작성된 plugin만 작성 가능
  • 그 외 옵션은 기존에 작성되어 있으므로 주석만 해제
ckan.views.default_views = image_view webpage_view recline_grid_view
ckan.preview.json_formats = json
ckan.preview.xml_formats = xml rdf rdf+xml owl+xml atom rss
ckan.preview.text_formats = text plain text/plain
ckan.preview.image_formats = png jpeg jpg gif

 

 

## Storage Settings

※ 필수 내용

   - ckan.storage_path : FileStore를 설정하려면 필수이나 아니면 필수가 아님

ckan.storage_path = /var/lib/ckan/default
ckan.max_resource_size = 100
ckan.max_image_size = 10

 

 

## Webassets Settings

ckan.webassets.path = /var/lib/ckan/default/webassets
ckan.webassets.use_x_sendfile = false

 

 

## DataPusher

※ 필수 내용

   - ckan.datapusher.url

ckan.datapusher.formats = csv xls xlsx tsv application/csv application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
ckan.datapusher.url = http://127.0.0.1:8800/
ckan.datapusher.assume_task_stale_after = 3600

 

4-2. DB 초기화

sudo ckan db init

5. Web 서버 시작 및 Nginx 재시작

sudo supervisorctl reload
sudo service nginx restart

# 상태 확인
sudo supervisorctl status

6. 사이트 접속

http://localhost

접속하여 확인.


참고 URL : docs.ckan.org/en/2.9/maintaining/installing/install-from-package.html


728x90
반응형

'Open Source > CKAN' 카테고리의 다른 글

[CKAN] FileSotre  (1) 2021.04.13
[CKAN] DataStore  (0) 2021.04.09
[CKAN] Create Test Data  (0) 2021.04.09
[CKAN] Create Sysadmin User  (0) 2021.04.09
[CKAN] Source Install  (0) 2021.04.09
Comments