--- /dev/null
+#!/bin/sh
+set -e
+. ./misc.sh
+
+expect_n_args 2 "(hostname, FQDN)" "$@"
+hostname="$1"
+fqdn="$2"
+shift 2
+
+cd "${setup_scripts_dir}"
+
+# Adapt /etc/ to our needs by copying from ./etc_files. This will set
+# basic configurations affecting following steps, such as setup of APT
+# and the locale selection, so needs to be right at the beginning.
+./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" all "$@"
+
+# Set hostname and FQDN.
+./set_hostname_and_fqdn.sh "${hostname}" "${fqdn}"
+
+# Ensure package installation state as defined by what packages are
+# defined as required by Debian policy and by settings in ./apt-mark/.
+apt update
+./install_for_target.sh all "$@"
+./purge_nonrequireds.sh all "$@"
+
+# Ensure our desired locale is available.
+locale-gen
+
+# Only upgrade after reducing the system to the desired minimum, so that
+# we don't need to get more data than necessary.
+apt -y dist-upgrade
+
+# Set Berlin localtime.
+ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
+++ /dev/null
-#!/bin/sh
-set -e
-. ./misc.sh
-
-expect_n_args 2 "(hostname, FQDN)" "$@"
-hostname="$1"
-fqdn="$2"
-shift 2
-
-cd "${setup_scripts_dir}"
-
-# Adapt /etc/ to our needs by copying from ./etc_files. This will set
-# basic configurations affecting following steps, such as setup of APT
-# and the locale selection, so needs to be right at the beginning.
-./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" all "$@"
-
-# Set hostname and FQDN.
-./set_hostname_and_fqdn.sh "${hostname}" "${fqdn}"
-
-# Ensure package installation state as defined by what packages are
-# defined as required by Debian policy and by settings in ./apt-mark/.
-apt update
-./install_for_target.sh all "$@"
-./purge_nonrequireds.sh all "$@"
-
-# Ensure our desired locale is available.
-locale-gen
-
-# Only upgrade after reducing the system to the desired minimum, so that
-# we don't need to get more data than necessary.
-apt -y dist-upgrade
-
-# Set Berlin localtime.
-ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
# Set up system without user environment.
cd "${setup_scripts_dir}"
-./setup.sh "${system_name}" "" user desktop thinkpad "${system_name}"
+./_setup.sh "${system_name}" "" user desktop thinkpad "${system_name}"
# Set up printer.
ppd_deb="hll2350dwpdrv-4.0.0-1.i386.deb"
fqdn="$2"
additional_arg="$3"
+# Set up basic server system.
+cd "${setup_scripts_dir}"
+./_setup.sh "${hostname}" "${fqdn}" server "$@"
+
# If we have not yet set the shell for user plom, ensure it here. This
# is mostly for convenience.
usermod -s /bin/bash plom
# Enable firewall.
systemctl enable nftables.service
+
+touch "$HOME/setup_server_has_been_run"
expect_n_args 1 "(domain name)" "$@"
domain="$1"
+if [ ! -f "$HOME/setup_server_has_been_run" ]; then
+ echo "First need to run setup_server.sh."
+ false
+fi
+
# Install configs, set up firewall.
./install_for_target.sh web static_websites
./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" web static_websites