-
Notifications
You must be signed in to change notification settings - Fork 0
/
Start-Script.sh
123 lines (108 loc) · 2.94 KB
/
Start-Script.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#green Message
function greenMessage {
echo -e "\\033[32;1m${@}\033[0m"
}
#red Message
function redMessage {
echo -e "\\033[31;1m${@}\033[0m"
}
#okAndSleep
function okAndSleep {
sleep 1
}
#errorAndContinue
function errorAndContinue {
redMessage "Invalid option."
continue
}
#CheckInstall
function checkInstall {
if [ "`dpkg-query -s $1 2>/dev/null`" == "" ]; then
okAndSleep
#apt-get install -y $1
INSTALLED=false
else
INSTALLED=true
fi
}
#Root Passwort
greenMessage "Soll ein neues Root Passwort gesetzt werden oder der Root Account aktiviert werden?"
OPTIONS=("Ja" "Nein")
select ROOT in "${OPTIONS[@]}"; do
case "$REPLY" in
1|2 ) break;;
*) errorAndContinue;;
esac
done
if [ "$ROOT" == "Ja" ]; then
greenMessage "Bitte setzten sie ein neues Passwort für den Root Account."
passwd root
fi
#Update durchführen
greenMessage "Sollen Linux Updates Installiert werden?"
OPTIONS=("Ja" "Nein")
select UPDATE in "${OPTIONS[@]}"; do
case "$REPLY" in
1|2 ) break;;
*) errorAndContinue;;
esac
done
if [ "$UPDATE" == "Ja" ]; then
greenMessage "Updates werden Installiert"
apt -y update
apt -y upgrade
fi
#FTP-Server installation
greenMessage "Soll ein FTP-Server installiert werden?"
OPTIONS=("Ja" "Nein")
select FTP in "${OPTIONS[@]}"; do
case "$REPLY" in
1|2 ) break;;
*) errorAndContinue;;
esac
done
if [ "$FTP" == "Ja" ]; then
checkInstall vsftpd
if [ "$INSTALLED" == false ]; then
INSTALLED=true
greenMessage "Der FTP-Server wird installiert."
sleep 2
apt-get install --yes vsftpd
fi
fi
#SSH-Server installieren
greenMessage "Soll ein SSH-Server installiert werden?"
OPTIONS=("Ja" "Nein")
select SSH in "${OPTIONS[@]}"; do
case "$REPLY" in
1|2 ) break;;
*) errorAndContinue;;
esac
done
if [ "$SSH" == "Ja" ]; then
checkInstall openssh-server
if [ "$INSTALLED" == false ]; then
INSTALLED=true
greenMessage "Der SSH-Server wird installiert."
sleep 2
apt-get install --yes openssh-server
fi
fi
#LAMP-Server installieren
greenMessage "Soll ein LAMP-Server (Apache2 Webserver mit PHP 7.0 und Mysql) installiert werden?"
OPTIONS=("Ja" "Nein")
select LAMP in "${OPTIONS[@]}"; do
case "$REPLY" in
1|2 ) break;;
*) errorAndContinue;;
esac
done
if [ "$LAMP" == "Ja" ]; then
checkInstall apache2
if [ "$INSTALLED" == false ]; then
INSTALLED=true
greenMessage "Der LAMP-Server wird installiert."
sleep 2
apt-get install --yes apache2 libapache2-mod-php7.0 php7.0 php7.0-mysql mysql-server
fi
fi