summaryrefslogtreecommitdiffstats
path: root/.github/prepare_debian.sh
diff options
context:
space:
mode:
Diffstat (limited to '.github/prepare_debian.sh')
-rwxr-xr-x.github/prepare_debian.sh99
1 files changed, 99 insertions, 0 deletions
diff --git a/.github/prepare_debian.sh b/.github/prepare_debian.sh
new file mode 100755
index 0000000..4005320
--- /dev/null
+++ b/.github/prepare_debian.sh
@@ -0,0 +1,99 @@
1#!/bin/bash
2
3set -x
4set -e
5
6export DEBIAN_FRONTEND=noninteractive
7
8apt-get update
9apt-get -y install software-properties-common
10if [ $(lsb_release -is) = "Debian" ]; then
11 apt-add-repository non-free
12 apt-get update
13fi
14apt-get -y install perl autotools-dev libdbi-dev libldap2-dev libpq-dev libradcli-dev libnet-snmp-perl procps
15apt-get -y install libdbi0-dev libdbd-sqlite3 libssl-dev dnsutils snmp-mibs-downloader libsnmp-perl snmpd
16apt-get -y install fping snmp netcat smbclient vsftpd apache2 ssl-cert postfix libhttp-daemon-ssl-perl
17apt-get -y install libdbd-sybase-perl libnet-dns-perl
18apt-get -y install slapd ldap-utils
19apt-get -y install gcc make autoconf automake gettext
20apt-get -y install faketime
21apt-get -y install libmonitoring-plugin-perl
22apt-get -y install libcurl4-openssl-dev
23apt-get -y install liburiparser-dev
24apt-get -y install squid
25apt-get -y install openssh-server
26apt-get -y install mariadb-server mariadb-client libmariadb-dev
27apt-get -y install cron iputils-ping
28apt-get -y install iproute2
29
30# remove ipv6 interface from hosts
31if [ $(ip addr show | grep "inet6 ::1" | wc -l) -eq "0" ]; then
32 sed '/^::1/d' /etc/hosts > /tmp/hosts
33 cp -f /tmp/hosts /etc/hosts
34fi
35
36ip addr show
37
38cat /etc/hosts
39
40
41# apache
42a2enmod ssl
43a2ensite default-ssl
44make-ssl-cert generate-default-snakeoil --force-overwrite
45service apache2 start
46
47# squid
48cp tools/squid.conf /etc/squid/squid.conf
49service squid start
50
51# mariadb
52service mariadb start
53mysql -e "create database IF NOT EXISTS test;" -uroot
54
55# ldap
56sed -e 's/cn=admin,dc=nodomain/'$(/usr/sbin/slapcat|grep ^dn:|awk '{print $2}')'/' -i .github/NPTest.cache
57service slapd start
58
59# sshd
60ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
61cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
62service ssh start
63sleep 1
64ssh-keyscan localhost >> ~/.ssh/known_hosts
65touch ~/.ssh/config
66
67# start one login session, required for check_users
68( ssh -n -tt root@localhost "top" < /dev/null >/dev/null 2>&1 & )
69sleep 1
70who
71ssh root@localhost "top -b -n 1"
72
73# snmpd
74for DIR in /usr/share/snmp/mibs /usr/share/mibs; do
75 rm -f $DIR/ietf/SNMPv2-PDU \
76 $DIR/ietf/IPSEC-SPD-MIB \
77 $DIR/ietf/IPATM-IPMC-MIB \
78 $DIR/iana/IANA-IPPM-METRICS-REGISTRY-MIB
79done
80mkdir -p /var/lib/snmp/mib_indexes
81sed -e 's/^agentaddress.*/agentaddress 127.0.0.1/' -i /etc/snmp/snmpd.conf
82service snmpd start
83
84# start cron, will be used by check_nagios
85cron
86
87# start postfix
88service postfix start
89
90# start ftpd
91service vsftpd start
92
93# hostname
94sed "/NP_HOST_TLS_CERT/s/.*/'NP_HOST_TLS_CERT' => '$(hostname)',/" -i /src/.github/NPTest.cache
95
96# create some test files to lower inodes
97for i in $(seq 10); do
98 touch /media/ramdisk2/test.$1
99done