浏览代码

Add developer variant to interactive installer

Bob Mottram 10 年前
父节点
当前提交
26d9b08268
共有 3 个文件被更改,包括 115 次插入30 次删除
  1. 二进制
      man/freedombone.1.gz
  2. 45
    27
      src/freedombone
  3. 70
    3
      src/freedombone-config

二进制
man/freedombone.1.gz 查看文件


+ 45
- 27
src/freedombone 查看文件

@@ -135,13 +135,18 @@ MICROBLOG_CODE=
135 135
 MICROBLOG_REPO="git://gitorious.org/social/mainline.git"
136 136
 MICROBLOG_ADMIN_PASSWORD=
137 137
 
138
-# Domain name or redmatrix installation
138
+# Domain name for redmatrix installation
139 139
 REDMATRIX_DOMAIN_NAME=
140 140
 REDMATRIX_CODE=
141 141
 REDMATRIX_REPO="https://github.com/friendica/red.git"
142 142
 REDMATRIX_ADDONS_REPO="https://github.com/friendica/red-addons.git"
143 143
 REDMATRIX_ADMIN_PASSWORD=
144 144
 
145
+# Domain name for git hosting installation
146
+GIT_DOMAIN_NAME=
147
+GIT_CODE=
148
+GIT_DOMAIN_REPO="https://github.com/friendica/red.git"
149
+
145 150
 # Domain name for Owncloud installation
146 151
 OWNCLOUD_DOMAIN_NAME=
147 152
 OWNCLOUD_CODE=
@@ -379,6 +384,7 @@ function show_help {
379 384
   echo '     --blogdomain       Blog domain name'
380 385
   echo '     --ownclouddomain   Owncloud domain name'
381 386
   echo '     --redmatrixdomain  Redmatrix domain name'
387
+  echo '     --gitdomain        Git hosting domain name'
382 388
   echo '  -t --time             Domain used as a TLS time source'
383 389
   echo '     --ssh              ssh port number'
384 390
   echo '     --list             Public mailing list name'
@@ -515,6 +521,11 @@ else
515 521
     shift
516 522
     REDMATRIX_DOMAIN_NAME="$1"
517 523
     ;;
524
+    # git hosting domain name
525
+    --gitdomain)
526
+    shift
527
+    GIT_DOMAIN_NAME="$1"
528
+    ;;
518 529
     # default domain name
519 530
     -d|--domain)
520 531
     shift
@@ -681,6 +692,12 @@ function read_configuration {
681 692
   fi
682 693
 
683 694
   if [ -f $CONFIGURATION_FILE ]; then
695
+      if grep -q "GIT_DOMAIN_NAME" $CONFIGURATION_FILE; then
696
+          GIT_DOMAIN_NAME=$(grep "GIT_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
697
+      fi
698
+      if grep -q "GIT_CODE" $CONFIGURATION_FILE; then
699
+          GIT_CODE=$(grep "GIT_CODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
700
+      fi
684 701
       if grep -q "SYSTEM_TYPE" $CONFIGURATION_FILE; then
685 702
           SYSTEM_TYPE=$(grep "SYSTEM_TYPE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
686 703
       fi
@@ -3924,7 +3941,7 @@ function search_for_attached_usb_drive {
3924 3941
           mkdir $USB_MOUNT
3925 3942
           mount $USB_DRIVE $USB_MOUNT
3926 3943
       fi
3927
-      if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
3944
+      if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
3928 3945
           if [ -d $USB_MOUNT/Maildir ]; then
3929 3946
               echo 'Maildir found on USB drive'
3930 3947
               IMPORT_MAILDIR=$USB_MOUNT/Maildir
@@ -4591,7 +4608,7 @@ function save_firewall_settings {
4591 4608
 }
4592 4609
 
4593 4610
 function configure_firewall_for_voip {
4594
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
4611
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
4595 4612
       return
4596 4613
   fi
4597 4614
   if grep -Fxq "configure_firewall_for_voip" $COMPLETION_FILE; then
@@ -4751,7 +4768,7 @@ function configure_firewall_for_git {
4751 4768
 }
4752 4769
 
4753 4770
 function configure_firewall_for_email {
4754
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4771
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4755 4772
       return
4756 4773
   fi
4757 4774
   if grep -Fxq "configure_firewall_for_email" $COMPLETION_FILE; then
@@ -4834,7 +4851,7 @@ function script_to_make_self_signed_certificates {
4834 4851
 }
4835 4852
 
4836 4853
 function configure_email {
4837
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4854
+  if [[ || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
4838 4855
       return
4839 4856
   fi
4840 4857
   if grep -Fxq "configure_email" $COMPLETION_FILE; then
@@ -4942,7 +4959,7 @@ function configure_email {
4942 4959
 }
4943 4960
 
4944 4961
 function create_procmail {
4945
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4962
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4946 4963
       return
4947 4964
   fi
4948 4965
   if grep -Fxq "create_procmail" $COMPLETION_FILE; then
@@ -4959,7 +4976,7 @@ function create_procmail {
4959 4976
 
4960 4977
 function spam_filtering {
4961 4978
   # NOTE: spamassassin installation currently doesn't work, sa-compile fails with a make error 23/09/2014
4962
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4979
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4963 4980
       return
4964 4981
   fi
4965 4982
   if grep -Fxq "spam_filtering" $COMPLETION_FILE; then
@@ -5054,7 +5071,7 @@ function spam_filtering {
5054 5071
 }
5055 5072
 
5056 5073
 function configure_imap {
5057
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5074
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5058 5075
       return
5059 5076
   fi
5060 5077
   if grep -Fxq "configure_imap" $COMPLETION_FILE; then
@@ -5193,7 +5210,7 @@ function encrypt_incoming_email {
5193 5210
   # encrypts incoming mail using your GPG public key
5194 5211
   # so even if an attacker gains access to the data at rest they still need
5195 5212
   # to know your GPG key password to be able to read anything
5196
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5213
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5197 5214
       return
5198 5215
   fi
5199 5216
   if grep -Fxq "encrypt_incoming_email" $COMPLETION_FILE; then
@@ -5224,7 +5241,7 @@ function encrypt_outgoing_email {
5224 5241
   # encrypts outgoing mail using your GPG public key
5225 5242
   # so even if an attacker gains access to the data at rest they still need
5226 5243
   # to know your GPG key password to be able to read sent mail
5227
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5244
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5228 5245
       return
5229 5246
   fi
5230 5247
   if grep -Fxq "encrypt_outgoing_email" $COMPLETION_FILE; then
@@ -5251,7 +5268,7 @@ function encrypt_outgoing_email {
5251 5268
 }
5252 5269
 
5253 5270
 function encrypt_all_email {
5254
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5271
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5255 5272
       return
5256 5273
   fi
5257 5274
   if grep -Fxq "encrypt_all_email" $COMPLETION_FILE; then
@@ -5385,7 +5402,7 @@ function encrypt_all_email {
5385 5402
 }
5386 5403
 
5387 5404
 function email_client {
5388
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5405
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5389 5406
       return
5390 5407
   fi
5391 5408
   if grep -Fxq "email_client" $COMPLETION_FILE; then
@@ -5497,7 +5514,7 @@ function email_client {
5497 5514
 }
5498 5515
 
5499 5516
 function email_archiving {
5500
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5517
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5501 5518
       return
5502 5519
   fi
5503 5520
   if grep -Fxq "email_archiving" $COMPLETION_FILE; then
@@ -5529,7 +5546,7 @@ function email_archiving {
5529 5546
 }
5530 5547
 
5531 5548
 function folders_for_mailing_lists {
5532
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5549
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5533 5550
       return
5534 5551
   fi
5535 5552
   if grep -Fxq "folders_for_mailing_lists" $COMPLETION_FILE; then
@@ -5607,7 +5624,7 @@ function email_from_address {
5607 5624
 }
5608 5625
 
5609 5626
 function folders_for_email_addresses {
5610
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5627
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5611 5628
       return
5612 5629
   fi
5613 5630
   if grep -Fxq "folders_for_email_addresses" $COMPLETION_FILE; then
@@ -5660,7 +5677,7 @@ function folders_for_email_addresses {
5660 5677
 }
5661 5678
 
5662 5679
 function create_public_mailing_list {
5663
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5680
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5664 5681
       return
5665 5682
   fi
5666 5683
   if grep -Fxq "create_public_mailing_list" $COMPLETION_FILE; then
@@ -5756,7 +5773,7 @@ function create_public_mailing_list {
5756 5773
 }
5757 5774
 
5758 5775
 function create_private_mailing_list {
5759
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5776
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5760 5777
       return
5761 5778
   fi
5762 5779
   # This installation doesn't work, results in ruby errors
@@ -5817,7 +5834,7 @@ function create_private_mailing_list {
5817 5834
 }
5818 5835
 
5819 5836
 function import_email {
5820
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5837
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5821 5838
       return
5822 5839
   fi
5823 5840
   EMAIL_COMPLETE_MSG='  *** Freedombone mailbox installation is complete ***'
@@ -6139,7 +6156,7 @@ function repair_databases_script {
6139 6156
 }
6140 6157
 
6141 6158
 function install_owncloud_music_app {
6142
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6159
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
6143 6160
       return
6144 6161
   fi
6145 6162
   if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
@@ -6202,7 +6219,7 @@ function add_ddns_domain {
6202 6219
 }
6203 6220
 
6204 6221
 function install_owncloud {
6205
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6222
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
6206 6223
       return
6207 6224
   fi
6208 6225
   OWNCLOUD_COMPLETION_MSG1=" *** Freedombone $SYSTEM_TYPE is now installed ***"
@@ -6661,7 +6678,7 @@ function install_gogs {
6661 6678
 }
6662 6679
 
6663 6680
 function install_xmpp {
6664
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6681
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
6665 6682
       return
6666 6683
   fi
6667 6684
   if grep -Fxq "install_xmpp" $COMPLETION_FILE; then
@@ -6786,7 +6803,7 @@ function install_watchdog_script {
6786 6803
 }
6787 6804
 
6788 6805
 function install_irc_server {
6789
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6806
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
6790 6807
       return
6791 6808
   fi
6792 6809
   if grep -Fxq "install_irc_server" $COMPLETION_FILE; then
@@ -6867,7 +6884,7 @@ function get_wiki_admin_password {
6867 6884
 }
6868 6885
 
6869 6886
 function install_wiki {
6870
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
6887
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
6871 6888
       return
6872 6889
   fi
6873 6890
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
@@ -7155,7 +7172,7 @@ function get_blog_admin_password {
7155 7172
 }
7156 7173
 
7157 7174
 function install_blog {
7158
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
7175
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
7159 7176
       return
7160 7177
   fi
7161 7178
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
@@ -7402,7 +7419,7 @@ function install_gnu_social {
7402 7419
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
7403 7420
       return
7404 7421
   fi
7405
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
7422
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
7406 7423
       return
7407 7424
   fi
7408 7425
   if [ ! $MICROBLOG_DOMAIN_NAME ]; then
@@ -7645,7 +7662,7 @@ function install_redmatrix {
7645 7662
   if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
7646 7663
       return
7647 7664
   fi
7648
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
7665
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
7649 7666
       return
7650 7667
   fi
7651 7668
   if [ ! $REDMATRIX_DOMAIN_NAME ]; then
@@ -8636,7 +8653,7 @@ function get_voip_server_password {
8636 8653
 }
8637 8654
 
8638 8655
 function install_voip {
8639
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
8656
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
8640 8657
       return
8641 8658
   fi
8642 8659
   if grep -Fxq "install_voip" $COMPLETION_FILE; then
@@ -8797,6 +8814,7 @@ install_web_server
8797 8814
 configure_firewall_for_web_server
8798 8815
 install_owncloud
8799 8816
 install_owncloud_music_app
8817
+install_gogs
8800 8818
 install_xmpp
8801 8819
 configure_firewall_for_xmpp
8802 8820
 install_irc_server

+ 70
- 3
src/freedombone-config 查看文件

@@ -50,6 +50,7 @@ VARIANT_MAILBOX="mailbox"
50 50
 VARIANT_NONMAILBOX="nonmailbox"
51 51
 VARIANT_SOCIAL="social"
52 52
 VARIANT_MEDIA="media"
53
+VARIANT_DEVELOPER="developer"
53 54
 
54 55
 MY_USERNAME=
55 56
 DEFAULT_DOMAIN_NAME=
@@ -79,6 +80,8 @@ REDMATRIX_DOMAIN_NAME=
79 80
 REDMATRIX_CODE=
80 81
 MICROBLOG_DOMAIN_NAME=
81 82
 MICROBLOG_CODE=
83
+GIT_DOMAIN_NAME=
84
+GIT_CODE=
82 85
 
83 86
 CONFIGURATION_FILE=
84 87
 
@@ -195,6 +198,12 @@ function save_configuration_file {
195 198
   if [ $MICROBLOG_CODE ]; then
196 199
       echo "MICROBLOG_CODE=$MICROBLOG_CODE" >> $CONFIGURATION_FILE
197 200
   fi
201
+  if [ $GIT_DOMAIN_NAME ]; then
202
+      echo "GIT_DOMAIN_NAME=$GIT_DOMAIN_NAME" >> $CONFIGURATION_FILE
203
+  fi
204
+  if [ $GIT_CODE ]; then
205
+      echo "GIT_CODE=$GIT_CODE" >> $CONFIGURATION_FILE
206
+  fi
198 207
 }
199 208
 
200 209
 # test a domain name to see if it's valid
@@ -224,7 +233,7 @@ function interactive_configuration {
224 233
   data=$(tempfile 2>/dev/null)
225 234
   trap "rm -f $data" 0 1 2 5 15
226 235
   dialog --backtitle "Freedombone Configuration" \
227
-      --radiolist "Type of Installation:" 15 40 8 \
236
+      --radiolist "Type of Installation:" 15 40 9 \
228 237
       1 Full on \
229 238
       2 Writer off \
230 239
       3 Cloud off \
@@ -232,7 +241,8 @@ function interactive_configuration {
232 241
       5 Mailbox off \
233 242
       6 Non-Mailbox off \
234 243
       7 Social off \
235
-      8 Media off 2> $data
244
+      8 Media off \
245
+      9 Developer 2> $data
236 246
   sel=$?
237 247
   case $sel in
238 248
       1) exit 0;;
@@ -247,6 +257,7 @@ function interactive_configuration {
247 257
       6) SYSTEM_TYPE=$VARIANT_NONMAILBOX;;
248 258
       7) SYSTEM_TYPE=$VARIANT_SOCIAL;;
249 259
       8) SYSTEM_TYPE=$VARIANT_MEDIA;;
260
+      9) SYSTEM_TYPE=$VARIANT_DEVELOPER;;
250 261
   esac
251 262
   save_configuration_file
252 263
 
@@ -661,7 +672,7 @@ function interactive_configuration {
661 672
       done
662 673
       save_configuration_file
663 674
   fi
664
-
675
+  
665 676
   if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
666 677
       FULLBLOG_DETAILS_COMPLETE=
667 678
       while [ ! $FULLBLOG_DETAILS_COMPLETE ]
@@ -867,6 +878,56 @@ function interactive_configuration {
867 878
       save_configuration_file
868 879
   fi
869 880
 
881
+  if [[ $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
882
+      DEVELOPER_DETAILS_COMPLETE=
883
+      while [ ! $DEVELOPER_DETAILS_COMPLETE ]
884
+      do
885
+          data=$(tempfile 2>/dev/null)
886
+          trap "rm -f $data" 0 1 2 5 15
887
+
888
+          if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
889
+              dialog --backtitle "Freedombone Configuration" \
890
+                     --title "Developer Configuration" \
891
+                     --form "\nPlease enter your Git hosting site details:" 11 55 3 \
892
+                     "Domain:" 1 1 "$(grep 'GIT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
893
+                     "Code:" 2 1 "$(grep 'GIT_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 40 \
894
+                     2> $data
895
+          else
896
+              dialog --backtitle "Freedombone Configuration" \
897
+                     --title "Developer Configuration" \
898
+                     --form "\nPlease enter your Git hosting site details:" 11 55 2 \
899
+                     "Domain:" 1 1 "$(grep 'GIT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
900
+                     2> $data
901
+          fi
902
+          sel=$?
903
+          case $sel in
904
+              1) exit 0;;
905
+              255) exit 0;;
906
+          esac
907
+          GIT_DOMAIN_NAME=$(cat $data | sed -n 1p)
908
+          if [ $GIT_DOMAIN_NAME ]; then
909
+              TEST_DOMAIN_NAME=$GIT_DOMAIN_NAME
910
+              validate_domain_name
911
+              if [[ $TEST_DOMAIN_NAME != $GIT_DOMAIN_NAME ]]; then
912
+                  GIT_DOMAIN_NAME=
913
+                  dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
914
+              else
915
+                  if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
916
+                      GIT_CODE=$(cat $data | sed -n 2p)
917
+                      if [ ${#GIT_CODE} -lt 30 ]; then
918
+                          GIT_DOMAIN_NAME=
919
+                          dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
920
+                      fi
921
+                  fi
922
+              fi
923
+          fi
924
+          if [ $GIT_DOMAIN_NAME ]; then
925
+              DEVELOPER_DETAILS_COMPLETE="yes"
926
+          fi
927
+      done
928
+      save_configuration_file
929
+  fi
930
+
870 931
   DEFAULT_DOMAIN_DETAILS_COMPLETE=
871 932
   while [ ! $DEFAULT_DOMAIN_DETAILS_COMPLETE ]
872 933
   do
@@ -963,6 +1024,12 @@ function read_configuration {
963 1024
   fi
964 1025
 
965 1026
   if [ -f $CONFIGURATION_FILE ]; then
1027
+      if grep -q "GIT_DOMAIN_NAME" $CONFIGURATION_FILE; then
1028
+          GIT_DOMAIN_NAME=$(grep "GIT_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1029
+      fi
1030
+      if grep -q "GIT_CODE" $CONFIGURATION_FILE; then
1031
+          GIT_CODE=$(grep "GIT_CODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1032
+      fi
966 1033
       if grep -q "MY_USERNAME" $CONFIGURATION_FILE; then
967 1034
           MY_USERNAME=$(grep "MY_USERNAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
968 1035
       fi