|
@@ -33,8 +33,6 @@ VARIANTS='full full-vim'
|
33
|
33
|
IN_DEFAULT_INSTALL=0
|
34
|
34
|
SHOW_ON_ABOUT=1
|
35
|
35
|
|
36
|
|
-KEYSERVER_SKS_REPO="https://bitbucket.org/skskeyserver/sks-keyserver"
|
37
|
|
-KEYSERVER_SKS_COMMIT='0106ba2'
|
38
|
36
|
KEYSERVER_WEB_REPO="https://github.com/mattrude/pgpkeyserver-lite"
|
39
|
37
|
KEYSERVER_WEB_COMMIT='a038cb79b927c99bf7da62f20d2c6a2f20374339'
|
40
|
38
|
KEYSERVER_PORT=11371
|
|
@@ -61,33 +59,7 @@ function reconfigure_keyserver {
|
61
|
59
|
echo -n ''
|
62
|
60
|
}
|
63
|
61
|
|
64
|
|
-function upgrade_keyserver_sks {
|
65
|
|
- CURR_KEYSERVER_SKS_COMMIT=$(get_completion_param "keyserver commit")
|
66
|
|
- if [[ "$CURR_KEYSERVER_SKS_COMMIT" == "$KEYSERVER_SKS_COMMIT" ]]; then
|
67
|
|
- return
|
68
|
|
- fi
|
69
|
|
-
|
70
|
|
- if grep -q "keyserver domain" $COMPLETION_FILE; then
|
71
|
|
- KEYSERVER_DOMAIN_NAME=$(get_completion_param "keyserver domain")
|
72
|
|
- fi
|
73
|
|
-
|
74
|
|
- # update to the next commit
|
75
|
|
- function_check set_repo_commit
|
76
|
|
- set_repo_commit $INSTALL_DIR/keyserver "keyserver commit" "$KEYSERVER_SKS_COMMIT" $KEYSERVER_SKS_REPO
|
77
|
|
-
|
78
|
|
- cd $INSTALL_DIR/keyserver
|
79
|
|
- make dep
|
80
|
|
- make all
|
81
|
|
- if [ ! "$?" = "0" ]; then
|
82
|
|
- echo $'Unable to build sks-keyserver'
|
83
|
|
- exit 836252
|
84
|
|
- fi
|
85
|
|
- make install
|
86
|
|
-
|
87
|
|
- chown -R keyserver:keyserver /var/lib/sks
|
88
|
|
-}
|
89
|
|
-
|
90
|
|
-function upgrade_keyserver_web {
|
|
62
|
+function upgrade_keyserver {
|
91
|
63
|
CURR_KEYSERVER_WEB_COMMIT=$(get_completion_param "keyserver web commit")
|
92
|
64
|
if [[ "$CURR_KEYSERVER_WEB_COMMIT" == "$KEYSERVER_WEB_COMMIT" ]]; then
|
93
|
65
|
return
|
|
@@ -104,11 +76,6 @@ function upgrade_keyserver_web {
|
104
|
76
|
chown -R www-data:www-data /var/www/$KEYSERVER_DOMAIN_NAME/htdocs
|
105
|
77
|
}
|
106
|
78
|
|
107
|
|
-function upgrade_keyserver {
|
108
|
|
- upgrade_keyserver_sks
|
109
|
|
- upgrade_keyserver_web
|
110
|
|
-}
|
111
|
|
-
|
112
|
79
|
function backup_local_keyserver {
|
113
|
80
|
echo -n ''
|
114
|
81
|
}
|
|
@@ -126,10 +93,8 @@ function restore_remote_keyserver {
|
126
|
93
|
}
|
127
|
94
|
|
128
|
95
|
function remove_keyserver {
|
129
|
|
- systemctl stop keyserver
|
130
|
|
- systemctl disable keyserver
|
131
|
|
- rm /etc/systemd/system/keyserver.service
|
132
|
|
- systemctl daemon-reload
|
|
96
|
+ systemctl stop sks
|
|
97
|
+ apt-get -qy remove sks
|
133
|
98
|
|
134
|
99
|
read_config_param "KEYSERVER_DOMAIN_NAME"
|
135
|
100
|
nginx_dissite $KEYSERVER_DOMAIN_NAME
|
|
@@ -150,20 +115,9 @@ function remove_keyserver {
|
150
|
115
|
remove_completion_param "install_keyserver"
|
151
|
116
|
|
152
|
117
|
sed -i '/keyserver/d' $COMPLETION_FILE
|
153
|
|
- if [ -f /usr/bin/keyserver-start ]; then
|
154
|
|
- rm /usr/bin/keyserver-start
|
155
|
|
- fi
|
156
|
|
- if [ -f /usr/bin/keyserver-stop ]; then
|
157
|
|
- rm /usr/bin/keyserver-stop
|
158
|
|
- fi
|
159
|
|
- cd $INSTALL_DIR/keyserver
|
160
|
|
- make uninstall
|
161
|
118
|
if [ -d /var/lib/sks ]; then
|
162
|
119
|
rm -rf /var/lib/sks
|
163
|
120
|
fi
|
164
|
|
- rm -rf $INSTALL_DIR/keyserver
|
165
|
|
- groupdel -f keyserver
|
166
|
|
- userdel -r keyserver
|
167
|
121
|
}
|
168
|
122
|
|
169
|
123
|
function install_interactive_keyserver {
|
|
@@ -201,7 +155,7 @@ function keyserver_import_keys {
|
201
|
155
|
|
202
|
156
|
cd /var/lib/sks
|
203
|
157
|
echo $'Building the keyserver database from the downloaded dump'
|
204
|
|
- echo '2' | /usr/local/bin/sks_build.sh
|
|
158
|
+ sks build
|
205
|
159
|
}
|
206
|
160
|
|
207
|
161
|
function configure_interactive_keyserver {
|
|
@@ -227,33 +181,16 @@ function configure_interactive_keyserver {
|
227
|
181
|
}
|
228
|
182
|
|
229
|
183
|
function install_keyserver {
|
230
|
|
- apt-get -qy install build-essential gcc ocaml libdb-dev wget
|
|
184
|
+ apt-get -qy install build-essential gcc ocaml libdb-dev wget sks
|
|
185
|
+ sks build
|
|
186
|
+ chown -Rc debian-sks: /var/lib/sks/DB
|
|
187
|
+ sed -i 's|initstart=.*|initstart=yes|g' /etc/default/sks
|
|
188
|
+ systemctl restart sks
|
231
|
189
|
|
232
|
190
|
if [ ! -d /var/www/$KEYSERVER_DOMAIN_NAME ]; then
|
233
|
191
|
mkdir /var/www/$KEYSERVER_DOMAIN_NAME
|
234
|
192
|
fi
|
235
|
193
|
|
236
|
|
- if [ ! -d $INSTALL_DIR ]; then
|
237
|
|
- mkdir -p $INSTALL_DIR
|
238
|
|
- fi
|
239
|
|
- cd $INSTALL_DIR
|
240
|
|
- if [ -d /repos/keyserver ]; then
|
241
|
|
- mkdir $INSTALL_DIR/keyserver
|
242
|
|
- cp -r -p /repos/keyserver/. $INSTALL_DIR/keyserver
|
243
|
|
- cd $INSTALL_DIR/keyserver
|
244
|
|
- git pull
|
245
|
|
- else
|
246
|
|
- git_clone $KEYSERVER_SKS_REPO keyserver
|
247
|
|
- fi
|
248
|
|
- if [ ! -d $INSTALL_DIR/keyserver ]; then
|
249
|
|
- echo $"$INSTALL_DIR/keyserver not found"
|
250
|
|
- exit 835274
|
251
|
|
- fi
|
252
|
|
-
|
253
|
|
- cd $INSTALL_DIR/keyserver
|
254
|
|
- git checkout $KEYSERVER_SKS_COMMIT -b $KEYSERVER_SKS_COMMIT
|
255
|
|
- set_completion_param "keyserver commit" "$KEYSERVER_SKS_COMMIT"
|
256
|
|
-
|
257
|
194
|
cd /var/www/$KEYSERVER_DOMAIN_NAME
|
258
|
195
|
if [ -d /var/www/$KEYSERVER_DOMAIN_NAME/htdocs ]; then
|
259
|
196
|
rm -rf /var/www/$KEYSERVER_DOMAIN_NAME/htdocs
|
|
@@ -276,26 +213,6 @@ function install_keyserver {
|
276
|
213
|
git checkout $KEYSERVER_WEB_COMMIT -b $KEYSERVER_WEB_COMMIT
|
277
|
214
|
set_completion_param "keyserver web commit" "$KEYSERVER_WEB_COMMIT"
|
278
|
215
|
|
279
|
|
- cd $INSTALL_DIR/keyserver
|
280
|
|
- if [ ! -f Makefile.local.unused ]; then
|
281
|
|
- echo $'Unused makefile not found'
|
282
|
|
- exit 72398
|
283
|
|
- fi
|
284
|
|
- cp Makefile.local.unused Makefile.local
|
285
|
|
- sed -i 's|LIBDB=.*|LIBDB=-ldb-5.3.1|g' Makefile.local
|
286
|
|
-
|
287
|
|
- make dep
|
288
|
|
- make all
|
289
|
|
- if [ ! "$?" = "0" ]; then
|
290
|
|
- echo $'Unable to build sks-keyserver'
|
291
|
|
- exit 8356328
|
292
|
|
- fi
|
293
|
|
- make install
|
294
|
|
-
|
295
|
|
- if [ ! -f /usr/local/bin/sks_build.sh ]; then
|
296
|
|
- echo $'/usr/local/bin/sks_build.sh not found'
|
297
|
|
- exit 238460
|
298
|
|
- fi
|
299
|
216
|
|
300
|
217
|
USER_EMAIL_ADDRESS=$MY_USERNAME@$HOSTNAME
|
301
|
218
|
GPG_ID=$(su -m root -c "gpg --list-keys $USER_EMAIL_ADDRESS | sed -n '2p' | sed 's/^[ \t]*//'" - $MY_USERNAME)
|
|
@@ -329,39 +246,10 @@ function install_keyserver {
|
329
|
246
|
echo 'stat_hour: 12' >> $sksconf_file
|
330
|
247
|
echo '' >> $sksconf_file
|
331
|
248
|
echo 'max_matches: 500' >> $sksconf_file
|
|
249
|
+ chown debian-sks: $sksconf_file
|
332
|
250
|
|
333
|
251
|
KEYSERVER_ONION_HOSTNAME=$(add_onion_service keyserver 80 ${KEYSERVER_ONION_PORT})
|
334
|
252
|
|
335
|
|
- echo '#!/bin/sh' > /usr/bin/keyserver-start
|
336
|
|
- echo 'cd /var/lib/sks' >> /usr/bin/keyserver-start
|
337
|
|
- echo 'echo -n \ sks_db' >> /usr/bin/keyserver-start
|
338
|
|
- echo '$DAEMON db &' >> /usr/bin/keyserver-start
|
339
|
|
- echo 'echo -n \ sks_recon' >> /usr/bin/keyserver-start
|
340
|
|
- echo '$DAEMON recon &' >> /usr/bin/keyserver-start
|
341
|
|
- chmod +x /usr/bin/keyserver-start
|
342
|
|
-
|
343
|
|
- echo '#!/bin/sh' > /usr/bin/keyserver-stop
|
344
|
|
- echo 'killall sks' >> /usr/bin/keyserver-stop
|
345
|
|
- echo 'sleep 5' >> /usr/bin/keyserver-stop
|
346
|
|
- chmod +x /usr/bin/keyserver-stop
|
347
|
|
-
|
348
|
|
- echo '[Unit]' > /etc/systemd/system/keyserver.service
|
349
|
|
- echo 'Description=SKS Keyserver' >> /etc/systemd/system/keyserver.service
|
350
|
|
- echo 'After=syslog.target network.target nginx.target' >> /etc/systemd/system/keyserver.service
|
351
|
|
- echo '' >> /etc/systemd/system/keyserver.service
|
352
|
|
- echo '[Service]' >> /etc/systemd/system/keyserver.service
|
353
|
|
- echo 'User=keyserver' >> /etc/systemd/system/keyserver.service
|
354
|
|
- echo 'Group=keyserver' >> /etc/systemd/system/keyserver.service
|
355
|
|
- echo "WorkingDirectory=/var/lib/sks" >> /etc/systemd/system/keyserver.service
|
356
|
|
- echo "ExecStart=/usr/bin/keyserver-start" >> /etc/systemd/system/keyserver.service
|
357
|
|
- echo "ExecStop=/usr/bin/keyserver-stop" >> /etc/systemd/system/keyserver.service
|
358
|
|
- echo 'Restart=always' >> /etc/systemd/system/keyserver.service
|
359
|
|
- echo 'RestartSec=10' >> /etc/systemd/system/keyserver.service
|
360
|
|
- echo '' >> /etc/systemd/system/keyserver.service
|
361
|
|
- echo '[Install]' >> /etc/systemd/system/keyserver.service
|
362
|
|
- echo 'WantedBy=multi-user.target' >> /etc/systemd/system/keyserver.service
|
363
|
|
- chmod +x /etc/systemd/system/keyserver.service
|
364
|
|
-
|
365
|
253
|
keyserver_nginx_site=/etc/nginx/sites-available/$KEYSERVER_DOMAIN_NAME
|
366
|
254
|
if [[ $ONION_ONLY == "no" ]]; then
|
367
|
255
|
function_check nginx_http_redirect
|
|
@@ -455,20 +343,15 @@ function install_keyserver {
|
455
|
343
|
chown root:root /etc/ssl/private/${KEYSERVER_DOMAIN_NAME}.key
|
456
|
344
|
fi
|
457
|
345
|
|
458
|
|
- groupadd keyserver
|
459
|
|
- useradd -c "SKS Keyserver system account" -d /var/lib/sks -m -r -g keyserver keyserver
|
460
|
|
- chown -R keyserver:keyserver /var/lib/sks
|
461
|
346
|
chown -R www-data:www-data /var/www/$KEYSERVER_DOMAIN_NAME/htdocs
|
462
|
347
|
|
463
|
348
|
function_check nginx_ensite
|
464
|
349
|
nginx_ensite $KEYSERVER_DOMAIN_NAME
|
465
|
350
|
|
466
|
|
- systemctl enable keyserver
|
467
|
|
- systemctl daemon-reload
|
468
|
|
- systemctl start keyserver
|
469
|
351
|
systemctl restart nginx
|
470
|
352
|
|
471
|
353
|
set_completion_param "keyserver domain" "$KEYSERVER_DOMAIN_NAME"
|
|
354
|
+ set_completion_param "keyserver onion domain" "$KEYSERVER_ONION_HOSTNAME"
|
472
|
355
|
|
473
|
356
|
APP_INSTALLED=1
|
474
|
357
|
}
|