ソースを参照

Use existing domain name

Bob Mottram 8 年 前
コミット
9ee8b2223b
共有1 個のファイルを変更した60 個の追加44 個の削除を含む
  1. 60
    44
      src/freedombone-app-radicale

+ 60
- 44
src/freedombone-app-radicale ファイルの表示

@@ -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