11#! /bin/sh
2- getent group xdpderper > /dev/null || groupadd -r xdpderper
3- getent passwd xdpderper > /dev/null || useradd -r -g xdpderper -s /bin/bash -c " XDPDERP server" xdpderper
4- getent group derper > /dev/null || groupadd -r derper
5- getent passwd derper > /dev/null || useradd -r -g derper -s /bin/bash -c " DERP server" derper
62
7- mkdir /etc/derper
8- chown -R derper:derper /etc/derper
3+ # Detect the correct configuration directory
4+ if [ -f /etc/os-release ]; then
5+ . /etc/os-release
6+ case " $ID " in
7+ rhel|centos|fedora|rocky|almalinux)
8+ CONFIG_DIR=" /etc/sysconfig"
9+ ;;
10+ debian|ubuntu)
11+ CONFIG_DIR=" /etc/default"
12+ ;;
13+ * )
14+ echo " Unknown OS. Defaulting to /etc/default"
15+ CONFIG_DIR=" /etc/default"
16+ ;;
17+ esac
18+ else
19+ # Fallback if /etc/os-release is not available
20+ if [ -d /etc/sysconfig ]; then
21+ CONFIG_DIR=" /etc/sysconfig"
22+ else
23+ CONFIG_DIR=" /etc/default"
24+ fi
25+ fi
26+
27+ # Create necessary directories
28+ mkdir -p /etc/derper
29+ mkdir -p /var/cache/derper/certs
30+ mkdir -p /var/lib/derper
31+
32+ # Create a configuration file if it doesn't exist
33+ if [ ! -f " $CONFIG_DIR /derper" ]; then
34+ echo " # Configuration file for DERP server" > " $CONFIG_DIR /derper"
35+ echo " HOSTNAME=your-default-hostname.example.com" >> " $CONFIG_DIR /derper"
36+ echo " Configuration file created at $CONFIG_DIR /derper"
37+ else
38+ echo " Configuration file already exists at $CONFIG_DIR /derper"
39+ fi
40+
0 commit comments