|
@@ -207,6 +207,8 @@ function remove_radicale {
|
207
|
207
|
remove_completion_param install_radicale
|
208
|
208
|
sed -i '/radicale/d' $COMPLETION_FILE
|
209
|
209
|
sed -i '/Radicale/d' /home/$MY_USERNAME/README
|
|
210
|
+ sed -i '@location /radicale@,@}@d' /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
211
|
+ systemctl restart nginx
|
210
|
212
|
}
|
211
|
213
|
|
212
|
214
|
function install_radicale {
|
|
@@ -271,6 +273,7 @@ function install_radicale {
|
271
|
273
|
echo 'hosts=127.0.0.1:52322' >> ${RADICALE_DIRECTORY}/config
|
272
|
274
|
echo 'ssl = False' >> ${RADICALE_DIRECTORY}/config
|
273
|
275
|
echo 'daemon = False' >> ${RADICALE_DIRECTORY}/config
|
|
276
|
+ echo 'base_prefix=/radicale/' >> ${RADICALE_DIRECTORY}/config
|
274
|
277
|
echo '' >> ${RADICALE_DIRECTORY}/config
|
275
|
278
|
echo '[storage]' >> ${RADICALE_DIRECTORY}/config
|
276
|
279
|
echo 'type = filesystem' >> ${RADICALE_DIRECTORY}/config
|
|
@@ -304,48 +307,64 @@ function install_radicale {
|
304
|
307
|
systemctl enable radicale
|
305
|
308
|
systemctl start radicale
|
306
|
309
|
|
307
|
|
- RADICALE_ONION_HOSTNAME=$(add_onion_service radicale 80 ${RADICALE_ONION_PORT})
|
308
|
|
-
|
309
|
|
- if [[ $ONION_ONLY == 'no' ]]; then
|
310
|
|
- echo 'server {' > /etc/nginx/sites-available/radicale
|
311
|
|
- echo " listen ${RADICALE_PORT} ssl;" >> /etc/nginx/sites-available/radicale
|
312
|
|
- echo " listen [::]:${RADICALE_PORT} ssl;" >> /etc/nginx/sites-available/radicale
|
313
|
|
- echo '' >> /etc/nginx/sites-available/radicale
|
314
|
|
- function_check nginx_ssl
|
315
|
|
- nginx_ssl radicale
|
316
|
|
- function_check nginx_disable_sniffing
|
317
|
|
- nginx_disable_sniffing radicale
|
318
|
|
- echo '' >> /etc/nginx/sites-available/radicale
|
319
|
|
- echo " server_name $DEFAULT_DOMAIN_NAME;" >> /etc/nginx/sites-available/radicale
|
320
|
|
-
|
321
|
|
- echo '' >> /etc/nginx/sites-available/radicale
|
322
|
|
- echo ' access_log /dev/null;' >> /etc/nginx/sites-available/radicale
|
323
|
|
- echo ' error_log /var/log/radicale/radicale.log warn;' >> /etc/nginx/sites-available/radicale
|
324
|
|
- echo '' >> /etc/nginx/sites-available/radicale
|
325
|
|
- echo ' location / {' >> /etc/nginx/sites-available/radicale
|
326
|
|
- echo ' auth_basic "Radicale";' >> /etc/nginx/sites-available/radicale
|
327
|
|
- echo " auth_basic_user_file ${RADICALE_USERS};" >> /etc/nginx/sites-available/radicale
|
328
|
|
- echo ' proxy_pass http://localhost:52322;' >> /etc/nginx/sites-available/radicale
|
329
|
|
- echo ' }' >> /etc/nginx/sites-available/radicale
|
330
|
|
- echo '}' >> /etc/nginx/sites-available/radicale
|
331
|
|
- echo '' >> /etc/nginx/sites-available/radicale
|
|
310
|
+ if [ ! -f /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME} ]; then
|
|
311
|
+ # create a new site config
|
|
312
|
+ RADICALE_ONION_HOSTNAME=$(add_onion_service radicale 80 ${RADICALE_ONION_PORT})
|
|
313
|
+
|
|
314
|
+ if [[ $ONION_ONLY == 'no' ]]; then
|
|
315
|
+ echo 'server {' > /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
316
|
+ echo " listen 443 ssl;" >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
317
|
+ echo " listen [::]:443 ssl;" >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
318
|
+ echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
319
|
+ function_check nginx_ssl
|
|
320
|
+ nginx_ssl ${DEFAULT_DOMAIN_NAME}
|
|
321
|
+ function_check nginx_disable_sniffing
|
|
322
|
+ nginx_disable_sniffing ${DEFAULT_DOMAIN_NAME}
|
|
323
|
+ echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
324
|
+ echo " server_name ${DEFAULT_DOMAIN_NAME};" >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
325
|
+
|
|
326
|
+ echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
327
|
+ echo ' access_log /dev/null;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
328
|
+ echo ' error_log /var/log/radicale/radicale.log warn;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
329
|
+ echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
330
|
+ echo ' location / {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
331
|
+ echo ' auth_basic "Radicale";' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
332
|
+ echo " auth_basic_user_file ${RADICALE_USERS};" >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
333
|
+ echo ' proxy_pass http://localhost:52322;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
334
|
+ echo ' }' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
335
|
+ echo '}' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
336
|
+ echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
337
|
+ else
|
|
338
|
+ echo -n '' > /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
339
|
+ fi
|
|
340
|
+ echo 'server {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
341
|
+ echo " listen 127.0.0.1:${RADICALE_ONION_PORT} default_server;" >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
342
|
+ echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
343
|
+ echo " server_name ${RADICALE_ONION_HOSTNAME};" >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
344
|
+ echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
345
|
+ echo ' access_log /dev/null;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
346
|
+ echo ' error_log /var/log/radicale/radicale.log warn;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
347
|
+ echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
348
|
+ echo ' location / {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
349
|
+ echo ' auth_basic "Radicale";' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
350
|
+ echo " auth_basic_user_file ${RADICALE_USERS};" >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
351
|
+ echo ' proxy_pass http://localhost:52322;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
352
|
+ echo ' }' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
353
|
+ echo '}' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
354
|
+
|
|
355
|
+ set_completion_param "radicale onion domain" "${RADICALE_ONION_HOSTNAME}"
|
332
|
356
|
else
|
333
|
|
- echo -n '' > /etc/nginx/sites-available/radicale
|
|
357
|
+ # alter the existing site config
|
|
358
|
+ if ! grep "radicale" /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}; then
|
|
359
|
+ sed -i '@server_name@a
|
|
360
|
+ location /radicale {
|
|
361
|
+ auth_basic "Radicale";
|
|
362
|
+ auth_basic_user_file /var/www/radicale/users;
|
|
363
|
+ proxy_pass http://127.0.0.1:52322;
|
|
364
|
+ }
|
|
365
|
+' /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
|
|
366
|
+ fi
|
334
|
367
|
fi
|
335
|
|
- echo 'server {' >> /etc/nginx/sites-available/radicale
|
336
|
|
- echo " listen 127.0.0.1:${RADICALE_ONION_PORT} default_server;" >> /etc/nginx/sites-available/radicale
|
337
|
|
- echo '' >> /etc/nginx/sites-available/radicale
|
338
|
|
- echo " server_name ${RADICALE_ONION_HOSTNAME};" >> /etc/nginx/sites-available/radicale
|
339
|
|
- echo '' >> /etc/nginx/sites-available/radicale
|
340
|
|
- echo ' access_log /dev/null;' >> /etc/nginx/sites-available/radicale
|
341
|
|
- echo ' error_log /var/log/radicale/radicale.log warn;' >> /etc/nginx/sites-available/radicale
|
342
|
|
- echo '' >> /etc/nginx/sites-available/radicale
|
343
|
|
- echo ' location / {' >> /etc/nginx/sites-available/radicale
|
344
|
|
- echo ' auth_basic "Radicale";' >> /etc/nginx/sites-available/radicale
|
345
|
|
- echo " auth_basic_user_file ${RADICALE_USERS};" >> /etc/nginx/sites-available/radicale
|
346
|
|
- echo ' proxy_pass http://localhost:52322;' >> /etc/nginx/sites-available/radicale
|
347
|
|
- echo ' }' >> /etc/nginx/sites-available/radicale
|
348
|
|
- echo '}' >> /etc/nginx/sites-available/radicale
|
349
|
368
|
|
350
|
369
|
# create a certificate
|
351
|
370
|
if [ ! -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
|
|
@@ -367,17 +386,14 @@ function install_radicale {
|
367
|
386
|
nginx_ensite radicale
|
368
|
387
|
systemctl reload nginx
|
369
|
388
|
|
370
|
|
- set_completion_param "radicale onion domain" "${RADICALE_ONION_HOSTNAME}"
|
371
|
|
-
|
372
|
389
|
if ! grep -q "# Radicale" /home/$MY_USERNAME/README; then
|
373
|
390
|
echo '' >> /home/$MY_USERNAME/README
|
374
|
391
|
echo $'# Radicale' >> /home/$MY_USERNAME/README
|
375
|
|
- echo $"Radicale onion domain: ${RADICALE_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
|
376
|
392
|
echo $"Your Radicale password is: ${RADICALE_PASSWORD}" >> /home/$MY_USERNAME/README
|
|
393
|
+ echo $"Radicale is accessible via https://${DEFAULT_DOMAIN_NAME}/radicale/${MY_USERNAME}/calendar/" >> /home/$MY_USERNAME/README
|
377
|
394
|
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
378
|
395
|
chmod 600 /home/$MY_USERNAME/README
|
379
|
396
|
else
|
380
|
|
- sed -i "s|Radicale onion domain.*|Radicale onion domain: ${RADICALE_ONION_HOSTNAME}|g" /home/$MY_USERNAME/README
|
381
|
397
|
sed -i "s|Your Radicale password is.*|Your Radicale password is: ${RADICALE_PASSWORD}|g" /home/$MY_USERNAME/README
|
382
|
398
|
fi
|
383
|
399
|
|