|
@@ -79,6 +79,8 @@
|
79
|
79
|
#
|
80
|
80
|
# Note that there are no spaces around the equals.
|
81
|
81
|
|
|
82
|
+NO_OF_ARGS=$#
|
|
83
|
+
|
82
|
84
|
DOMAIN_NAME=
|
83
|
85
|
MY_USERNAME=
|
84
|
86
|
FREEDNS_SUBDOMAIN_CODE=
|
|
@@ -372,170 +374,170 @@ function show_help {
|
372
|
374
|
echo "'$VARIANT_CHAT', '$VARIANT_SOCIAL', '$VARIANT_MEDIA', '$VARIANT_TOR_DONGLE' or '$VARIANT_WRITER'."
|
373
|
375
|
echo "If you wish to install everything except email then use the '$VARIANT_NONMAILBOX' variaint."
|
374
|
376
|
echo ''
|
|
377
|
+ exit 0
|
375
|
378
|
}
|
376
|
379
|
|
|
380
|
+# Oddly it appears that command line parsing cannot be done inside of a function
|
|
381
|
+while [[ $# > 1 ]]
|
|
382
|
+do
|
|
383
|
+key="$1"
|
|
384
|
+
|
|
385
|
+case $key in
|
|
386
|
+ -h|--help)
|
|
387
|
+ show_help
|
|
388
|
+ ;;
|
|
389
|
+ # username within /home
|
|
390
|
+ -u|--user)
|
|
391
|
+ shift
|
|
392
|
+ MY_USERNAME="$1"
|
|
393
|
+ ;;
|
|
394
|
+ # microblog domain name
|
|
395
|
+ --microblogdomain)
|
|
396
|
+ shift
|
|
397
|
+ MICROBLOG_DOMAIN_NAME="$1"
|
|
398
|
+ ;;
|
|
399
|
+ # microblog domain code (freedns)
|
|
400
|
+ --microblogcode)
|
|
401
|
+ shift
|
|
402
|
+ MICROBLOG_FREEDNS_SUBDOMAIN_CODE="$1"
|
|
403
|
+ ;;
|
|
404
|
+ # wiki domain name
|
|
405
|
+ --wikidomain)
|
|
406
|
+ shift
|
|
407
|
+ WIKI_DOMAIN_NAME="$1"
|
|
408
|
+ ;;
|
|
409
|
+ # wiki domain code (freedns)
|
|
410
|
+ --wikicode)
|
|
411
|
+ shift
|
|
412
|
+ WIKI_FREEDNS_SUBDOMAIN_CODE="$1"
|
|
413
|
+ ;;
|
|
414
|
+ # blog domain name
|
|
415
|
+ --blogdomain)
|
|
416
|
+ shift
|
|
417
|
+ FULLBLOG_DOMAIN_NAME="$1"
|
|
418
|
+ ;;
|
|
419
|
+ # blog domain code (freedns)
|
|
420
|
+ --blogcode)
|
|
421
|
+ shift
|
|
422
|
+ FULLBLOG_FREEDNS_SUBDOMAIN_CODE="$1"
|
|
423
|
+ ;;
|
|
424
|
+ # owncloud domain name
|
|
425
|
+ --ownclouddomain)
|
|
426
|
+ shift
|
|
427
|
+ OWNCLOUD_DOMAIN_NAME="$1"
|
|
428
|
+ ;;
|
|
429
|
+ # owncloud domain code (freedns)
|
|
430
|
+ --owncloudcode)
|
|
431
|
+ shift
|
|
432
|
+ OWNCLOUD_FREEDNS_SUBDOMAIN_CODE="$1"
|
|
433
|
+ ;;
|
|
434
|
+ # redmatrix domain name
|
|
435
|
+ --redmatrixdomain)
|
|
436
|
+ shift
|
|
437
|
+ REDMATRIX_DOMAIN_NAME="$1"
|
|
438
|
+ ;;
|
|
439
|
+ # redmatrix domain code (freedns)
|
|
440
|
+ --redmatrixcode)
|
|
441
|
+ shift
|
|
442
|
+ REDMATRIX_FREEDNS_SUBDOMAIN_CODE="$1"
|
|
443
|
+ ;;
|
|
444
|
+ # default domain name
|
|
445
|
+ -d|--domain)
|
|
446
|
+ shift
|
|
447
|
+ DOMAIN_NAME="$1"
|
|
448
|
+ ;;
|
|
449
|
+ # default domain code (freedns)
|
|
450
|
+ -c|--code)
|
|
451
|
+ shift
|
|
452
|
+ FREEDNS_SUBDOMAIN_CODE="$1"
|
|
453
|
+ ;;
|
|
454
|
+ # The type of system
|
|
455
|
+ -s|--system)
|
|
456
|
+ shift
|
|
457
|
+ SYSTEM_TYPE="$1"
|
|
458
|
+ ;;
|
|
459
|
+ # The dynamic DNS provider
|
|
460
|
+ --ddns)
|
|
461
|
+ shift
|
|
462
|
+ DDNS_PROVIDER="$1"
|
|
463
|
+ ;;
|
|
464
|
+ # Username for the synamic DNS provider
|
|
465
|
+ --ddnsuser)
|
|
466
|
+ shift
|
|
467
|
+ DDNS_USERNAME="$1"
|
|
468
|
+ ;;
|
|
469
|
+ # Password for the synamic DNS provider
|
|
470
|
+ --ddnspass)
|
|
471
|
+ shift
|
|
472
|
+ DDNS_PASSWORD="$1"
|
|
473
|
+ ;;
|
|
474
|
+ # Whether this installation is on a Beaglebone Black
|
|
475
|
+ --bbb)
|
|
476
|
+ INSTALLING_ON_BBB="yes"
|
|
477
|
+ ;;
|
|
478
|
+ # Domain name to use as a TLS time source
|
|
479
|
+ -t|--time)
|
|
480
|
+ shift
|
|
481
|
+ TLS_TIME_SOURCE1="$1"
|
|
482
|
+ ;;
|
|
483
|
+ # Static IP address for the system
|
|
484
|
+ --ip)
|
|
485
|
+ shift
|
|
486
|
+ LOCAL_NETWORK_STATIC_IP_ADDRESS=$1
|
|
487
|
+ ;;
|
|
488
|
+ # IP address for the internet router
|
|
489
|
+ --iprouter)
|
|
490
|
+ shift
|
|
491
|
+ ROUTER_IP_ADDRESS=$1
|
|
492
|
+ ;;
|
|
493
|
+ # ssh port
|
|
494
|
+ --ssh)
|
|
495
|
+ shift
|
|
496
|
+ SSH_PORT=$1
|
|
497
|
+ ;;
|
|
498
|
+ # public mailing list name
|
|
499
|
+ --list)
|
|
500
|
+ shift
|
|
501
|
+ PUBLIC_MAILING_LIST="$1"
|
|
502
|
+ ;;
|
|
503
|
+ # Number of CPU cores
|
|
504
|
+ --cores)
|
|
505
|
+ shift
|
|
506
|
+ CPU_CORES=$1
|
|
507
|
+ ;;
|
|
508
|
+ # my name
|
|
509
|
+ --name)
|
|
510
|
+ shift
|
|
511
|
+ MY_NAME="$1"
|
|
512
|
+ ;;
|
|
513
|
+ # my email address
|
|
514
|
+ --email)
|
|
515
|
+ shift
|
|
516
|
+ MY_EMAIL_ADDRESS="$1"
|
|
517
|
+ ;;
|
|
518
|
+ # USB drive
|
|
519
|
+ --usb)
|
|
520
|
+ shift
|
|
521
|
+ USB_DRIVE=$1
|
|
522
|
+ ;;
|
|
523
|
+ # Enable CJDNS
|
|
524
|
+ --cjdns)
|
|
525
|
+ shift
|
|
526
|
+ ENABLE_CJDNS="yes"
|
|
527
|
+ ;;
|
|
528
|
+ *)
|
|
529
|
+ # unknown option
|
|
530
|
+ ;;
|
|
531
|
+esac
|
|
532
|
+shift
|
|
533
|
+done
|
|
534
|
+
|
377
|
535
|
function parse_args {
|
378
|
|
- if [ ! $1 ]; then
|
|
536
|
+ if [[ $NO_OF_ARGS == 0 ]]; then
|
379
|
537
|
show_help
|
380
|
538
|
exit 0
|
381
|
539
|
fi
|
382
|
540
|
|
383
|
|
- while [[ $# > 1 ]]
|
384
|
|
- do
|
385
|
|
- key="$1"
|
386
|
|
-
|
387
|
|
- case $key in
|
388
|
|
- -h|--help)
|
389
|
|
- show_help
|
390
|
|
- exit 0
|
391
|
|
- ;;
|
392
|
|
- # username within /home
|
393
|
|
- -u|--user)
|
394
|
|
- MY_USERNAME="$1"
|
395
|
|
- shift
|
396
|
|
- ;;
|
397
|
|
- # microblog domain name
|
398
|
|
- --microblogdomain)
|
399
|
|
- MICROBLOG_DOMAIN_NAME="$1"
|
400
|
|
- shift
|
401
|
|
- ;;
|
402
|
|
- # microblog domain code (freedns)
|
403
|
|
- --microblogcode)
|
404
|
|
- MICROBLOG_FREEDNS_SUBDOMAIN_CODE="$1"
|
405
|
|
- shift
|
406
|
|
- ;;
|
407
|
|
- # wiki domain name
|
408
|
|
- --wikidomain)
|
409
|
|
- WIKI_DOMAIN_NAME="$1"
|
410
|
|
- shift
|
411
|
|
- ;;
|
412
|
|
- # wiki domain code (freedns)
|
413
|
|
- --wikicode)
|
414
|
|
- WIKI_FREEDNS_SUBDOMAIN_CODE="$1"
|
415
|
|
- shift
|
416
|
|
- ;;
|
417
|
|
- # blog domain name
|
418
|
|
- --blogdomain)
|
419
|
|
- FULLBLOG_DOMAIN_NAME="$1"
|
420
|
|
- shift
|
421
|
|
- ;;
|
422
|
|
- # blog domain code (freedns)
|
423
|
|
- --blogcode)
|
424
|
|
- FULLBLOG_FREEDNS_SUBDOMAIN_CODE="$1"
|
425
|
|
- shift
|
426
|
|
- ;;
|
427
|
|
- # owncloud domain name
|
428
|
|
- --ownclouddomain)
|
429
|
|
- OWNCLOUD_DOMAIN_NAME="$1"
|
430
|
|
- shift
|
431
|
|
- ;;
|
432
|
|
- # owncloud domain code (freedns)
|
433
|
|
- --owncloudcode)
|
434
|
|
- OWNCLOUD_FREEDNS_SUBDOMAIN_CODE="$1"
|
435
|
|
- shift
|
436
|
|
- ;;
|
437
|
|
- # redmatrix domain name
|
438
|
|
- --redmatrixdomain)
|
439
|
|
- REDMATRIX_DOMAIN_NAME="$1"
|
440
|
|
- shift
|
441
|
|
- ;;
|
442
|
|
- # redmatrix domain code (freedns)
|
443
|
|
- --redmatrixcode)
|
444
|
|
- REDMATRIX_FREEDNS_SUBDOMAIN_CODE="$1"
|
445
|
|
- shift
|
446
|
|
- ;;
|
447
|
|
- # default domain name
|
448
|
|
- -d|--domain)
|
449
|
|
- DOMAIN_NAME="$1"
|
450
|
|
- shift
|
451
|
|
- ;;
|
452
|
|
- # default domain code (freedns)
|
453
|
|
- -c|--code)
|
454
|
|
- FREEDNS_SUBDOMAIN_CODE="$1"
|
455
|
|
- shift
|
456
|
|
- ;;
|
457
|
|
- # The type of system
|
458
|
|
- -s|--system)
|
459
|
|
- SYSTEM_TYPE="$1"
|
460
|
|
- shift
|
461
|
|
- ;;
|
462
|
|
- # The dynamic DNS provider
|
463
|
|
- --ddns)
|
464
|
|
- DDNS_PROVIDER="$1"
|
465
|
|
- shift
|
466
|
|
- ;;
|
467
|
|
- # Username for the synamic DNS provider
|
468
|
|
- --ddnsuser)
|
469
|
|
- DDNS_USERNAME="$1"
|
470
|
|
- shift
|
471
|
|
- ;;
|
472
|
|
- # Password for the synamic DNS provider
|
473
|
|
- --ddnspass)
|
474
|
|
- DDNS_PASSWORD="$1"
|
475
|
|
- shift
|
476
|
|
- ;;
|
477
|
|
- # Whether this installation is on a Beaglebone Black
|
478
|
|
- --bbb)
|
479
|
|
- INSTALLING_ON_BBB="$1"
|
480
|
|
- shift
|
481
|
|
- ;;
|
482
|
|
- # Domain name to use as a TLS time source
|
483
|
|
- -t|--time)
|
484
|
|
- TLS_TIME_SOURCE1="$1"
|
485
|
|
- shift
|
486
|
|
- ;;
|
487
|
|
- # Static IP address for the system
|
488
|
|
- --ip)
|
489
|
|
- LOCAL_NETWORK_STATIC_IP_ADDRESS=$1
|
490
|
|
- shift
|
491
|
|
- ;;
|
492
|
|
- # IP address for the internet router
|
493
|
|
- --iprouter)
|
494
|
|
- ROUTER_IP_ADDRESS=$1
|
495
|
|
- shift
|
496
|
|
- ;;
|
497
|
|
- # ssh port
|
498
|
|
- --ssh)
|
499
|
|
- SSH_PORT=$1
|
500
|
|
- shift
|
501
|
|
- ;;
|
502
|
|
- # public mailing list name
|
503
|
|
- --list)
|
504
|
|
- PUBLIC_MAILING_LIST="$1"
|
505
|
|
- shift
|
506
|
|
- ;;
|
507
|
|
- # Number of CPU cores
|
508
|
|
- --cores)
|
509
|
|
- CPU_CORES=$1
|
510
|
|
- shift
|
511
|
|
- ;;
|
512
|
|
- # my name
|
513
|
|
- --name)
|
514
|
|
- MY_NAME="$1"
|
515
|
|
- shift
|
516
|
|
- ;;
|
517
|
|
- # my email address
|
518
|
|
- --email)
|
519
|
|
- MY_EMAIL_ADDRESS="$1"
|
520
|
|
- shift
|
521
|
|
- ;;
|
522
|
|
- # USB drive
|
523
|
|
- --usb)
|
524
|
|
- USB_DRIVE=$1
|
525
|
|
- shift
|
526
|
|
- ;;
|
527
|
|
- # Enable CJDNS
|
528
|
|
- --cjdns)
|
529
|
|
- ENABLE_CJDNS="yes"
|
530
|
|
- shift
|
531
|
|
- ;;
|
532
|
|
- *)
|
533
|
|
- # unknown option
|
534
|
|
- ;;
|
535
|
|
- esac
|
536
|
|
- shift
|
537
|
|
- done
|
538
|
|
-
|
539
|
541
|
if [ ! -d /home/$MY_USERNAME ]; then
|
540
|
542
|
echo "There is no user '$MY_USERNAME' on the system. Use 'adduser $MY_USERNAME' to create the user."
|
541
|
543
|
exit 1
|