ประกาศ แยกรหัสผ่านสำหรับล็อกอินหน้าเว็บ กับรหัสผ่านสำหรับ git client โดยให้สร้าง access token แทน รายละเอียดโปรดดูที่ https://bit.ly/32dKGqz

การเปลี่ยนแปลงการเข้าถึง git repository กรณี SSH
หลังจากการอัพเกรด gitlab เมื่อวันที่ 17 พ.ย. 2564 นั้น มีการเปลี่ยน policy การเข้าถึง git repository อันหนึ่งคือการเข้าถึงด้วย git+ssh ซึ่งใช้การยืนยันตัวตนผ่าน ssh key นั้น จะใช้ได้เฉพาะกรณีที่ client อยู่ในเครือข่ายภายในของ สวทช. หรือ vpn เข้ามาก่อนเท่านั้น (เดิมจะใช้ได้จากทุกที่) ดังนั้นหากผู้ใช้ยังต้องการใช้ git+ssh เช่นเดิม แต่อยู่ภายนอก รบกวน vpn ก่อนนะครับ
ทางเลือกอื่นคือใช้ access token
กรณีต้องการ deploy code ไปบน server ซึ่งไม่สามารถ vpn ได้ แนะนำให้ใช้ "project access token" ซึ่งใช้งานได้คล้าย personal access token แต่แนะนำให้กำหนดสิทธิเป็นแบบ "read_repository" เท่านั้นก็พอ

ckan-extension.md 7.22 KB
Newer Older
Patipat Jo's avatar
Patipat Jo committed
1
2
### 1. ckanext-pdfview:
```sh
Patipat Jo's avatar
Patipat Jo committed
3
source /usr/lib/ckan/default/bin/activate
Patipat Jo's avatar
Patipat Jo committed
4

Patipat Jo's avatar
Patipat Jo committed
5
cd /usr/lib/ckan/default
Patipat Jo's avatar
Patipat Jo committed
6

Patipat Jo's avatar
Patipat Jo committed
7
pip install -e 'git+https://github.com/ckan/ckanext-pdfview.git#egg=ckanext-pdfview'
Patipat Jo's avatar
Patipat Jo committed
8
9
```
แก้ไขไฟล์ config ของ CKAN ดังนี้:
Patipat Jo's avatar
Patipat Jo committed
10
```sh
Patipat Jo's avatar
Patipat Jo committed
11
sudo vi /etc/ckan/default/ckan.ini
Patipat Jo's avatar
Patipat Jo committed
12
```
Patipat Jo's avatar
Patipat Jo committed
13
```sh
Patipat Jo's avatar
Patipat Jo committed
14
15
16
17
    - ckan.plugins (เติม pdf_view ต่อจากที่มีอยู่แล้ว)
        > ckan.plugins = ... pdf_view
    - ckan.views.default_views (เติม pdf_view ต่อจากที่มีอยู่แล้ว)
        > ckan.views.default_views = ... pdf_view
Patipat Jo's avatar
Patipat Jo committed
18
19
```
```sh
Patipat Jo's avatar
Patipat Jo committed
20
sudo supervisorctl reload
Patipat Jo's avatar
Patipat Jo committed
21
22
23
```
### 2. ckanext-scheming:
```sh
Patipat Jo's avatar
Patipat Jo committed
24
source /usr/lib/ckan/default/bin/activate
Patipat Jo's avatar
Patipat Jo committed
25

Patipat Jo's avatar
Patipat Jo committed
26
cd /usr/lib/ckan/default
Patipat Jo's avatar
Patipat Jo committed
27

Patipat Jo's avatar
Patipat Jo committed
28
pip install -e 'git+https://gitlab.nectec.or.th/opend/ckanext-scheming.git#egg=ckanext-scheming'
Patipat Jo's avatar
Patipat Jo committed
29

Patipat Jo's avatar
Patipat Jo committed
30
pip install -r src/ckanext-scheming/requirements.txt
Patipat Jo's avatar
Patipat Jo committed
31
32
```
แก้ไขไฟล์ config ของ CKAN ดังนี้:
Patipat Jo's avatar
Patipat Jo committed
33
34
```sh
sudo vi /etc/ckan/default/ckan.ini
Patipat Jo's avatar
Patipat Jo committed
35
```
Patipat Jo's avatar
Patipat Jo committed
36
```sh
Patipat Jo's avatar
Patipat Jo committed
37
38
    - ckan.plugins (เติม scheming_datasets ต่อจากที่มีอยู่แล้ว)
        > ckan.plugins = ... scheming_datasets
Patipat Jo's avatar
Patipat Jo committed
39
40
```
```sh
Patipat Jo's avatar
Patipat Jo committed
41
sudo supervisorctl reload
Patipat Jo's avatar
Patipat Jo committed
42
43
```

Patipat Jo's avatar
Patipat Jo committed
44
### 3. ckanext-hierarchy:
Patipat Jo's avatar
Patipat Jo committed
45
```sh
Patipat Jo's avatar
Patipat Jo committed
46
source /usr/lib/ckan/default/bin/activate
Patipat Jo's avatar
Patipat Jo committed
47

Patipat Jo's avatar
Patipat Jo committed
48
cd /usr/lib/ckan/default
Patipat Jo's avatar
Patipat Jo committed
49

Patipat Jo's avatar
Patipat Jo committed
50
pip install -e 'git+https://gitlab.nectec.or.th/opend/ckanext-hierarchy.git#egg=ckanext-hierarchy'
Patipat Jo's avatar
Patipat Jo committed
51

Patipat Jo's avatar
Patipat Jo committed
52
pip install -r src/ckanext-hierarchy/requirements.txt
Patipat Jo's avatar
Patipat Jo committed
53
54
```
แก้ไขไฟล์ config ของ CKAN ดังนี้:
Patipat Jo's avatar
Patipat Jo committed
55
56
```sh
sudo vi /etc/ckan/default/ckan.ini
Patipat Jo's avatar
Patipat Jo committed
57
```
Patipat Jo's avatar
Patipat Jo committed
58
```sh
Patipat Jo's avatar
Patipat Jo committed
59
60
    - ckan.plugins (เติม hierarchy_display hierarchy_form ต่อจากที่มีอยู่แล้ว)
        > ckan.plugins = ... hierarchy_display hierarchy_form
Patipat Jo's avatar
Patipat Jo committed
61
62
```
```sh
Patipat Jo's avatar
Patipat Jo committed
63
sudo supervisorctl reload
Patipat Jo's avatar
Patipat Jo committed
64
```
Patipat Jo's avatar
Patipat Jo committed
65
### 4. ckanext-dcat:
Patipat Jo's avatar
Patipat Jo committed
66
```sh
Patipat Jo's avatar
Patipat Jo committed
67
source /usr/lib/ckan/default/bin/activate
Patipat Jo's avatar
Patipat Jo committed
68

Patipat Jo's avatar
Patipat Jo committed
69
cd /usr/lib/ckan/default
Patipat Jo's avatar
Patipat Jo committed
70

Patipat Jo's avatar
Patipat Jo committed
71
pip install -e 'git+https://github.com/ckan/ckanext-dcat.git#egg=ckanext-dcat'
Patipat Jo's avatar
Patipat Jo committed
72

Patipat Jo's avatar
Patipat Jo committed
73
pip install -r src/ckanext-dcat/requirements.txt
Patipat Jo's avatar
Patipat Jo committed
74
75
```
แก้ไขไฟล์ config ของ CKAN ดังนี้:
Patipat Jo's avatar
Patipat Jo committed
76
77
```sh
sudo vi /etc/ckan/default/ckan.ini
Patipat Jo's avatar
Patipat Jo committed
78
```
Patipat Jo's avatar
Patipat Jo committed
79
```sh
Patipat Jo's avatar
Patipat Jo committed
80
81
    - ckan.plugins (เติม dcat dcat_json_interface structured_data ต่อจากที่มีอยู่แล้ว)
        > ckan.plugins = ... dcat dcat_json_interface structured_data
Patipat Jo's avatar
Patipat Jo committed
82
83
```
```sh
Patipat Jo's avatar
Patipat Jo committed
84
sudo supervisorctl reload
Patipat Jo's avatar
Patipat Jo committed
85
```
Patipat Jo's avatar
Patipat Jo committed
86
### 5. ckanext-thai_gdc:
Patipat Jo's avatar
Patipat Jo committed
87
```sh
Patipat Jo's avatar
Patipat Jo committed
88
source /usr/lib/ckan/default/bin/activate
Patipat Jo's avatar
Patipat Jo committed
89

Patipat Jo's avatar
Patipat Jo committed
90
cd /usr/lib/ckan/default
Patipat Jo's avatar
Patipat Jo committed
91

Patipat Jo's avatar
Patipat Jo committed
92
pip install -e 'git+https://gitlab.nectec.or.th/opend/ckanext-thai_gdc.git#egg=ckanext-thai_gdc'
Patipat Jo's avatar
Patipat Jo committed
93

Patipat Jo's avatar
Patipat Jo committed
94
pip install -r src/ckanext-thai-gdc/requirements.txt
Patipat Jo's avatar
Patipat Jo committed
95
96
```
แก้ไขไฟล์ config ของ CKAN ดังนี้:
Patipat Jo's avatar
Patipat Jo committed
97
98
```sh
sudo vi /etc/ckan/default/ckan.ini
Patipat Jo's avatar
Patipat Jo committed
99
```
Patipat Jo's avatar
Patipat Jo committed
100
```sh
Patipat Jo's avatar
Patipat Jo committed
101
102
    - เพิ่ม config ถัดจากบรรทัด [app:main]
        > scheming.dataset_schemas = ckanext.thai_gdc:ckan_dataset.json
Patipat Jo's avatar
Patipat Jo committed
103
104
    - ckan.plugins (เติม thai_gdc ไว้ก่อน scheming_datasets hierarchy_display hierarchy_form)
        > ckan.plugins = ... thai_gdc scheming_datasets hierarchy_display hierarchy_form
Patipat Jo's avatar
Patipat Jo committed
105
106
```
```sh
Patipat Jo's avatar
Patipat Jo committed
107
108
109
sudo supervisorctl reload
```

Patipat Jo's avatar
Patipat Jo committed
110
#### Update ckanext-thai_gdc
Patipat Jo's avatar
Patipat Jo committed
111
ก่อนการปรับปรุงควรตรวจสอบการ update ของ extension ckanext-scheming และ ckanext-hierarchy ก่อน (หากไม่มีการแจ้งปรับปรุง สามารถ update เฉพาะ thai_gdc ได้)
Patipat Jo's avatar
Patipat Jo committed
112

Patipat Jo's avatar
Patipat Jo committed
113
```sh
Patipat Jo's avatar
Patipat Jo committed
114
#ทำการ backup folder extension ก่อน
Patipat Jo's avatar
Patipat Jo committed
115
116
mv /usr/lib/ckan/default/src/ckanext-thai-gdc /usr/lib/ckan/default/src/ckanext-thai-gdc_bak 

Patipat Jo's avatar
Patipat Jo committed
117
#ติดตั้งตามขั้นตอนปกติของ extension
Patipat Jo's avatar
Patipat Jo committed
118
119
120
121
122
123
source /usr/lib/ckan/default/bin/activate

cd /usr/lib/ckan/default

pip install -e 'git+https://gitlab.nectec.or.th/opend/ckanext-thai_gdc.git#egg=ckanext-thai_gdc'

Patipat Jo's avatar
Patipat Jo committed
124
125
pip install -r src/ckanext-thai-gdc/requirements.txt

Patipat Jo's avatar
Patipat Jo committed
126
sudo supervisorctl reload
Patipat Jo's avatar
Patipat Jo committed
127
```
Patipat Jo's avatar
Patipat Jo committed
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
### 6. ckanext-xloader:
```sh
source /usr/lib/ckan/default/bin/activate

cd /usr/lib/ckan/default

pip install -e 'git+https://gitlab.nectec.or.th/opend/ckanext-xloader.git#egg=ckanext-xloader'

pip install -r src/ckanext-xloader/requirements.txt

pip install -U requests[security]
```
แก้ไขไฟล์ config ของ CKAN ดังนี้:
```sh
sudo vi /etc/ckan/default/ckan.ini
```
```sh
Patipat Jo's avatar
Patipat Jo committed
145
146
147
    - เพิ่ม config ถัดจากบรรทัด [app:main]
        > ckanext.xloader.just_load_with_messytables = true
        > ckanext.xloader.ssl_verify = false
Patipat Jo's avatar
Patipat Jo committed
148
149
    - ckan.plugins (เปลี่ยนจาก datapusher เป็น xloader)
        > ckan.plugins = ... xloader ...
Patipat Jo's avatar
Patipat Jo committed
150
    - ckanext.xloader.jobs_db.uri (เพิ่ม config นี้ ถัดจาก sqlalchemy.url และให้มีค่าเหมือนกัน)
Patipat Jo's avatar
Patipat Jo committed
151
152
153
154
155
        > ckanext.xloader.jobs_db.uri = postgresql://ckan_default:{password1}@localhost/ckan_default
```
```sh
sudo supervisorctl reload
```
Patipat Jo's avatar
Patipat Jo committed
156

Patipat Jo's avatar
Patipat Jo committed
157
หากต้องการกำหนดให้ xloader submit all อัตโนมัติเข้า DataStore ทุกวัน ให้ set cronjob ดังนี้
Patipat Jo's avatar
Patipat Jo committed
158
```sh
Patipat Jo's avatar
Patipat Jo committed
159
160
161
crontab -e
```
เพิ่มคำสั่งต่อไปนี้
Patipat Jo's avatar
Patipat Jo committed
162

Patipat Jo's avatar
Patipat Jo committed
163
    @daily /usr/lib/ckan/default/bin/paster --plugin=ckanext-xloader xloader submit all -c /etc/ckan/default/ckan.ini
Patipat Jo's avatar
Patipat Jo committed
164
165


Patipat Jo's avatar
Patipat Jo committed
166
### 7. ckanext-dga-stats:
Patipat Jo's avatar
Patipat Jo committed
167
168
169
170
171
172
173
174
175
176
177
178
```sh
source /usr/lib/ckan/default/bin/activate

cd /usr/lib/ckan/default

pip install -e 'git+https://gitlab.nectec.or.th/opend/ckanext-dga-stats.git#egg=ckanext-dga-stats'
```
แก้ไขไฟล์ config ของ CKAN ดังนี้:
```sh
sudo vi /etc/ckan/default/ckan.ini
```
```sh
Patipat Jo's avatar
Patipat Jo committed
179
180
    - ckan.plugins (เติม dga_stats ก่อนหน้า thai_gdc)
        > ckan.plugins = ... dga_stats ...
Patipat Jo's avatar
Patipat Jo committed
181
182
183
```
```sh
sudo supervisorctl reload
thepaeth's avatar
thepaeth committed
184
```
Patipat Jo's avatar
Patipat Jo committed
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
### 8. ckanext-noregistration:
```sh
source /usr/lib/ckan/default/bin/activate

cd /usr/lib/ckan/default

pip install -e 'git+https://github.com/ogdch/ckanext-noregistration.git#egg=ckanext-noregistration'

pip install -r src/ckanext-noregistration/pip-requirements.txt
```
แก้ไขไฟล์ config ของ CKAN ดังนี้:
```sh
sudo vi /etc/ckan/default/ckan.ini
```
```sh
    - ckan.plugins (เติม noregistration ก่อนหน้า thai_gdc)
        > ckan.plugins = ... noregistration ...
```
```sh
sudo supervisorctl reload
```
thepaeth's avatar
thepaeth committed
206

Patipat Jo's avatar
Patipat Jo committed
207
## update thai gdc docker image (เฉพาะหน่วยงานที่ติดตั้งแบบ docker  เท่านั้น):
thepaeth's avatar
thepaeth committed
208
209
210
211
212
213
214
215
216
217
218

```
# อัพเดท docker image 
docker pull thepaeth/ckan-thai_gdc:ckan-2.9-xloader

# cd ไปยัง directory ที่เรา git clone  thai gdc docker มา
cd ~/ckan-docker

# ตรวจสอบในแน่ใจว่ามีไฟล์ docker-compose.yml อยู่
ls -la | grep docker-composer

thepaeth's avatar
thepaeth committed
219
# แก้ไข CKAN__PLUGINS ในไฟล์ .env บรรทัดด้านล่าง
thepaeth's avatar
thepaeth committed
220
CKAN__PLUGINS=envvars stats image_view text_view recline_view resource_proxy webpage_view datastore xloader dga_stats thai_gdc scheming_datasets pdf_view hierarchy_display hierarchy_form dcat dcat_json_interface structured_data
thepaeth's avatar
thepaeth committed
221

thepaeth's avatar
thepaeth committed
222
223
224
# รัน docker compose เพื่ออัพเดท image ของ container
docker-compose up -d

Patipat Jo's avatar
Patipat Jo committed
225
```