|
@@ -54,7 +54,7 @@ VARIANT_SOCIAL="social"
|
54
|
54
|
VARIANT_MEDIA="media"
|
55
|
55
|
VARIANT_TOR_DONGLE="tordongle"
|
56
|
56
|
|
57
|
|
-DOMAIN_NAME=
|
|
57
|
+DEFAULT_DOMAIN_NAME=
|
58
|
58
|
MY_USERNAME=
|
59
|
59
|
SYSTEM_TYPE=$VARIANT_FULL
|
60
|
60
|
|
|
@@ -241,10 +241,10 @@ XMPP_CIPHERS='"EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+
|
241
|
241
|
XMPP_ECC_CURVE='"secp384r1"'
|
242
|
242
|
|
243
|
243
|
# the default email address
|
244
|
|
-MY_EMAIL_ADDRESS=$MY_USERNAME@$DOMAIN_NAME
|
|
244
|
+MY_EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
|
245
|
245
|
|
246
|
246
|
# optionally specify your name to appear on the blog
|
247
|
|
-MY_NAME=$DOMAIN_NAME
|
|
247
|
+MY_NAME=$DEFAULT_DOMAIN_NAME
|
248
|
248
|
|
249
|
249
|
export DEBIAN_FRONTEND=noninteractive
|
250
|
250
|
|
|
@@ -512,7 +512,7 @@ else
|
512
|
512
|
# default domain name
|
513
|
513
|
-d|--domain)
|
514
|
514
|
shift
|
515
|
|
- DOMAIN_NAME="$1"
|
|
515
|
+ DEFAULT_DOMAIN_NAME="$1"
|
516
|
516
|
;;
|
517
|
517
|
# The type of system
|
518
|
518
|
-s|--system)
|
|
@@ -632,7 +632,7 @@ function parse_args {
|
632
|
632
|
echo "There is no user '$MY_USERNAME' on the system. Use 'adduser $MY_USERNAME' to create the user."
|
633
|
633
|
exit 1
|
634
|
634
|
fi
|
635
|
|
- if [ ! "$DOMAIN_NAME" ]; then
|
|
635
|
+ if [ ! "$DEFAULT_DOMAIN_NAME" ]; then
|
636
|
636
|
echo 'No default domain specified'
|
637
|
637
|
show_help
|
638
|
638
|
exit 2
|
|
@@ -706,7 +706,11 @@ function read_configuration {
|
706
|
706
|
MY_USERNAME=$(grep "MY_USERNAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
707
|
707
|
fi
|
708
|
708
|
if grep -q "DOMAIN_NAME" $CONFIGURATION_FILE; then
|
709
|
|
- DOMAIN_NAME=$(grep "DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
709
|
+ # for backwards compatability
|
|
710
|
+ DEFAULT_DOMAIN_NAME=$(grep "DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
711
|
+ fi
|
|
712
|
+ if grep -q "DEFAULT_DOMAIN_NAME" $CONFIGURATION_FILE; then
|
|
713
|
+ DEFAULT_DOMAIN_NAME=$(grep "DEFAULT_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
710
|
714
|
fi
|
711
|
715
|
if grep -q "NAMESERVER1" $CONFIGURATION_FILE; then
|
712
|
716
|
NAMESERVER1=$(grep "NAMESERVER1" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
@@ -4269,10 +4273,10 @@ function set_your_domain_name {
|
4269
|
4273
|
if grep -Fxq "set_your_domain_name" $COMPLETION_FILE; then
|
4270
|
4274
|
return
|
4271
|
4275
|
fi
|
4272
|
|
- echo "$DOMAIN_NAME" > /etc/hostname
|
4273
|
|
- hostname $DOMAIN_NAME
|
4274
|
|
- sed -i "s/127.0.1.1 arm/127.0.1.1 $DOMAIN_NAME/g" /etc/hosts
|
4275
|
|
- echo "127.0.1.1 $DOMAIN_NAME" >> /etc/hosts
|
|
4276
|
+ echo "$DEFAULT_DOMAIN_NAME" > /etc/hostname
|
|
4277
|
+ hostname $DEFAULT_DOMAIN_NAME
|
|
4278
|
+ sed -i "s/127.0.1.1 arm/127.0.1.1 $DEFAULT_DOMAIN_NAME/g" /etc/hosts
|
|
4279
|
+ echo "127.0.1.1 $DEFAULT_DOMAIN_NAME" >> /etc/hosts
|
4276
|
4280
|
echo 'set_your_domain_name' >> $COMPLETION_FILE
|
4277
|
4281
|
}
|
4278
|
4282
|
|
|
@@ -4727,7 +4731,7 @@ function configure_email {
|
4727
|
4731
|
sed -i 's|pam_mail.so nopen|pam_mail.so dir=~/Maildir nopen|g' /etc/pam.d/su
|
4728
|
4732
|
|
4729
|
4733
|
echo 'dc_eximconfig_configtype="internet"' > /etc/exim4/update-exim4.conf.conf
|
4730
|
|
- echo "dc_other_hostnames='$DOMAIN_NAME'" >> /etc/exim4/update-exim4.conf.conf
|
|
4734
|
+ echo "dc_other_hostnames='$DEFAULT_DOMAIN_NAME'" >> /etc/exim4/update-exim4.conf.conf
|
4731
|
4735
|
echo "dc_local_interfaces=''" >> /etc/exim4/update-exim4.conf.conf
|
4732
|
4736
|
echo "dc_readhost=''" >> /etc/exim4/update-exim4.conf.conf
|
4733
|
4737
|
echo "dc_relay_domains=''" >> /etc/exim4/update-exim4.conf.conf
|
|
@@ -4755,7 +4759,7 @@ function configure_email {
|
4755
|
4759
|
chmod 640 /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
|
4756
|
4760
|
|
4757
|
4761
|
sed -i '/login_saslauthd_server/,/.endif/ s/# *//' /etc/exim4/exim4.conf.template
|
4758
|
|
- sed -i "/.ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME/i\MAIN_HARDCODE_PRIMARY_HOSTNAME = $DOMAIN_NAME\nMAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template
|
|
4762
|
+ sed -i "/.ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME/i\MAIN_HARDCODE_PRIMARY_HOSTNAME = $DEFAULT_DOMAIN_NAME\nMAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template
|
4759
|
4763
|
sed -i "s|SMTPLISTENEROPTIONS=''|SMTPLISTENEROPTIONS='-oX 465:25:587 -oP /var/run/exim4/exim.pid'|g" /etc/default/exim4
|
4760
|
4764
|
if ! grep -q "tls_on_connect_ports=465" /etc/exim4/exim4.conf.template; then
|
4761
|
4765
|
sed -i '/SSL configuration for exim/i\tls_on_connect_ports=465' /etc/exim4/exim4.conf.template
|
|
@@ -5536,7 +5540,7 @@ function create_public_mailing_list {
|
5536
|
5540
|
fi
|
5537
|
5541
|
# does the mailing list have a separate domain name?
|
5538
|
5542
|
if [ ! $PUBLIC_MAILING_LIST_DOMAIN_NAME ]; then
|
5539
|
|
- PUBLIC_MAILING_LIST_DOMAIN_NAME=$DOMAIN_NAME
|
|
5543
|
+ PUBLIC_MAILING_LIST_DOMAIN_NAME=$DEFAULT_DOMAIN_NAME
|
5540
|
5544
|
fi
|
5541
|
5545
|
|
5542
|
5546
|
PUBLIC_MAILING_LIST_USER="mlmmj"
|
|
@@ -5612,7 +5616,7 @@ function create_public_mailing_list {
|
5612
|
5616
|
echo 'Public mailing list' >> /home/$MY_USERNAME/README
|
5613
|
5617
|
echo '===================' >> /home/$MY_USERNAME/README
|
5614
|
5618
|
echo "To subscribe to the $PUBLIC_MAILING_LIST mailing list send a" >> /home/$MY_USERNAME/README
|
5615
|
|
- echo "cleartext email to $PUBLIC_MAILING_LIST+subscribe@$DOMAIN_NAME" >> /home/$MY_USERNAME/README
|
|
5619
|
+ echo "cleartext email to $PUBLIC_MAILING_LIST+subscribe@$DEFAULT_DOMAIN_NAME" >> /home/$MY_USERNAME/README
|
5616
|
5620
|
fi
|
5617
|
5621
|
|
5618
|
5622
|
addmailinglist $MY_USERNAME "$PUBLIC_MAILING_LIST" "$PUBLIC_MAILING_LIST"
|
|
@@ -5651,8 +5655,8 @@ function create_private_mailing_list {
|
5651
|
5655
|
ln -s /var/lib/gems/2.1.0/gems/schleuder-2.2.4 /var/lib/schleuder
|
5652
|
5656
|
sed -i 's/#smtp_port: 25/smtp_port: 465/g' /etc/schleuder/schleuder.conf
|
5653
|
5657
|
sed -i 's/#superadminaddr: root@localhost/superadminaddr: root@localhost' /etc/schleuder/schleuder.conf
|
5654
|
|
- 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
|
5655
|
|
- addemailtofolder $MY_USERNAME $PRIVATE_MAILING_LIST@$DOMAIN_NAME $PRIVATE_MAILING_LIST
|
|
5658
|
+ 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
|
|
5659
|
+ addemailtofolder $MY_USERNAME $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME $PRIVATE_MAILING_LIST
|
5656
|
5660
|
|
5657
|
5661
|
echo 'schleuder:' > /etc/exim4/conf.d/router/550_exim4-config_schleuder
|
5658
|
5662
|
echo ' debug_print = "R: schleuder for $local_part@$domain"' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
|
|
@@ -5677,7 +5681,7 @@ function create_private_mailing_list {
|
5677
|
5681
|
useradd -d /var/schleuderlists -s /bin/false schleuder
|
5678
|
5682
|
adduser Debian-exim schleuder
|
5679
|
5683
|
usermod -a -G mail schleuder
|
5680
|
|
- #exim -d -bt $PRIVATE_MAILING_LIST@$DOMAIN_NAME
|
|
5684
|
+ #exim -d -bt $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME
|
5681
|
5685
|
echo 'create_private_mailing_list' >> $COMPLETION_FILE
|
5682
|
5686
|
}
|
5683
|
5687
|
|
|
@@ -6093,11 +6097,10 @@ function install_owncloud {
|
6093
|
6097
|
fi
|
6094
|
6098
|
# if this is exclusively a cloud setup
|
6095
|
6099
|
if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
|
6096
|
|
- if [ ! $DOMAIN_NAME ]; then
|
|
6100
|
+ if [ ! $DEFAULT_DOMAIN_NAME ]; then
|
6097
|
6101
|
echo 'No default domain name when installing cloud variant'
|
6098
|
6102
|
exit 5380
|
6099
|
6103
|
fi
|
6100
|
|
- OWNCLOUD_DOMAIN_NAME=$DOMAIN_NAME
|
6101
|
6104
|
fi
|
6102
|
6105
|
if [ ! $OWNCLOUD_DOMAIN_NAME ]; then
|
6103
|
6106
|
echo 'No Owncloud domain name was specified'
|
|
@@ -6359,7 +6362,7 @@ function install_xmpp {
|
6359
|
6362
|
sed -i "/certificate =/a\ curve = $XMPP_ECC_CURVE;" /etc/prosody/conf.avail/xmpp.cfg.lua
|
6360
|
6363
|
fi
|
6361
|
6364
|
|
6362
|
|
- sed -i "s/example.com/$DOMAIN_NAME/g" /etc/prosody/conf.avail/xmpp.cfg.lua
|
|
6365
|
+ sed -i "s/example.com/$DEFAULT_DOMAIN_NAME/g" /etc/prosody/conf.avail/xmpp.cfg.lua
|
6363
|
6366
|
sed -i 's/enabled = false -- Remove this line to enable this host//g' /etc/prosody/conf.avail/xmpp.cfg.lua
|
6364
|
6367
|
|
6365
|
6368
|
if ! grep -q "modules_enabled" /etc/prosody/conf.avail/xmpp.cfg.lua; then
|
|
@@ -6405,14 +6408,14 @@ function install_xmpp {
|
6405
|
6408
|
sed -i 's/enabled = false -- Remove this line to enable this host//g' /etc/prosody/prosody.cfg.lua
|
6406
|
6409
|
sed -i 's|key = "/etc/prosody/certs/example.com.key"|key = "/etc/ssl/private/xmpp.key"|g' /etc/prosody/prosody.cfg.lua
|
6407
|
6410
|
sed -i 's|certificate = "/etc/prosody/certs/example.com.crt"|certificate = "/etc/ssl/certs/xmpp.crt"|g' /etc/prosody/prosody.cfg.lua
|
6408
|
|
- sed -i "s/example.com/$DOMAIN_NAME/g" /etc/prosody/prosody.cfg.lua
|
|
6411
|
+ sed -i "s/example.com/$DEFAULT_DOMAIN_NAME/g" /etc/prosody/prosody.cfg.lua
|
6409
|
6412
|
|
6410
|
6413
|
service prosody restart
|
6411
|
6414
|
touch /home/$MY_USERNAME/README
|
6412
|
6415
|
|
6413
|
6416
|
if ! grep -q "Your XMPP password is" /home/$MY_USERNAME/README; then
|
6414
|
6417
|
XMPP_PASSWORD=$(openssl rand -base64 8)
|
6415
|
|
- prosodyctl register $MY_USERNAME $DOMAIN_NAME $XMPP_PASSWORD
|
|
6418
|
+ prosodyctl register $MY_USERNAME $DEFAULT_DOMAIN_NAME $XMPP_PASSWORD
|
6416
|
6419
|
echo '' >> /home/$MY_USERNAME/README
|
6417
|
6420
|
echo '' >> /home/$MY_USERNAME/README
|
6418
|
6421
|
echo 'XMPP' >> /home/$MY_USERNAME/README
|
|
@@ -6469,8 +6472,8 @@ function install_irc_server {
|
6469
|
6472
|
echo '**************************************************' >> /etc/ngircd/motd
|
6470
|
6473
|
sed -i 's|MotdFile = /etc/ngircd/ngircd.motd|MotdFile = /etc/ngircd/motd|g' /etc/ngircd/ngircd.conf
|
6471
|
6474
|
sed -i "s/irc@irc.example.com/$MY_EMAIL_ADDRESS/g" /etc/ngircd/ngircd.conf
|
6472
|
|
- sed -i "s/irc.example.net/$DOMAIN_NAME/g" /etc/ngircd/ngircd.conf
|
6473
|
|
- sed -i "s|Yet another IRC Server running on Debian GNU/Linux|IRC Server of $DOMAIN_NAME|g" /etc/ngircd/ngircd.conf
|
|
6475
|
+ sed -i "s/irc.example.net/$DEFAULT_DOMAIN_NAME/g" /etc/ngircd/ngircd.conf
|
|
6476
|
+ sed -i "s|Yet another IRC Server running on Debian GNU/Linux|IRC Server of $DEFAULT_DOMAIN_NAME|g" /etc/ngircd/ngircd.conf
|
6474
|
6477
|
sed -i 's/;Password = wealllikedebian/Password =/g' /etc/ngircd/ngircd.conf
|
6475
|
6478
|
sed -i 's|;CertFile = /etc/ssl/certs/server.crt|CertFile = /etc/ssl/certs/ngircd.crt|g' /etc/ngircd/ngircd.conf
|
6476
|
6479
|
sed -i 's|;DHFile = /etc/ngircd/dhparams.pem|DHFile = /etc/ssl/certs/ngircd.dhparam|g' /etc/ngircd/ngircd.conf
|
|
@@ -6508,8 +6511,8 @@ function install_irc_server {
|
6508
|
6511
|
echo '==========' >> /home/$MY_USERNAME/README
|
6509
|
6512
|
echo 'To connect to your IRC server in irssi:' >> /home/$MY_USERNAME/README
|
6510
|
6513
|
echo '' >> /home/$MY_USERNAME/README
|
6511
|
|
- echo " /server add -auto -ssl $DOMAIN_NAME 6697" >> /home/$MY_USERNAME/README
|
6512
|
|
- echo " /connect $DOMAIN_NAME" >> /home/$MY_USERNAME/README
|
|
6514
|
+ echo " /server add -auto -ssl $DEFAULT_DOMAIN_NAME 6697" >> /home/$MY_USERNAME/README
|
|
6515
|
+ echo " /connect $DEFAULT_DOMAIN_NAME" >> /home/$MY_USERNAME/README
|
6513
|
6516
|
echo ' /join #freedombone' >> /home/$MY_USERNAME/README
|
6514
|
6517
|
fi
|
6515
|
6518
|
|
|
@@ -6531,10 +6534,6 @@ function install_wiki {
|
6531
|
6534
|
if grep -Fxq "install_wiki" $COMPLETION_FILE; then
|
6532
|
6535
|
return
|
6533
|
6536
|
fi
|
6534
|
|
- # if everything is being installed or if this is exclusively a writer setup
|
6535
|
|
- if [[ $SYSTEM_TYPE == "$VARIANT_FULL" || $SYSTEM_TYPE == "$VARIANT_WRITER" ]]; then
|
6536
|
|
- WIKI_DOMAIN_NAME=$DOMAIN_NAME
|
6537
|
|
- fi
|
6538
|
6537
|
if [ ! $WIKI_DOMAIN_NAME ]; then
|
6539
|
6538
|
return
|
6540
|
6539
|
fi
|
|
@@ -7302,10 +7301,6 @@ function install_redmatrix {
|
7302
|
7301
|
if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
|
7303
|
7302
|
return
|
7304
|
7303
|
fi
|
7305
|
|
- # if this is exclusively a social setup
|
7306
|
|
- if [[ $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
|
7307
|
|
- REDMATRIX_DOMAIN_NAME=$DOMAIN_NAME
|
7308
|
|
- fi
|
7309
|
7304
|
if [ ! $REDMATRIX_DOMAIN_NAME ]; then
|
7310
|
7305
|
return
|
7311
|
7306
|
fi
|
|
@@ -7662,10 +7657,6 @@ function install_mediagoblin {
|
7662
|
7657
|
if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_TOR_DONGLE" ]]; then
|
7663
|
7658
|
return
|
7664
|
7659
|
fi
|
7665
|
|
- # if this is exclusively a writer setup
|
7666
|
|
- if [[ $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
|
7667
|
|
- MEDIAGOBLIN_DOMAIN_NAME=$DOMAIN_NAME
|
7668
|
|
- fi
|
7669
|
7660
|
if [ ! $MEDIAGOBLIN_DOMAIN_NAME ]; then
|
7670
|
7661
|
return
|
7671
|
7662
|
fi
|
|
@@ -7909,7 +7900,7 @@ function intrusion_detection {
|
7909
|
7900
|
apt-get -y install tripwire
|
7910
|
7901
|
apt-get -y autoremove
|
7911
|
7902
|
cd /etc/tripwire
|
7912
|
|
- cp site.key $DOMAIN_NAME-site.key
|
|
7903
|
+ cp site.key $DEFAULT_DOMAIN_NAME-site.key
|
7913
|
7904
|
echo ''
|
7914
|
7905
|
echo ''
|
7915
|
7906
|
echo '*** Installing intrusion detection. Press Enter when asked for the local and site passphrases. ***'
|
|
@@ -8119,7 +8110,7 @@ function create_git_project {
|
8119
|
8110
|
echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
8120
|
8111
|
echo -n 'echo "Your project has been created, ' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
8121
|
8112
|
echo 'use the following command to clone the repository"' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
8122
|
|
- echo -n " git clone ssh://$MY_USERNAME@$DOMAIN_NAME:$SSH_PORT" >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
8113
|
+ echo -n " git clone ssh://$MY_USERNAME@$DEFAULT_DOMAIN_NAME:$SSH_PORT" >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
8123
|
8114
|
echo '/home/$USER/projects/$GIT_PROJECT_NAME' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
8124
|
8115
|
echo '' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
8125
|
8116
|
echo 'exit 0' >> /usr/bin/$CREATE_GIT_PROJECT_COMMAND
|
|
@@ -8380,7 +8371,7 @@ function install_voip {
|
8380
|
8371
|
exit 57893
|
8381
|
8372
|
fi
|
8382
|
8373
|
|
8383
|
|
- sed -i "s|welcometext=.*|welcometext=\"<br />Welcome to $DOMAIN_NAME <b>VoIP</b>.<br />Chat freely!<br />\"|g" /etc/mumble-server.ini
|
|
8374
|
+ sed -i "s|welcometext=.*|welcometext=\"<br />Welcome to $DEFAULT_DOMAIN_NAME <b>VoIP</b>.<br />Chat freely!<br />\"|g" /etc/mumble-server.ini
|
8384
|
8375
|
|
8385
|
8376
|
if [ $VOIP_SERVER_PASSWORD ]; then
|
8386
|
8377
|
sed -i "s|serverpassword=.*|serverpassword=$VOIP_SERVER_PASSWORD|g" /etc/mumble-server.ini
|