from-package.md 6.68 KB
Newer Older
Patipat Jo's avatar
Patipat Jo committed
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# วิธีการติดตั้ง CKAN จาก Package บน Ubuntu Linux

การติดตั้ง CKAN จาก Package จะมี port และ service ที่ต้องใช้ดังนี้

| Service | Port | Used for |
| ------- | ---- | -------- |
| NGINX | 80 | Proxy |
| Apache2 | 8080 | Web Server |
| Solr/Jetty | 8983 | Search |
| PostgreSQL | 5432 | Database |
| Redis | 6379 | Search |

### 1. อัพเดท Package ของ Ubuntu:
```sh
sudo apt-get update
```

### 2. ตั้งค่า python2 และ pip2:
```sh
#ตรวจสอบเวอร์ชั่นของ python และตั้งค่า default python2
python -V
    # หากยังไม่ใช่ version 2 ใช้คำสั่งนี้ และ select python2
    sudo update-alternatives --config python

#ตรวจสอบเวอร์ชั่นของ pip และตั้งค่า default pip2
pip -V
    # หากยังไม่ใช่ version 2 ใช้คำสั่งนี้
    sudo cp /usr/local/bin/pip2 /usr/local/bin/pip
```

### 3. ติดตั้ง Package ของ Ubuntu ที่ CKAN ต้องการ:
```sh
sudo apt-get install -y nginx apache2 libapache2-mod-wsgi libpq5 redis-server git-core
```

### 4. ดาวน์โหลด CKAN Package ตามเวอร์ชั่นของ Ubuntu:
ตรวจสอบเวอร์ชั่นของ Ubuntu โดยใช้คำสั่ง cat /etc/os-release
- ดาวน์โหลด CKAN Package สำหรับ Ubuntu 20.04:
```sh
    wget http://packaging.ckan.org/python-ckan_2.9-py2-focal_amd64.deb
```
- ดาวน์โหลด CKAN Package สำหรับ Ubuntu 18.04:
```sh
    wget http://packaging.ckan.org/python-ckan_2.9-bionic_amd64.deb
```
- ดาวน์โหลด CKAN Package สำหรับ Ubuntu 16.04:
```sh
    wget http://packaging.ckan.org/python-ckan_2.8-xenial_amd64.deb
```

### 5. ติดตั้งและตั้งค่า PostgreSQL
```sh
sudo apt-get install -y postgresql

# สร้าง postgres user และใส่ password
sudo -u postgres createuser -S -D -R -P ckan_default

sudo -u postgres createdb -O ckan_default ckan_default -E utf-8

Patipat Jo's avatar
Patipat Jo committed
60
61
62
63
sudo -u postgres createuser -S -D -R -P -l datastore_default

sudo -u postgres createdb -O ckan_default datastore_default -E utf-8

Patipat Jo's avatar
Patipat Jo committed
64
#ตรวจสอบ database list ให้ database ckan_default และ datastore_default
Patipat Jo's avatar
Patipat Jo committed
65
66
67
68
69
70
sudo -u postgres psql -l
```

### 6. ตั้งค่า Apache และ Nginx:
```sh
#ตั้งค่า Apache
Patipat Jo's avatar
Patipat Jo committed
71
wget https://gitlab.nectec.or.th/opend/ckan-for-gdc/-/raw/master/CKAN/config/apache/ckan_default.conf -P ./apache
Patipat Jo's avatar
Patipat Jo committed
72

Patipat Jo's avatar
Patipat Jo committed
73
sudo cp ./apache/ckan_default.conf /etc/apache2/sites-available/ckan_default.conf
Patipat Jo's avatar
Patipat Jo committed
74
75

#ตั้งค่า Nginx
Patipat Jo's avatar
Patipat Jo committed
76
wget https://gitlab.nectec.or.th/opend/ckan-for-gdc/-/raw/master/CKAN/config/nginx/ckan_default.conf -P ./nginx
Patipat Jo's avatar
Patipat Jo committed
77

Patipat Jo's avatar
Patipat Jo committed
78
sudo cp ./nginx/ckan_default.conf /etc/nginx/conf.d/ckan_default.conf
Patipat Jo's avatar
Patipat Jo committed
79
80
81
82
83

#เตรียม proxycache
sudo mkdir -p /var/cache/nginx/proxycache

sudo chown www-data /var/cache/nginx/proxycache
Patipat Jo's avatar
Patipat Jo committed
84
85
86
87
88
89
90
91
92

#เตรียม storage path
sudo mkdir -p /var/lib/ckan/default

cd /var/lib/

sudo chown -R :www-data ckan/

sudo chmod -R 775 ckan/
Patipat Jo's avatar
Patipat Jo committed
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
```

### 7. ติดตั้ง CKAN package:
- สำหรับ Ubuntu 20.04:
```sh
    sudo dpkg -i python-ckan_2.9-py2-focal_amd64.deb
```
- สำหรับ Ubuntu 18.04:
```sh
    sudo dpkg -i python-ckan_2.9-bionic_amd64.deb
```
- สำหรับ Ubuntu 16.04:
```sh
    sudo dpkg -i python-ckan_2.8-xenial_amd64.deb
```

### 8. ตั้งค่าและสร้างฐานข้อมูลสำหรับ CKAN
1. ตั้งค่า who.ini และ apache.wsgi:
```sh
#ตั้งค่า who.ini
sudo rm -rf /etc/ckan/default/who.ini

sudo ln -s /usr/lib/ckan/default/src/ckan/who.ini /etc/ckan/default/who.ini

#ตั้งค่า apache.wsgi
Patipat Jo's avatar
Patipat Jo committed
118
wget https://gitlab.nectec.or.th/opend/ckan-for-gdc/-/raw/master/CKAN/config/apache/apache.wsgi -P ./apache
Patipat Jo's avatar
Patipat Jo committed
119

Patipat Jo's avatar
Patipat Jo committed
120
sudo cp ./apache/apache.wsgi /etc/ckan/default/apache.wsgi
Patipat Jo's avatar
Patipat Jo committed
121
122
123
124
125
126
127
```

2. แก้ไขไฟล์ config ของ CKAN ดังนี้:
```sh
sudo vi /etc/ckan/default/production.ini
    - sqlalchemy.url
        > sqlalchemy.url = postgresql://ckan_default:{password}@localhost/ckan_default
Patipat Jo's avatar
Patipat Jo committed
128
129
130
131
    - ckan.datastore.write_url
        > ckan.datastore.write_url = postgresql://ckan_default:{password}@localhost:5434/datastore_default
    - ckan.datastore.read_url
        > ckan.datastore.read_url = postgresql://datastore_default:datastoremui133@localhost:5434/datastore_default
Patipat Jo's avatar
Patipat Jo committed
132
133
    - ckan.site_url
        > ckan.site_url = http://{domain name}
Patipat Jo's avatar
Patipat Jo committed
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
    - ckan.auth.user_delete_groups
        > ckan.auth.user_delete_groups = false
    - ckan.auth.user_delete_organizations
        > ckan.auth.user_delete_organizations = false
    - ckan.site_id
        > ckan.site_id = default
    - solr_url
        > solr_url = http://127.0.0.1:8984/solr/ckan
    - ckan.redis.url
        > ckan.redis.url = redis://localhost:6380/0
    - ckan.plugins
        > ckan.plugins = stats text_view image_view recline_view resource_proxy datastore datapusher
    - ckan.locale_default
        > ckan.locale_default = th
    - ckan.locale_order
        > ckan.locale_order = en th pt_BR ...(ต่อจากนั้นเหมือนเดิม)
    - ckan.storage_path
        > ckan.storage_path = /var/lib/ckan/default
    - ckan.datapusher.formats
        > ckan.datapusher.formats = csv ...(ต่อจากนั้นเหมือนเดิม)
    - ckan.datapusher.url
        > ckan.datapusher.url = http://127.0.0.1:8811/
    - ckan.datapusher.assume_task_stale_after
        > ckan.datapusher.assume_task_stale_after = 3600
    - ckan.activity_streams_enabled
        > ckan.activity_streams_enabled = true
Patipat Jo's avatar
Patipat Jo committed
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186

sudo service apache2 restart
```

3. เริ่มต้นสร้างฐานข้อมูลสำหรับ CKAN:
```sh
sudo ckan db init
```

### 9. ติดตั้งและตั้งค่า Solr
```sh
sudo apt-get install -y solr-jetty

sudo vi /etc/default/jetty8
    NO_START=0            # (line 4)
    JETTY_HOST=127.0.0.1  # (line 16)
    JETTY_PORT=8983       # (line 19)

sudo rm -rf /etc/solr/conf/schema.xml

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

sudo service jetty8 restart
```

### 10. Restart Apache และ Nginx
```sh
Patipat Jo's avatar
Patipat Jo committed
187
sudo rm -rf /etc/nginx/sites-enabled/ckan
Patipat Jo's avatar
Patipat Jo committed
188
189
190
191
192
193
194
195
196
197
198

sudo service apache2 restart

sudo service nginx restart
```

### 11. ทดสอบเรียกใช้เว็บไซต์ผ่าน http://{domain name}

### 12. ติดตั้งและตั้งค่า >> [CKAN Extension](packages/)