Browse Source

Keep emails to the root user in a different folder

Bob Mottram 9 years ago
parent
commit
afa8244dd1
1 changed files with 341 additions and 327 deletions
  1. 341
    327
      src/freedombone

+ 341
- 327
src/freedombone View File

@@ -4932,6 +4932,10 @@ function create_procmail {
4932 4932
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.procmailrc
4933 4933
     fi
4934 4934
 
4935
+    mkdir -p /home/$MY_USERNAME/Maildir/admin/new
4936
+    mkdir -p /home/$MY_USERNAME/Maildir/admin/cur
4937
+    chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir/admin
4938
+
4935 4939
     if [ ! -f /etc/skel/.procmailrc ]; then
4936 4940
         cp /home/$MY_USERNAME/.procmailrc /etc/skel/.procmailrc
4937 4941
         chown root:root /etc/skel/.procmailrc
@@ -4940,6 +4944,15 @@ function create_procmail {
4940 4944
     echo 'create_procmail' >> $COMPLETION_FILE
4941 4945
 }
4942 4946
 
4947
+function handle_admin_emails {
4948
+    # keep emails for root in a separate folder
4949
+    if [ -d /home/$MY_USERNAME/Maildir/admin ]; then
4950
+        return
4951
+    fi
4952
+
4953
+    freedombone-addemail -u $MY_USERNAME -e "root@$DEFAULT_DOMAIN_NAME" -g admin --public no
4954
+}
4955
+
4943 4956
 function spam_filtering {
4944 4957
     if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
4945 4958
         return
@@ -5885,338 +5898,338 @@ function create_public_mailing_list {
5885 5898
     if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
5886 5899
         return
5887 5900
     fi
5888
-    if grep -Fxq "create_public_mailing_list" $COMPLETION_FILE; then
5889
-        return
5890
-    fi
5891
-    if [ ! $PUBLIC_MAILING_LIST ]; then
5892
-        return
5893
-    fi
5894
-    # does the mailing list have a separate domain name?
5895
-    if [ ! $PUBLIC_MAILING_LIST_DOMAIN_NAME ]; then
5896
-        PUBLIC_MAILING_LIST_DOMAIN_NAME=$DEFAULT_DOMAIN_NAME
5897
-    fi
5898
-
5899
-    PUBLIC_MAILING_LIST_USER="mlmmj"
5900
-
5901
-    apt-get -y install mlmmj
5902
-    adduser --system $PUBLIC_MAILING_LIST_USER
5903
-    addgroup $PUBLIC_MAILING_LIST_USER
5904
-    adduser $PUBLIC_MAILING_LIST_USER $PUBLIC_MAILING_LIST_USER
5905
-
5906
-    echo ''
5907
-    echo $"Creating the $PUBLIC_MAILING_LIST mailing list"
5908
-    echo ''
5909
-
5910
-    # create the list
5911
-    mlmmj-make-ml -a -L "$PUBLIC_MAILING_LIST" -c $PUBLIC_MAILING_LIST_USER
5912
-
5913
-    echo 'SYSTEM_ALIASES_PIPE_TRANSPORT = address_pipe' > /etc/exim4/conf.d/main/000_localmacros
5914
-    echo "SYSTEM_ALIASES_USER = $PUBLIC_MAILING_LIST_USER" >> /etc/exim4/conf.d/main/000_localmacros
5915
-    echo "SYSTEM_ALIASES_GROUP = $PUBLIC_MAILING_LIST_USER" >> /etc/exim4/conf.d/main/000_localmacros
5916
-
5917
-    # router
5918
-    echo 'mlmmj_router:' > /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5919
-    echo '  debug_print = "R: mlmmj_router for $local_part@$domain"' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5920
-    echo '  driver = accept' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5921
-    echo '  domains = +mlmmj_domains' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5922
-    echo '  #require_files = MLMMJ_HOME/${lc::$local_part}' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5923
-    echo '  # Use this instead, if you dont want to give Exim rx rights to mlmmj spool.' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5924
-    echo '  # Exim will then spawn a new process running under the UID of "mlmmj".' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5925
-    echo '  require_files = mlmmj:MLMMJ_HOME/${lc::$local_part}' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5926
-    echo '  local_part_suffix = +*' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5927
-    echo '  local_part_suffix_optional' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5928
-    echo '  headers_remove = Delivered-To' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5929
-    echo '  headers_add = Delivered-To: $local_part$local_part_suffix@$domain' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5930
-    echo '  transport = mlmmj_transport' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5931
-
5932
-    # transport
5933
-    echo 'mlmmj_transport:' > /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5934
-    echo '  debug_print = "T: mlmmj_transport for $local_part@$domain"' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5935
-    echo '  driver = pipe' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5936
-    echo '  return_path_add' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5937
-    echo '  user = mlmmj' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5938
-    echo '  group = mlmmj' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5939
-    echo '  home_directory = MLMMJ_HOME' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5940
-    echo '  current_directory = MLMMJ_HOME' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5941
-    echo '  command = /usr/bin/mlmmj-receive -F -L MLMMJ_HOME/${lc:$local_part}' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5942
-
5943
-    if ! grep -q "MLMMJ_HOME=/var/spool/mlmmj" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then
5944
-        sed -i '/MAIN CONFIGURATION SETTINGS/a\MLMMJ_HOME=/var/spool/mlmmj' /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
5945
-    fi
5946
-    if ! grep -q "domainlist mlmmj_domains =" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then
5947
-        sed -i "/MLMMJ_HOME/a\domainlist mlmmj_domains = $PUBLIC_MAILING_LIST_DOMAIN_NAME" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
5948
-    fi
5949
-
5950
-
5951
-    if ! grep -q "delay_warning_condition =" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then
5952
-        sed -i '/domainlist mlmmj_domains =/a\delay_warning_condition = ${if match_domain{$domain}{+mlmmj_domains}{no}{yes}}' /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
5953
-    fi
5954
-    if ! grep -q ": +mlmmj_domains" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then
5955
-        sed -i 's/domainlist relay_to_domains = MAIN_RELAY_TO_DOMAINS/domainlist relay_to_domains = MAIN_RELAY_TO_DOMAINS : +mlmmj_domains/g' /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
5956
-    fi
5957
-
5958
-    if ! grep -q "! +mlmmj_domains" /etc/exim4/conf.d/router/200_exim4-config_primary; then
5959
-        sed -i 's/domains = ! +local_domains/domains = ! +mlmmj_domains : ! +local_domains/g' /etc/exim4/conf.d/router/200_exim4-config_primary
5960
-    fi
5961
-    newaliases
5962
-    update-exim4.conf.template -r
5963
-    update-exim4.conf
5964
-    systemctl restart exim4
5965
-
5966
-    if ! grep -q $"$PUBLIC_MAILING_LIST mailing list" /home/$MY_USERNAME/README; then
5967
-        echo '' >> /home/$MY_USERNAME/README
5968
-        echo '' >> /home/$MY_USERNAME/README
5969
-        echo $"$PUBLIC_MAILING_LIST mailing list" >> /home/$MY_USERNAME/README
5970
-        echo '=================================' >> /home/$MY_USERNAME/README
5971
-        echo $"To subscribe to the $PUBLIC_MAILING_LIST mailing list send a" >> /home/$MY_USERNAME/README
5972
-        echo $"cleartext email to $PUBLIC_MAILING_LIST+subscribe@$DEFAULT_DOMAIN_NAME" >> /home/$MY_USERNAME/README
5973
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
5974
-        chmod 600 /home/$MY_USERNAME/README
5975
-    fi
5976
-
5977
-    ${PROJECT_NAME}-addlist -u $MY_USERNAME -l "$PUBLIC_MAILING_LIST" -s "$PUBLIC_MAILING_LIST"
5978
-
5979
-    echo 'create_public_mailing_list' >> $COMPLETION_FILE
5980
-}
5981
-
5982
-function create_private_mailing_list {
5983
-    if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
5984
-        return
5985
-    fi
5986
-    # This installation doesn't work, results in ruby errors
5987
-    # There is currently no schleuder package for Debian jessie
5988
-    if grep -Fxq "create_private_mailing_list" $COMPLETION_FILE; then
5989
-        return
5990
-    fi
5991
-    if [ ! $PRIVATE_MAILING_LIST ]; then
5992
-        return
5993
-    fi
5994
-    if [[ $PRIVATE_MAILING_LIST == $MY_USERNAME ]]; then
5995
-        echo $'The name of the private mailing list should not be the same as your username'
5996
-        exit 10
5997
-    fi
5998
-    if [ ! $MY_GPG_PUBLIC_KEY ]; then
5999
-        echo $'To create a private mailing list you need to specify a file'
6000
-        echo $'containing your exported GPG key within MY_GPG_PUBLIC_KEY at'
6001
-        echo $'the top of the script'
6002
-        exit 11
6003
-    fi
6004
-    apt-get -y install ruby ruby-dev ruby-gpgme libgpgme11-dev libmagic-dev
6005
-    gem install schleuder
6006
-    schleuder-fix-gem-dependencies
6007
-    schleuder-init-setup --gem
6008
-    # NOTE: this is version number sensitive and so might need changing
6009
-    ln -s /var/lib/gems/2.1.0/gems/schleuder-2.2.4 /var/lib/schleuder
6010
-    sed -i 's/#smtp_port: 25/smtp_port: 465/g' /etc/schleuder/schleuder.conf
6011
-    sed -i 's/#superadminaddr: root@localhost/superadminaddr: root@localhost' /etc/schleuder/schleuder.conf
6012
-    schleuder-newlist $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME -realname "$PRIVATE_MAILING_LIST" -adminaddress $MY_EMAIL_ADDRESS -initmember $MY_EMAIL_ADDRESS -initmemberkey $MY_GPG_PUBLIC_KEY -nointeractive
6013
-    ${PROJECT_NAME}-addemail -u $MY_USERNAME -e $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME -l $PRIVATE_MAILING_LIST
6014
-
6015
-    echo 'schleuder:' > /etc/exim4/conf.d/router/550_exim4-config_schleuder
6016
-    echo '  debug_print = "R: schleuder for $local_part@$domain"' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6017
-    echo '  driver = accept' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6018
-    echo '  local_part_suffix_optional' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6019
-    echo '  local_part_suffix = +* : -bounce : -sendkey' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6020
-    echo '  domains = +local_domains' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6021
-    echo '  user = schleuder' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6022
-    echo '  group = schleuder' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6023
-    echo '  require_files = schleuder:+/var/lib/schleuder/$domain/${local_part}' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6024
-    echo '  transport = schleuder_transport' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6025
-
6026
-    echo 'schleuder_transport:' > /etc/exim4/conf.d/transport/30_exim4-config_schleuder
6027
-    echo '  debug_print = "T: schleuder_transport for $local_part@$domain"' >> /etc/exim4/conf.d/transport/30_exim4-config_schleuder
6028
-    echo '  driver = pipe' >> /etc/exim4/conf.d/transport/30_exim4-config_schleuder
6029
-    echo '  home_directory = "/var/lib/schleuder/$domain/$local_part"' >> /etc/exim4/conf.d/transport/30_exim4-config_schleuder
6030
-    echo '  command = "/usr/bin/schleuder $local_part@$domain"' >> /etc/exim4/conf.d/transport/30_exim4-config_schleuder
6031
-    chown -R schleuder:schleuder /var/lib/schleuder
6032
-    update-exim4.conf.template -r
6033
-    update-exim4.conf
6034
-    systemctl restart exim4
6035
-    useradd -d /var/schleuderlists -s /bin/false schleuder
6036
-    adduser Debian-exim schleuder
6037
-    usermod -a -G mail schleuder
6038
-    #exim -d -bt $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME
6039
-    echo 'create_private_mailing_list' >> $COMPLETION_FILE
6040
-}
6041
-
6042
-function split_gpg_key_into_fragments {
6043
-    # split the gpg key into fragments if social key management is enabled
6044
-    if [[ $ENABLE_SOCIAL_KEY_MANAGEMENT == "yes" ]]; then
6045
-        echo 'Splitting GPG key. You may need to enter your passphrase.'
6046
-        ${PROJECT_NAME}-splitkey -u $MY_USERNAME -e $MY_EMAIL_ADDRESS --fullname "$MY_NAME"
6047
-        if [ ! -d /home/$MY_USERNAME/.gnupg_fragments ]; then
6048
-            echo 'Yhe GPG key could not be split'
6049
-            exit 86548
6050
-        fi
6051
-    fi
6052
-}
6053
-
6054
-function import_email {
6055
-    if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
6056
-        return
6057
-    fi
6058
-    EMAIL_COMPLETE_MSG=$"
5901
+           if grep -Fxq "create_public_mailing_list" $COMPLETION_FILE; then
5902
+               return
5903
+           fi
5904
+           if [ ! $PUBLIC_MAILING_LIST ]; then
5905
+               return
5906
+           fi
5907
+           # does the mailing list have a separate domain name?
5908
+           if [ ! $PUBLIC_MAILING_LIST_DOMAIN_NAME ]; then
5909
+               PUBLIC_MAILING_LIST_DOMAIN_NAME=$DEFAULT_DOMAIN_NAME
5910
+           fi
5911
+
5912
+           PUBLIC_MAILING_LIST_USER="mlmmj"
5913
+
5914
+           apt-get -y install mlmmj
5915
+           adduser --system $PUBLIC_MAILING_LIST_USER
5916
+           addgroup $PUBLIC_MAILING_LIST_USER
5917
+           adduser $PUBLIC_MAILING_LIST_USER $PUBLIC_MAILING_LIST_USER
5918
+
5919
+           echo ''
5920
+           echo $"Creating the $PUBLIC_MAILING_LIST mailing list"
5921
+           echo ''
5922
+
5923
+           # create the list
5924
+           mlmmj-make-ml -a -L "$PUBLIC_MAILING_LIST" -c $PUBLIC_MAILING_LIST_USER
5925
+
5926
+           echo 'SYSTEM_ALIASES_PIPE_TRANSPORT = address_pipe' > /etc/exim4/conf.d/main/000_localmacros
5927
+           echo "SYSTEM_ALIASES_USER = $PUBLIC_MAILING_LIST_USER" >> /etc/exim4/conf.d/main/000_localmacros
5928
+           echo "SYSTEM_ALIASES_GROUP = $PUBLIC_MAILING_LIST_USER" >> /etc/exim4/conf.d/main/000_localmacros
5929
+
5930
+           # router
5931
+           echo 'mlmmj_router:' > /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5932
+           echo '  debug_print = "R: mlmmj_router for $local_part@$domain"' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5933
+           echo '  driver = accept' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5934
+           echo '  domains = +mlmmj_domains' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5935
+           echo '  #require_files = MLMMJ_HOME/${lc::$local_part}' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5936
+           echo '  # Use this instead, if you dont want to give Exim rx rights to mlmmj spool.' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5937
+           echo '  # Exim will then spawn a new process running under the UID of "mlmmj".' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5938
+           echo '  require_files = mlmmj:MLMMJ_HOME/${lc::$local_part}' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5939
+           echo '  local_part_suffix = +*' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5940
+           echo '  local_part_suffix_optional' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5941
+           echo '  headers_remove = Delivered-To' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5942
+           echo '  headers_add = Delivered-To: $local_part$local_part_suffix@$domain' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5943
+           echo '  transport = mlmmj_transport' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
5944
+
5945
+           # transport
5946
+           echo 'mlmmj_transport:' > /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5947
+           echo '  debug_print = "T: mlmmj_transport for $local_part@$domain"' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5948
+           echo '  driver = pipe' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5949
+           echo '  return_path_add' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5950
+           echo '  user = mlmmj' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5951
+           echo '  group = mlmmj' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5952
+           echo '  home_directory = MLMMJ_HOME' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5953
+           echo '  current_directory = MLMMJ_HOME' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5954
+           echo '  command = /usr/bin/mlmmj-receive -F -L MLMMJ_HOME/${lc:$local_part}' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
5955
+
5956
+           if ! grep -q "MLMMJ_HOME=/var/spool/mlmmj" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then
5957
+               sed -i '/MAIN CONFIGURATION SETTINGS/a\MLMMJ_HOME=/var/spool/mlmmj' /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
5958
+           fi
5959
+           if ! grep -q "domainlist mlmmj_domains =" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then
5960
+               sed -i "/MLMMJ_HOME/a\domainlist mlmmj_domains = $PUBLIC_MAILING_LIST_DOMAIN_NAME" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
5961
+           fi
5962
+
5963
+
5964
+           if ! grep -q "delay_warning_condition =" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then
5965
+               sed -i '/domainlist mlmmj_domains =/a\delay_warning_condition = ${if match_domain{$domain}{+mlmmj_domains}{no}{yes}}' /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
5966
+           fi
5967
+           if ! grep -q ": +mlmmj_domains" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then
5968
+               sed -i 's/domainlist relay_to_domains = MAIN_RELAY_TO_DOMAINS/domainlist relay_to_domains = MAIN_RELAY_TO_DOMAINS : +mlmmj_domains/g' /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
5969
+           fi
5970
+
5971
+           if ! grep -q "! +mlmmj_domains" /etc/exim4/conf.d/router/200_exim4-config_primary; then
5972
+               sed -i 's/domains = ! +local_domains/domains = ! +mlmmj_domains : ! +local_domains/g' /etc/exim4/conf.d/router/200_exim4-config_primary
5973
+           fi
5974
+           newaliases
5975
+           update-exim4.conf.template -r
5976
+           update-exim4.conf
5977
+           systemctl restart exim4
5978
+
5979
+           if ! grep -q $"$PUBLIC_MAILING_LIST mailing list" /home/$MY_USERNAME/README; then
5980
+               echo '' >> /home/$MY_USERNAME/README
5981
+               echo '' >> /home/$MY_USERNAME/README
5982
+               echo $"$PUBLIC_MAILING_LIST mailing list" >> /home/$MY_USERNAME/README
5983
+               echo '=================================' >> /home/$MY_USERNAME/README
5984
+               echo $"To subscribe to the $PUBLIC_MAILING_LIST mailing list send a" >> /home/$MY_USERNAME/README
5985
+               echo $"cleartext email to $PUBLIC_MAILING_LIST+subscribe@$DEFAULT_DOMAIN_NAME" >> /home/$MY_USERNAME/README
5986
+               chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
5987
+               chmod 600 /home/$MY_USERNAME/README
5988
+           fi
5989
+
5990
+           ${PROJECT_NAME}-addlist -u $MY_USERNAME -l "$PUBLIC_MAILING_LIST" -s "$PUBLIC_MAILING_LIST"
5991
+
5992
+           echo 'create_public_mailing_list' >> $COMPLETION_FILE
5993
+       }
5994
+
5995
+       function create_private_mailing_list {
5996
+           if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
5997
+               return
5998
+           fi
5999
+           # This installation doesn't work, results in ruby errors
6000
+           # There is currently no schleuder package for Debian jessie
6001
+           if grep -Fxq "create_private_mailing_list" $COMPLETION_FILE; then
6002
+               return
6003
+           fi
6004
+           if [ ! $PRIVATE_MAILING_LIST ]; then
6005
+               return
6006
+           fi
6007
+           if [[ $PRIVATE_MAILING_LIST == $MY_USERNAME ]]; then
6008
+               echo $'The name of the private mailing list should not be the same as your username'
6009
+               exit 10
6010
+           fi
6011
+           if [ ! $MY_GPG_PUBLIC_KEY ]; then
6012
+               echo $'To create a private mailing list you need to specify a file'
6013
+               echo $'containing your exported GPG key within MY_GPG_PUBLIC_KEY at'
6014
+               echo $'the top of the script'
6015
+               exit 11
6016
+           fi
6017
+           apt-get -y install ruby ruby-dev ruby-gpgme libgpgme11-dev libmagic-dev
6018
+           gem install schleuder
6019
+           schleuder-fix-gem-dependencies
6020
+           schleuder-init-setup --gem
6021
+           # NOTE: this is version number sensitive and so might need changing
6022
+           ln -s /var/lib/gems/2.1.0/gems/schleuder-2.2.4 /var/lib/schleuder
6023
+           sed -i 's/#smtp_port: 25/smtp_port: 465/g' /etc/schleuder/schleuder.conf
6024
+           sed -i 's/#superadminaddr: root@localhost/superadminaddr: root@localhost' /etc/schleuder/schleuder.conf
6025
+           schleuder-newlist $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME -realname "$PRIVATE_MAILING_LIST" -adminaddress $MY_EMAIL_ADDRESS -initmember $MY_EMAIL_ADDRESS -initmemberkey $MY_GPG_PUBLIC_KEY -nointeractive
6026
+           ${PROJECT_NAME}-addemail -u $MY_USERNAME -e $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME -l $PRIVATE_MAILING_LIST
6027
+
6028
+           echo 'schleuder:' > /etc/exim4/conf.d/router/550_exim4-config_schleuder
6029
+           echo '  debug_print = "R: schleuder for $local_part@$domain"' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6030
+           echo '  driver = accept' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6031
+           echo '  local_part_suffix_optional' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6032
+           echo '  local_part_suffix = +* : -bounce : -sendkey' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6033
+           echo '  domains = +local_domains' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6034
+           echo '  user = schleuder' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6035
+           echo '  group = schleuder' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6036
+           echo '  require_files = schleuder:+/var/lib/schleuder/$domain/${local_part}' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6037
+           echo '  transport = schleuder_transport' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
6038
+
6039
+           echo 'schleuder_transport:' > /etc/exim4/conf.d/transport/30_exim4-config_schleuder
6040
+           echo '  debug_print = "T: schleuder_transport for $local_part@$domain"' >> /etc/exim4/conf.d/transport/30_exim4-config_schleuder
6041
+           echo '  driver = pipe' >> /etc/exim4/conf.d/transport/30_exim4-config_schleuder
6042
+           echo '  home_directory = "/var/lib/schleuder/$domain/$local_part"' >> /etc/exim4/conf.d/transport/30_exim4-config_schleuder
6043
+           echo '  command = "/usr/bin/schleuder $local_part@$domain"' >> /etc/exim4/conf.d/transport/30_exim4-config_schleuder
6044
+           chown -R schleuder:schleuder /var/lib/schleuder
6045
+           update-exim4.conf.template -r
6046
+           update-exim4.conf
6047
+           systemctl restart exim4
6048
+           useradd -d /var/schleuderlists -s /bin/false schleuder
6049
+           adduser Debian-exim schleuder
6050
+           usermod -a -G mail schleuder
6051
+           #exim -d -bt $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME
6052
+           echo 'create_private_mailing_list' >> $COMPLETION_FILE
6053
+       }
6054
+
6055
+       function split_gpg_key_into_fragments {
6056
+           # split the gpg key into fragments if social key management is enabled
6057
+           if [[ $ENABLE_SOCIAL_KEY_MANAGEMENT == "yes" ]]; then
6058
+               echo 'Splitting GPG key. You may need to enter your passphrase.'
6059
+               ${PROJECT_NAME}-splitkey -u $MY_USERNAME -e $MY_EMAIL_ADDRESS --fullname "$MY_NAME"
6060
+               if [ ! -d /home/$MY_USERNAME/.gnupg_fragments ]; then
6061
+                   echo 'Yhe GPG key could not be split'
6062
+                   exit 86548
6063
+               fi
6064
+           fi
6065
+       }
6066
+
6067
+       function import_email {
6068
+           if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
6069
+               return
6070
+           fi
6071
+           EMAIL_COMPLETE_MSG=$"
6059 6072
   *** ${PROJECT_NAME} mailbox installation is complete ***
6060 6073
 
6061 6074
       Now on your internet router forward ports
6062 6075
      25, 587, 465, 993 and 2222 to the ${PROJECT_NAME}
6063 6076
 "
6064
-    if grep -Fxq "import_email" $COMPLETION_FILE; then
6065
-        if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
6066
-            backup_to_friends_servers
6067
-            intrusion_detection
6068
-            split_gpg_key_into_fragments
6069
-            clear
6070
-            echo ''
6071
-            echo "$EMAIL_COMPLETE_MSG"
6072
-            if [ -d $USB_MOUNT ]; then
6073
-                umount $USB_MOUNT
6074
-                rm -rf $USB_MOUNT
6075
-                echo $'            You can now remove the USB drive'
6076
-            fi
6077
-            exit 0
6078
-        fi
6079
-        return
6080
-    fi
6081
-    if [ $IMPORT_MAILDIR ]; then
6082
-        if [ -d $IMPORT_MAILDIR ]; then
6083
-            echo $'Transfering email files'
6084
-            cp -r $IMPORT_MAILDIR /home/$MY_USERNAME
6085
-            chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir
6086
-        else
6087
-            echo $"Email import directory $IMPORT_MAILDIR not found"
6088
-            exit 9
6089
-        fi
6090
-    fi
6091
-    echo 'import_email' >> $COMPLETION_FILE
6092
-    if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
6093
-        backup_to_friends_servers
6094
-        intrusion_detection
6095
-        split_gpg_key_into_fragments
6096
-        # unmount any attached usb drive
6097
-        clear
6098
-        echo ''
6099
-        echo "$EMAIL_COMPLETE_MSG"
6100
-        echo ''
6101
-        if [ -d $USB_MOUNT ]; then
6102
-            umount $USB_MOUNT
6103
-            rm -rf $USB_MOUNT
6104
-            echo $'            You can now remove the USB drive'
6105
-        fi
6106
-        exit 0
6107
-    fi
6108
-}
6109
-
6110
-function install_web_server {
6111
-    if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" ]]; then
6112
-        return
6113
-    fi
6114
-
6115
-    # update to the next commit
6116
-    set_repo_commit $INSTALL_DIR/nginx_ensite "Nginx-ensite commit" "$NGINX_ENSITE_COMMIT" $NGINX_ENSITE_REPO
6117
-
6118
-    if grep -Fxq "install_web_server" $COMPLETION_FILE; then
6119
-        return
6120
-    fi
6121
-    # remove apache
6122
-    apt-get -y remove --purge apache2
6123
-    if [ -d /etc/apache2 ]; then
6124
-        rm -rf /etc/apache2
6125
-    fi
6126
-    # install nginx
6127
-    apt-get -y install nginx php5-fpm git
6128
-
6129
-    # limit the number of php processes
6130
-    sed -i 's/; process.max =.*/process.max = 32/g' /etc/php5/fpm/php-fpm.conf
6131
-    sed -i 's/;process_control_timeout =.*/process_control_timeout = 300/g' /etc/php5/fpm/php-fpm.conf
6132
-
6133
-    if ! grep -q "pm.max_children" /etc/php5/fpm/php-fpm.conf; then
6134
-        echo 'pm.max_children = 10' >> /etc/php5/fpm/php-fpm.conf
6135
-        echo 'pm.start_servers = 2' >> /etc/php5/fpm/php-fpm.conf
6136
-        echo 'pm.min_spare_servers = 2' >> /etc/php5/fpm/php-fpm.conf
6137
-        echo 'pm.max_spare_servers = 5' >> /etc/php5/fpm/php-fpm.conf
6138
-        echo 'pm.max_requests = 50' >> /etc/php5/fpm/php-fpm.conf
6139
-    fi
6140
-
6141
-    if [ ! -d /etc/nginx ]; then
6142
-        echo $"ERROR: nginx does not appear to have installed. $CHECK_MESSAGE"
6143
-        exit 51
6144
-    fi
6145
-
6146
-    # Nginx settings
6147
-    echo 'user www-data;' > /etc/nginx/nginx.conf
6148
-    #echo "worker_processes; $CPU_CORES" >> /etc/nginx/nginx.conf
6149
-    echo 'pid /run/nginx.pid;' >> /etc/nginx/nginx.conf
6150
-    echo '' >> /etc/nginx/nginx.conf
6151
-    echo 'events {' >> /etc/nginx/nginx.conf
6152
-    echo '        worker_connections 50;' >> /etc/nginx/nginx.conf
6153
-    echo '        # multi_accept on;' >> /etc/nginx/nginx.conf
6154
-    echo '}' >> /etc/nginx/nginx.conf
6155
-    echo '' >> /etc/nginx/nginx.conf
6156
-    echo 'http {' >> /etc/nginx/nginx.conf
6157
-    echo '        # limit the number of connections per single IP' >> /etc/nginx/nginx.conf
6158
-    echo '        limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;' >> /etc/nginx/nginx.conf
6159
-    echo '' >> /etc/nginx/nginx.conf
6160
-    echo '        # limit the number of requests for a given session' >> /etc/nginx/nginx.conf
6161
-    echo '        # Note that the Owncloud web interface seems to require a rate of around 140r/s' >> /etc/nginx/nginx.conf
6162
-    echo '        limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=140r/s;' >> /etc/nginx/nginx.conf
6163
-    echo '' >> /etc/nginx/nginx.conf
6164
-    echo '        # if the request body size is more than the buffer size, then the entire (or partial) request body is written into a temporary file' >> /etc/nginx/nginx.conf
6165
-    echo '        client_body_buffer_size  128k;' >> /etc/nginx/nginx.conf
6166
-    echo '' >> /etc/nginx/nginx.conf
6167
-    echo '        # headerbuffer size for the request header from client, its set for testing purpose' >> /etc/nginx/nginx.conf
6168
-    echo '        client_header_buffer_size 3m;' >> /etc/nginx/nginx.conf
6169
-    echo '' >> /etc/nginx/nginx.conf
6170
-    echo '        # maximum number and size of buffers for large headers to read from client request' >> /etc/nginx/nginx.conf
6171
-    echo '        large_client_header_buffers 4 256k;' >> /etc/nginx/nginx.conf
6172
-    echo '' >> /etc/nginx/nginx.conf
6173
-    echo '        # read timeout for the request body from client, its set for testing purpose' >> /etc/nginx/nginx.conf
6174
-    echo '        client_body_timeout   3m;' >> /etc/nginx/nginx.conf
6175
-    echo '' >> /etc/nginx/nginx.conf
6176
-    echo '        # how long to wait for the client to send a request header, its set for testing purpose' >> /etc/nginx/nginx.conf
6177
-    echo '        client_header_timeout 3m;' >> /etc/nginx/nginx.conf
6178
-    echo '' >> /etc/nginx/nginx.conf
6179
-    echo '        ##' >> /etc/nginx/nginx.conf
6180
-    echo '        # Basic Settings' >> /etc/nginx/nginx.conf
6181
-    echo '        ##' >> /etc/nginx/nginx.conf
6182
-    echo '' >> /etc/nginx/nginx.conf
6183
-    echo '        sendfile on;' >> /etc/nginx/nginx.conf
6184
-    echo '        tcp_nopush on;' >> /etc/nginx/nginx.conf
6185
-    echo '        tcp_nodelay on;' >> /etc/nginx/nginx.conf
6186
-    echo '        keepalive_timeout 65;' >> /etc/nginx/nginx.conf
6187
-    echo '        types_hash_max_size 2048;' >> /etc/nginx/nginx.conf
6188
-    echo '        server_tokens off;' >> /etc/nginx/nginx.conf
6189
-    echo '' >> /etc/nginx/nginx.conf
6190
-    echo '        # server_names_hash_bucket_size 64;' >> /etc/nginx/nginx.conf
6191
-    echo '        # server_name_in_redirect off;' >> /etc/nginx/nginx.conf
6192
-    echo '' >> /etc/nginx/nginx.conf
6193
-    echo '        include /etc/nginx/mime.types;' >> /etc/nginx/nginx.conf
6194
-    echo '        default_type application/octet-stream;' >> /etc/nginx/nginx.conf
6195
-    echo '' >> /etc/nginx/nginx.conf
6196
-    echo '        ##' >> /etc/nginx/nginx.conf
6197
-    echo '        # Logging Settings' >> /etc/nginx/nginx.conf
6198
-    echo '        ##' >> /etc/nginx/nginx.conf
6199
-    echo '' >> /etc/nginx/nginx.conf
6200
-    echo '        access_log /var/log/nginx/access.log;' >> /etc/nginx/nginx.conf
6201
-    echo '        error_log /var/log/nginx/error.log;' >> /etc/nginx/nginx.conf
6202
-    echo '' >> /etc/nginx/nginx.conf
6203
-    echo '        ###' >> /etc/nginx/nginx.conf
6204
-    echo '        # Gzip Settings' >> /etc/nginx/nginx.conf
6205
-    echo '        ##' >> /etc/nginx/nginx.conf
6206
-    echo '        gzip on;' >> /etc/nginx/nginx.conf
6207
-    echo '        gzip_disable "msie6";' >> /etc/nginx/nginx.conf
6208
-    echo '' >> /etc/nginx/nginx.conf
6209
-    echo '        # gzip_vary on;' >> /etc/nginx/nginx.conf
6210
-    echo '        # gzip_proxied any;' >> /etc/nginx/nginx.conf
6211
-    echo '        # gzip_comp_level 6;' >> /etc/nginx/nginx.conf
6212
-    echo '        # gzip_buffers 16 8k;' >> /etc/nginx/nginx.conf
6213
-    echo '        # gzip_http_version 1.1;' >> /etc/nginx/nginx.conf
6214
-    echo '        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;' >> /etc/nginx/nginx.conf
6215
-    echo '' >> /etc/nginx/nginx.conf
6216
-    echo '        ##' >> /etc/nginx/nginx.conf
6217
-    echo '        # Virtual Host Configs' >> /etc/nginx/nginx.conf
6218
-    echo '        ##' >> /etc/nginx/nginx.conf
6219
-    echo '' >> /etc/nginx/nginx.conf
6077
+           if grep -Fxq "import_email" $COMPLETION_FILE; then
6078
+               if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
6079
+                   backup_to_friends_servers
6080
+                   intrusion_detection
6081
+                   split_gpg_key_into_fragments
6082
+                   clear
6083
+                   echo ''
6084
+                   echo "$EMAIL_COMPLETE_MSG"
6085
+                   if [ -d $USB_MOUNT ]; then
6086
+                       umount $USB_MOUNT
6087
+                       rm -rf $USB_MOUNT
6088
+                       echo $'            You can now remove the USB drive'
6089
+                   fi
6090
+                   exit 0
6091
+               fi
6092
+               return
6093
+           fi
6094
+           if [ $IMPORT_MAILDIR ]; then
6095
+               if [ -d $IMPORT_MAILDIR ]; then
6096
+                   echo $'Transfering email files'
6097
+                   cp -r $IMPORT_MAILDIR /home/$MY_USERNAME
6098
+                   chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir
6099
+               else
6100
+                   echo $"Email import directory $IMPORT_MAILDIR not found"
6101
+                   exit 9
6102
+               fi
6103
+           fi
6104
+           echo 'import_email' >> $COMPLETION_FILE
6105
+           if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
6106
+               backup_to_friends_servers
6107
+               intrusion_detection
6108
+               split_gpg_key_into_fragments
6109
+               # unmount any attached usb drive
6110
+               clear
6111
+               echo ''
6112
+               echo "$EMAIL_COMPLETE_MSG"
6113
+               echo ''
6114
+               if [ -d $USB_MOUNT ]; then
6115
+                   umount $USB_MOUNT
6116
+                   rm -rf $USB_MOUNT
6117
+                   echo $'            You can now remove the USB drive'
6118
+               fi
6119
+               exit 0
6120
+           fi
6121
+       }
6122
+
6123
+       function install_web_server {
6124
+           if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" ]]; then
6125
+               return
6126
+           fi
6127
+
6128
+           # update to the next commit
6129
+           set_repo_commit $INSTALL_DIR/nginx_ensite "Nginx-ensite commit" "$NGINX_ENSITE_COMMIT" $NGINX_ENSITE_REPO
6130
+
6131
+           if grep -Fxq "install_web_server" $COMPLETION_FILE; then
6132
+               return
6133
+           fi
6134
+           # remove apache
6135
+           apt-get -y remove --purge apache2
6136
+           if [ -d /etc/apache2 ]; then
6137
+               rm -rf /etc/apache2
6138
+           fi
6139
+           # install nginx
6140
+           apt-get -y install nginx php5-fpm git
6141
+
6142
+           # limit the number of php processes
6143
+           sed -i 's/; process.max =.*/process.max = 32/g' /etc/php5/fpm/php-fpm.conf
6144
+           sed -i 's/;process_control_timeout =.*/process_control_timeout = 300/g' /etc/php5/fpm/php-fpm.conf
6145
+
6146
+           if ! grep -q "pm.max_children" /etc/php5/fpm/php-fpm.conf; then
6147
+               echo 'pm.max_children = 10' >> /etc/php5/fpm/php-fpm.conf
6148
+               echo 'pm.start_servers = 2' >> /etc/php5/fpm/php-fpm.conf
6149
+               echo 'pm.min_spare_servers = 2' >> /etc/php5/fpm/php-fpm.conf
6150
+               echo 'pm.max_spare_servers = 5' >> /etc/php5/fpm/php-fpm.conf
6151
+               echo 'pm.max_requests = 50' >> /etc/php5/fpm/php-fpm.conf
6152
+           fi
6153
+
6154
+           if [ ! -d /etc/nginx ]; then
6155
+               echo $"ERROR: nginx does not appear to have installed. $CHECK_MESSAGE"
6156
+               exit 51
6157
+           fi
6158
+
6159
+           # Nginx settings
6160
+           echo 'user www-data;' > /etc/nginx/nginx.conf
6161
+           #echo "worker_processes; $CPU_CORES" >> /etc/nginx/nginx.conf
6162
+           echo 'pid /run/nginx.pid;' >> /etc/nginx/nginx.conf
6163
+           echo '' >> /etc/nginx/nginx.conf
6164
+           echo 'events {' >> /etc/nginx/nginx.conf
6165
+           echo '        worker_connections 50;' >> /etc/nginx/nginx.conf
6166
+           echo '        # multi_accept on;' >> /etc/nginx/nginx.conf
6167
+           echo '}' >> /etc/nginx/nginx.conf
6168
+           echo '' >> /etc/nginx/nginx.conf
6169
+           echo 'http {' >> /etc/nginx/nginx.conf
6170
+           echo '        # limit the number of connections per single IP' >> /etc/nginx/nginx.conf
6171
+           echo '        limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;' >> /etc/nginx/nginx.conf
6172
+           echo '' >> /etc/nginx/nginx.conf
6173
+           echo '        # limit the number of requests for a given session' >> /etc/nginx/nginx.conf
6174
+           echo '        # Note that the Owncloud web interface seems to require a rate of around 140r/s' >> /etc/nginx/nginx.conf
6175
+           echo '        limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=140r/s;' >> /etc/nginx/nginx.conf
6176
+           echo '' >> /etc/nginx/nginx.conf
6177
+           echo '        # if the request body size is more than the buffer size, then the entire (or partial) request body is written into a temporary file' >> /etc/nginx/nginx.conf
6178
+           echo '        client_body_buffer_size  128k;' >> /etc/nginx/nginx.conf
6179
+           echo '' >> /etc/nginx/nginx.conf
6180
+           echo '        # headerbuffer size for the request header from client, its set for testing purpose' >> /etc/nginx/nginx.conf
6181
+           echo '        client_header_buffer_size 3m;' >> /etc/nginx/nginx.conf
6182
+           echo '' >> /etc/nginx/nginx.conf
6183
+           echo '        # maximum number and size of buffers for large headers to read from client request' >> /etc/nginx/nginx.conf
6184
+           echo '        large_client_header_buffers 4 256k;' >> /etc/nginx/nginx.conf
6185
+           echo '' >> /etc/nginx/nginx.conf
6186
+           echo '        # read timeout for the request body from client, its set for testing purpose' >> /etc/nginx/nginx.conf
6187
+           echo '        client_body_timeout   3m;' >> /etc/nginx/nginx.conf
6188
+           echo '' >> /etc/nginx/nginx.conf
6189
+           echo '        # how long to wait for the client to send a request header, its set for testing purpose' >> /etc/nginx/nginx.conf
6190
+           echo '        client_header_timeout 3m;' >> /etc/nginx/nginx.conf
6191
+           echo '' >> /etc/nginx/nginx.conf
6192
+           echo '        ##' >> /etc/nginx/nginx.conf
6193
+           echo '        # Basic Settings' >> /etc/nginx/nginx.conf
6194
+           echo '        ##' >> /etc/nginx/nginx.conf
6195
+           echo '' >> /etc/nginx/nginx.conf
6196
+           echo '        sendfile on;' >> /etc/nginx/nginx.conf
6197
+           echo '        tcp_nopush on;' >> /etc/nginx/nginx.conf
6198
+           echo '        tcp_nodelay on;' >> /etc/nginx/nginx.conf
6199
+           echo '        keepalive_timeout 65;' >> /etc/nginx/nginx.conf
6200
+           echo '        types_hash_max_size 2048;' >> /etc/nginx/nginx.conf
6201
+           echo '        server_tokens off;' >> /etc/nginx/nginx.conf
6202
+           echo '' >> /etc/nginx/nginx.conf
6203
+           echo '        # server_names_hash_bucket_size 64;' >> /etc/nginx/nginx.conf
6204
+           echo '        # server_name_in_redirect off;' >> /etc/nginx/nginx.conf
6205
+           echo '' >> /etc/nginx/nginx.conf
6206
+           echo '        include /etc/nginx/mime.types;' >> /etc/nginx/nginx.conf
6207
+           echo '        default_type application/octet-stream;' >> /etc/nginx/nginx.conf
6208
+           echo '' >> /etc/nginx/nginx.conf
6209
+           echo '        ##' >> /etc/nginx/nginx.conf
6210
+           echo '        # Logging Settings' >> /etc/nginx/nginx.conf
6211
+           echo '        ##' >> /etc/nginx/nginx.conf
6212
+           echo '' >> /etc/nginx/nginx.conf
6213
+           echo '        access_log /var/log/nginx/access.log;' >> /etc/nginx/nginx.conf
6214
+           echo '        error_log /var/log/nginx/error.log;' >> /etc/nginx/nginx.conf
6215
+           echo '' >> /etc/nginx/nginx.conf
6216
+           echo '        ###' >> /etc/nginx/nginx.conf
6217
+           echo '        # Gzip Settings' >> /etc/nginx/nginx.conf
6218
+           echo '        ##' >> /etc/nginx/nginx.conf
6219
+           echo '        gzip on;' >> /etc/nginx/nginx.conf
6220
+           echo '        gzip_disable "msie6";' >> /etc/nginx/nginx.conf
6221
+           echo '' >> /etc/nginx/nginx.conf
6222
+           echo '        # gzip_vary on;' >> /etc/nginx/nginx.conf
6223
+           echo '        # gzip_proxied any;' >> /etc/nginx/nginx.conf
6224
+           echo '        # gzip_comp_level 6;' >> /etc/nginx/nginx.conf
6225
+           echo '        # gzip_buffers 16 8k;' >> /etc/nginx/nginx.conf
6226
+           echo '        # gzip_http_version 1.1;' >> /etc/nginx/nginx.conf
6227
+           echo '        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;' >> /etc/nginx/nginx.conf
6228
+           echo '' >> /etc/nginx/nginx.conf
6229
+           echo '        ##' >> /etc/nginx/nginx.conf
6230
+           echo '        # Virtual Host Configs' >> /etc/nginx/nginx.conf
6231
+           echo '        ##' >> /etc/nginx/nginx.conf
6232
+           echo '' >> /etc/nginx/nginx.conf
6220 6233
     echo '        include /etc/nginx/conf.d/*.conf;' >> /etc/nginx/nginx.conf
6221 6234
     echo '        include /etc/nginx/sites-enabled/*;' >> /etc/nginx/nginx.conf
6222 6235
     echo '}' >> /etc/nginx/nginx.conf
@@ -10700,6 +10713,7 @@ mesh_babel
10700 10713
 route_outgoing_traffic_through_tor
10701 10714
 configure_email
10702 10715
 create_procmail
10716
+handle_admin_emails
10703 10717
 spam_filtering
10704 10718
 configure_imap
10705 10719
 #configure_imap_client_certs