Browse Source

Use existing domain name

Bob Mottram 8 years ago
parent
commit
9ee8b2223b
1 changed files with 60 additions and 44 deletions
  1. 60
    44
      src/freedombone-app-radicale

+ 60
- 44
src/freedombone-app-radicale View File

207
     remove_completion_param install_radicale
207
     remove_completion_param install_radicale
208
     sed -i '/radicale/d' $COMPLETION_FILE
208
     sed -i '/radicale/d' $COMPLETION_FILE
209
     sed -i '/Radicale/d' /home/$MY_USERNAME/README
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
 function install_radicale {
214
 function install_radicale {
271
     echo 'hosts=127.0.0.1:52322' >> ${RADICALE_DIRECTORY}/config
273
     echo 'hosts=127.0.0.1:52322' >> ${RADICALE_DIRECTORY}/config
272
     echo 'ssl = False' >> ${RADICALE_DIRECTORY}/config
274
     echo 'ssl = False' >> ${RADICALE_DIRECTORY}/config
273
     echo 'daemon = False' >> ${RADICALE_DIRECTORY}/config
275
     echo 'daemon = False' >> ${RADICALE_DIRECTORY}/config
276
+    echo 'base_prefix=/radicale/' >> ${RADICALE_DIRECTORY}/config
274
     echo '' >> ${RADICALE_DIRECTORY}/config
277
     echo '' >> ${RADICALE_DIRECTORY}/config
275
     echo '[storage]' >> ${RADICALE_DIRECTORY}/config
278
     echo '[storage]' >> ${RADICALE_DIRECTORY}/config
276
     echo 'type = filesystem' >> ${RADICALE_DIRECTORY}/config
279
     echo 'type = filesystem' >> ${RADICALE_DIRECTORY}/config
304
     systemctl enable radicale
307
     systemctl enable radicale
305
     systemctl start radicale
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
     else
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
     fi
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
     # create a certificate
369
     # create a certificate
351
     if [ ! -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
370
     if [ ! -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
367
     nginx_ensite radicale
386
     nginx_ensite radicale
368
     systemctl reload nginx
387
     systemctl reload nginx
369
 
388
 
370
-    set_completion_param "radicale onion domain" "${RADICALE_ONION_HOSTNAME}"
371
-
372
     if ! grep -q "# Radicale" /home/$MY_USERNAME/README; then
389
     if ! grep -q "# Radicale" /home/$MY_USERNAME/README; then
373
         echo '' >> /home/$MY_USERNAME/README
390
         echo '' >> /home/$MY_USERNAME/README
374
         echo $'# Radicale' >> /home/$MY_USERNAME/README
391
         echo $'# Radicale' >> /home/$MY_USERNAME/README
375
-        echo $"Radicale onion domain: ${RADICALE_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
376
         echo $"Your Radicale password is: ${RADICALE_PASSWORD}" >> /home/$MY_USERNAME/README
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
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
394
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
378
         chmod 600 /home/$MY_USERNAME/README
395
         chmod 600 /home/$MY_USERNAME/README
379
     else
396
     else
380
-        sed -i "s|Radicale onion domain.*|Radicale onion domain: ${RADICALE_ONION_HOSTNAME}|g" /home/$MY_USERNAME/README
381
         sed -i "s|Your Radicale password is.*|Your Radicale password is: ${RADICALE_PASSWORD}|g" /home/$MY_USERNAME/README
397
         sed -i "s|Your Radicale password is.*|Your Radicale password is: ${RADICALE_PASSWORD}|g" /home/$MY_USERNAME/README
382
     fi
398
     fi
383
 
399