from-package.md 6.7 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
# วิธีการติดตั้ง 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:
Patipat Jo's avatar
Patipat Jo committed
37
38
39
40
41
42
ตรวจสอบเวอร์ชั่นของ Ubuntu โดยใช้คำสั่ง 
```sh
cat /etc/os-release

cd ~
```
Patipat Jo's avatar
Patipat Jo committed
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
- ดาวน์โหลด 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
65
66
67
68
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
69
#ตรวจสอบ database list ให้ database ckan_default และ datastore_default
Patipat Jo's avatar
Patipat Jo committed
70
71
72
73
74
75
sudo -u postgres psql -l
```

### 6. ตั้งค่า Apache และ Nginx:
```sh
#ตั้งค่า Apache
Patipat Jo's avatar
Patipat Jo committed
76
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
77

Patipat Jo's avatar
Patipat Jo committed
78
sudo cp ./apache/ckan_default.conf /etc/apache2/sites-available/ckan_default.conf
Patipat Jo's avatar
Patipat Jo committed
79
80

#ตั้งค่า Nginx
Patipat Jo's avatar
Patipat Jo committed
81
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
82

Patipat Jo's avatar
Patipat Jo committed
83
sudo cp ./nginx/ckan_default.conf /etc/nginx/conf.d/ckan_default.conf
Patipat Jo's avatar
Patipat Jo committed
84
85
86
87
88

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

sudo chown www-data /var/cache/nginx/proxycache
Patipat Jo's avatar
Patipat Jo committed
89
90
91
92
93
94
95
96
97

#เตรียม 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
98

Patipat Jo's avatar
Patipat Jo committed
99
cd ~
Patipat Jo's avatar
Patipat Jo committed
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
```

### 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
125
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
126

Patipat Jo's avatar
Patipat Jo committed
127
sudo cp ./apache/apache.wsgi /etc/ckan/default/apache.wsgi
Patipat Jo's avatar
Patipat Jo committed
128
129
130
131
132
133
134
```

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
135
136
137
138
    - 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
139
140
    - ckan.site_url
        > ckan.site_url = http://{domain name}
Patipat Jo's avatar
Patipat Jo committed
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
    - 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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193

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
194
sudo rm -rf /etc/nginx/sites-enabled/ckan
Patipat Jo's avatar
Patipat Jo committed
195
196
197
198
199
200
201
202
203
204
205

sudo service apache2 restart

sudo service nginx restart
```

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

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