Explorar el Código

Optionally specify an email address

Bob Mottram hace 10 años
padre
commit
c4d8c4f0d6
Se han modificado 1 ficheros con 21 adiciones y 15 borrados
  1. 21
    15
      install-freedombone.sh

+ 21
- 15
install-freedombone.sh Ver fichero

267
 # list of ciphers to use.  See bettercrypto.org recommendations
267
 # list of ciphers to use.  See bettercrypto.org recommendations
268
 SSL_CIPHERS="EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA"
268
 SSL_CIPHERS="EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA"
269
 
269
 
270
+# the default email address
271
+MY_EMAIL_ADDRESS=$MY_USERNAME@$DOMAIN_NAME
272
+
270
 export DEBIAN_FRONTEND=noninteractive
273
 export DEBIAN_FRONTEND=noninteractive
271
 
274
 
272
 # File which keeps track of what has already been installed
275
 # File which keeps track of what has already been installed
335
 
338
 
336
 function read_configuration {
339
 function read_configuration {
337
   if [ -f $CONFIGURATION_FILE ]; then
340
   if [ -f $CONFIGURATION_FILE ]; then
341
+      if grep -q "MY_EMAIL_ADDRESS" $CONFIGURATION_FILE; then
342
+          MY_EMAIL_ADDRESS=$(grep "MY_EMAIL_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
343
+      fi
338
       if grep -q "INSTALLING_ON_BBB" $CONFIGURATION_FILE; then
344
       if grep -q "INSTALLING_ON_BBB" $CONFIGURATION_FILE; then
339
           INSTALLING_ON_BBB=$(grep "INSTALLING_ON_BBB" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
345
           INSTALLING_ON_BBB=$(grep "INSTALLING_ON_BBB" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
340
       fi
346
       fi
425
   apt-get -y --force-yes install gnupg
431
   apt-get -y --force-yes install gnupg
426
 
432
 
427
   if [ ! $MY_GPG_PUBLIC_KEY_ID ]; then
433
   if [ ! $MY_GPG_PUBLIC_KEY_ID ]; then
428
-      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
434
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_EMAIL_ADDRESS | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
429
   fi
435
   fi
430
 
436
 
431
   # if the above fails because the key has an unexpected email address
437
   # if the above fails because the key has an unexpected email address
1518
   echo "TIMESOURCE2='TLS_TIME_SOURCE2'" >> /usr/bin/updatedate
1524
   echo "TIMESOURCE2='TLS_TIME_SOURCE2'" >> /usr/bin/updatedate
1519
   echo 'LOGFILE=/var/log/tlsdate.log' >> /usr/bin/updatedate
1525
   echo 'LOGFILE=/var/log/tlsdate.log' >> /usr/bin/updatedate
1520
   echo 'TIMEOUT=5' >> /usr/bin/updatedate
1526
   echo 'TIMEOUT=5' >> /usr/bin/updatedate
1521
-  echo "EMAIL=$MY_USERNAME@$DOMAIN_NAME" >> /usr/bin/updatedate
1527
+  echo "EMAIL=$MY_EMAIL_ADDRESS" >> /usr/bin/updatedate
1522
   echo '# File which contains the previous date as a number' >> /usr/bin/updatedate
1528
   echo '# File which contains the previous date as a number' >> /usr/bin/updatedate
1523
   echo 'BEFORE_DATE_FILE=/var/log/tlsdateprevious.txt' >> /usr/bin/updatedate
1529
   echo 'BEFORE_DATE_FILE=/var/log/tlsdateprevious.txt' >> /usr/bin/updatedate
1524
   echo '# File which contains the previous date as a string' >> /usr/bin/updatedate
1530
   echo '# File which contains the previous date as a string' >> /usr/bin/updatedate
2130
   # if gpg keys directory was previously imported from usb
2136
   # if gpg keys directory was previously imported from usb
2131
   if [[ $GPG_KEYS_IMPORTED == "yes" && -d /home/$MY_USERNAME/.gnupg ]]; then
2137
   if [[ $GPG_KEYS_IMPORTED == "yes" && -d /home/$MY_USERNAME/.gnupg ]]; then
2132
       sed -i "s|keyserver hkp://keys.gnupg.net|keyserver $GPG_KEYSERVER|g" /home/$MY_USERNAME/.gnupg/gpg.conf
2138
       sed -i "s|keyserver hkp://keys.gnupg.net|keyserver $GPG_KEYSERVER|g" /home/$MY_USERNAME/.gnupg/gpg.conf
2133
-      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
2139
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_EMAIL_ADDRESS | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
2134
       echo 'configure_gpg' >> $COMPLETION_FILE
2140
       echo 'configure_gpg' >> $COMPLETION_FILE
2135
       return
2141
       return
2136
   fi
2142
   fi
2167
       su -c "gpg --allow-secret-key-import --import $MY_GPG_PRIVATE_KEY" - $MY_USERNAME
2173
       su -c "gpg --allow-secret-key-import --import $MY_GPG_PRIVATE_KEY" - $MY_USERNAME
2168
       # for security ensure that the private key file doesn't linger around
2174
       # for security ensure that the private key file doesn't linger around
2169
       shred -zu $MY_GPG_PRIVATE_KEY
2175
       shred -zu $MY_GPG_PRIVATE_KEY
2170
-      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
2176
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_EMAIL_ADDRESS | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
2171
   else
2177
   else
2172
       # Generate a GPG key
2178
       # Generate a GPG key
2173
       echo 'Key-Type: 1' > /home/$MY_USERNAME/gpg-genkey.conf
2179
       echo 'Key-Type: 1' > /home/$MY_USERNAME/gpg-genkey.conf
2174
       echo 'Key-Length: 4096' >> /home/$MY_USERNAME/gpg-genkey.conf
2180
       echo 'Key-Length: 4096' >> /home/$MY_USERNAME/gpg-genkey.conf
2175
       echo 'Subkey-Type: 1' >> /home/$MY_USERNAME/gpg-genkey.conf
2181
       echo 'Subkey-Type: 1' >> /home/$MY_USERNAME/gpg-genkey.conf
2176
       echo 'Subkey-Length: 4096' >> /home/$MY_USERNAME/gpg-genkey.conf
2182
       echo 'Subkey-Length: 4096' >> /home/$MY_USERNAME/gpg-genkey.conf
2177
-      echo "Name-Real:  $MY_USERNAME@$DOMAIN_NAME" >> /home/$MY_USERNAME/gpg-genkey.conf
2178
-      echo "Name-Email: $MY_USERNAME@$DOMAIN_NAME" >> /home/$MY_USERNAME/gpg-genkey.conf
2183
+      echo "Name-Real:  $MY_EMAIL_ADDRESS" >> /home/$MY_USERNAME/gpg-genkey.conf
2184
+      echo "Name-Email: $MY_EMAIL_ADDRESS" >> /home/$MY_USERNAME/gpg-genkey.conf
2179
       echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
2185
       echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
2180
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
2186
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
2181
       su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
2187
       su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
2182
       shred -zu /home/$MY_USERNAME/gpg-genkey.conf
2188
       shred -zu /home/$MY_USERNAME/gpg-genkey.conf
2183
-      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
2189
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_EMAIL_ADDRESS | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
2184
       MY_GPG_PUBLIC_KEY=/tmp/public_key.gpg
2190
       MY_GPG_PUBLIC_KEY=/tmp/public_key.gpg
2185
       su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
2191
       su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
2186
   fi
2192
   fi
2213
   if ! grep -q "/usr/bin/gpgit.pl" /home/$MY_USERNAME/.procmailrc; then
2219
   if ! grep -q "/usr/bin/gpgit.pl" /home/$MY_USERNAME/.procmailrc; then
2214
       echo '' >> /home/$MY_USERNAME/.procmailrc
2220
       echo '' >> /home/$MY_USERNAME/.procmailrc
2215
       echo ':0 f' >> /home/$MY_USERNAME/.procmailrc
2221
       echo ':0 f' >> /home/$MY_USERNAME/.procmailrc
2216
-      echo "| /usr/bin/gpgit.pl $MY_USERNAME@$DOMAIN_NAME" >> /home/$MY_USERNAME/.procmailrc
2222
+      echo "| /usr/bin/gpgit.pl $MY_EMAIL_ADDRESS" >> /home/$MY_USERNAME/.procmailrc
2217
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.procmailrc
2223
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.procmailrc
2218
   fi
2224
   fi
2219
   echo 'encrypt_incoming_email' >> $COMPLETION_FILE
2225
   echo 'encrypt_incoming_email' >> $COMPLETION_FILE
2304
   echo 'fi' >> /usr/bin/encmaildir
2310
   echo 'fi' >> /usr/bin/encmaildir
2305
   echo '' >> /usr/bin/encmaildir
2311
   echo '' >> /usr/bin/encmaildir
2306
   echo 'if [ ! $EMAIL_ADDRESS ]; then' >> /usr/bin/encmaildir
2312
   echo 'if [ ! $EMAIL_ADDRESS ]; then' >> /usr/bin/encmaildir
2307
-  echo "  EMAIL_ADDRESS='$MY_USERNAME@$DOMAIN_NAME'" >> /usr/bin/encmaildir
2313
+  echo "  EMAIL_ADDRESS='$MY_EMAIL_ADDRESS'" >> /usr/bin/encmaildir
2308
   echo 'fi' >> /usr/bin/encmaildir
2314
   echo 'fi' >> /usr/bin/encmaildir
2309
   echo '' >> /usr/bin/encmaildir
2315
   echo '' >> /usr/bin/encmaildir
2310
   echo 'if [ ! $USERNAME ]; then' >> /usr/bin/encmaildir
2316
   echo 'if [ ! $USERNAME ]; then' >> /usr/bin/encmaildir
2760
   ln -s /var/lib/gems/2.1.0/gems/schleuder-2.2.4 /var/lib/schleuder
2766
   ln -s /var/lib/gems/2.1.0/gems/schleuder-2.2.4 /var/lib/schleuder
2761
   sed -i 's/#smtp_port: 25/smtp_port: 465/g' /etc/schleuder/schleuder.conf
2767
   sed -i 's/#smtp_port: 25/smtp_port: 465/g' /etc/schleuder/schleuder.conf
2762
   sed -i 's/#superadminaddr: root@localhost/superadminaddr: root@localhost' /etc/schleuder/schleuder.conf
2768
   sed -i 's/#superadminaddr: root@localhost/superadminaddr: root@localhost' /etc/schleuder/schleuder.conf
2763
-  schleuder-newlist $PRIVATE_MAILING_LIST@$DOMAIN_NAME -realname "$PRIVATE_MAILING_LIST" -adminaddress $MY_USERNAME@$DOMAIN_NAME -initmember $MY_USERNAME@$DOMAIN_NAME -initmemberkey $MY_GPG_PUBLIC_KEY -nointeractive
2769
+  schleuder-newlist $PRIVATE_MAILING_LIST@$DOMAIN_NAME -realname "$PRIVATE_MAILING_LIST" -adminaddress $MY_EMAIL_ADDRESS -initmember $MY_EMAIL_ADDRESS -initmemberkey $MY_GPG_PUBLIC_KEY -nointeractive
2764
   addemailtofolder $MY_USERNAME $PRIVATE_MAILING_LIST@$DOMAIN_NAME $PRIVATE_MAILING_LIST
2770
   addemailtofolder $MY_USERNAME $PRIVATE_MAILING_LIST@$DOMAIN_NAME $PRIVATE_MAILING_LIST
2765
 
2771
 
2766
   echo 'schleuder:' > /etc/exim4/conf.d/router/550_exim4-config_schleuder
2772
   echo 'schleuder:' > /etc/exim4/conf.d/router/550_exim4-config_schleuder
3163
       echo "Your XMPP password is: $XMPP_PASSWORD" >> /home/$MY_USERNAME/README
3169
       echo "Your XMPP password is: $XMPP_PASSWORD" >> /home/$MY_USERNAME/README
3164
       echo 'You can change it with: ' >> /home/$MY_USERNAME/README
3170
       echo 'You can change it with: ' >> /home/$MY_USERNAME/README
3165
       echo '' >> /home/$MY_USERNAME/README
3171
       echo '' >> /home/$MY_USERNAME/README
3166
-      echo "    prosodyctl passwd $MY_USERNAME@$DOMAIN_NAME" >> /home/$MY_USERNAME/README
3172
+      echo "    prosodyctl passwd $MY_EMAIL_ADDRESS" >> /home/$MY_USERNAME/README
3167
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
3173
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
3168
   fi
3174
   fi
3169
   echo 'install_xmpp' >> $COMPLETION_FILE
3175
   echo 'install_xmpp' >> $COMPLETION_FILE
3193
   echo '*               Freedom in the Cloud             *' >> /etc/ngircd/motd
3199
   echo '*               Freedom in the Cloud             *' >> /etc/ngircd/motd
3194
   echo '**************************************************' >> /etc/ngircd/motd
3200
   echo '**************************************************' >> /etc/ngircd/motd
3195
   sed -i 's|MotdFile = /etc/ngircd/ngircd.motd|MotdFile = /etc/ngircd/motd|g' /etc/ngircd/ngircd.conf
3201
   sed -i 's|MotdFile = /etc/ngircd/ngircd.motd|MotdFile = /etc/ngircd/motd|g' /etc/ngircd/ngircd.conf
3196
-  sed -i "s/irc@irc.example.com/$MY_USERNAME@$DOMAIN_NAME/g" /etc/ngircd/ngircd.conf
3202
+  sed -i "s/irc@irc.example.com/$MY_EMAIL_ADDRESS/g" /etc/ngircd/ngircd.conf
3197
   sed -i "s/irc.example.net/$DOMAIN_NAME/g" /etc/ngircd/ngircd.conf
3203
   sed -i "s/irc.example.net/$DOMAIN_NAME/g" /etc/ngircd/ngircd.conf
3198
   sed -i "s|Yet another IRC Server running on Debian GNU/Linux|IRC Server of $DOMAIN_NAME|g" /etc/ngircd/ngircd.conf
3204
   sed -i "s|Yet another IRC Server running on Debian GNU/Linux|IRC Server of $DOMAIN_NAME|g" /etc/ngircd/ngircd.conf
3199
   sed -i 's/;Password = wealllikedebian/Password =/g' /etc/ngircd/ngircd.conf
3205
   sed -i 's/;Password = wealllikedebian/Password =/g' /etc/ngircd/ngircd.conf
3627
       # daily
3633
       # daily
3628
       echo '#!/bin/sh' > /usr/bin/backupdatabases
3634
       echo '#!/bin/sh' > /usr/bin/backupdatabases
3629
       echo '' >> /usr/bin/backupdatabases
3635
       echo '' >> /usr/bin/backupdatabases
3630
-      echo "EMAIL='$MY_USERNAME@$DOMAIN_NAME'" >> /usr/bin/backupdatabases
3636
+      echo "EMAIL='$MY_EMAIL_ADDRESS'" >> /usr/bin/backupdatabases
3631
       echo '' >> /usr/bin/backupdatabases
3637
       echo '' >> /usr/bin/backupdatabases
3632
       echo "MYSQL_PASSWORD='$MARIADB_PASSWORD'" >> /usr/bin/backupdatabases
3638
       echo "MYSQL_PASSWORD='$MARIADB_PASSWORD'" >> /usr/bin/backupdatabases
3633
       echo 'umask 0077' >> /usr/bin/backupdatabases
3639
       echo 'umask 0077' >> /usr/bin/backupdatabases
3669
   echo '#!/bin/bash' > /usr/bin/repairdatabase
3675
   echo '#!/bin/bash' > /usr/bin/repairdatabase
3670
   echo '' >> /usr/bin/repairdatabase
3676
   echo '' >> /usr/bin/repairdatabase
3671
   echo 'DATABASE=$1' >> /usr/bin/repairdatabase
3677
   echo 'DATABASE=$1' >> /usr/bin/repairdatabase
3672
-  echo "EMAIL=$MY_USERNAME@$DOMAIN_NAME" >> /usr/bin/repairdatabase
3678
+  echo "EMAIL=$MY_EMAIL_ADDRESS" >> /usr/bin/repairdatabase
3673
   echo '' >> /usr/bin/repairdatabase
3679
   echo '' >> /usr/bin/repairdatabase
3674
   echo "MYSQL_ROOT_PASSWORD='$MARIADB_PASSWORD'" >> /usr/bin/repairdatabase
3680
   echo "MYSQL_ROOT_PASSWORD='$MARIADB_PASSWORD'" >> /usr/bin/repairdatabase
3675
   echo 'TEMPFILE=/root/repairdatabase_$DATABASE' >> /usr/bin/repairdatabase
3681
   echo 'TEMPFILE=/root/repairdatabase_$DATABASE' >> /usr/bin/repairdatabase
4445
   ln -s /etc/uwsgi/apps-available/mg.yaml /etc/uwsgi/apps-enabled/
4451
   ln -s /etc/uwsgi/apps-available/mg.yaml /etc/uwsgi/apps-enabled/
4446
 
4452
 
4447
   # change settings
4453
   # change settings
4448
-  sed -i "s/notice@mediagoblin.example.org/$MY_USERNAME@$DOMAIN_NAME/g" $MEDIAGOBLIN_PATH/mediagoblin_local.ini
4454
+  sed -i "s/notice@mediagoblin.example.org/$MY_EMAIL_ADDRESS/g" $MEDIAGOBLIN_PATH/mediagoblin_local.ini
4449
   sed -i 's/email_debug_mode = true/email_debug_mode = false/g' $MEDIAGOBLIN_PATH/mediagoblin_local.ini
4455
   sed -i 's/email_debug_mode = true/email_debug_mode = false/g' $MEDIAGOBLIN_PATH/mediagoblin_local.ini
4450
   sed -i 's|# sql_engine = postgresql:///mediagoblin|sql_engine = postgresql:///mediagoblin|g' $MEDIAGOBLIN_PATH/mediagoblin_local.ini
4456
   sed -i 's|# sql_engine = postgresql:///mediagoblin|sql_engine = postgresql:///mediagoblin|g' $MEDIAGOBLIN_PATH/mediagoblin_local.ini
4451
 
4457