-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·134 lines (101 loc) · 6.76 KB
/
setup.sh
File metadata and controls
executable file
·134 lines (101 loc) · 6.76 KB
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
124
125
126
127
128
129
130
131
132
133
134
#!/bin/bash
DOCKER_COMPOSE_VERSION='v2.5.0'
RED='\033[0;31m'
YELLOW='\033[1;33m'
GREEN='\033[0;32m'
BLUE='\033[1;34m'
NC='\033[0m'
echo -e "${GREEN}"
echo " __ __ _ _____ _ "
echo " | \/ | | | | __ \| | "
echo " | \ / | ___ ___| |_| |__) | | __ _ _ __ "
echo " | |\/| |/ _ \/ _ \ __| ___/| |/ _\` | '_ \ "
echo " | | | | __/ __/ |_| | | | (_| | | | | "
echo " |_| |_|\___|\___|\__|_| |_|\__,_|_| |_| "
echo " "
echo -e "${NC}"
echo "Pozdravljeni in dobrodošli v namestitvenem orodju MeetPlan sistema."
echo "V tem orodju vas popeljemo čez namestitev MeetPlan sistema na vaš strežnik."
echo "To orodje je bilo narejeno, da bi čim bolj olajšali postopek namestitve."
echo ""
echo -e "${YELLOW}Možno je, da vas bo namestitev včasih vprašala za skrbniško geslo. Kadar vas vpraša, prosimo da ga vpišete.${NC}"
echo -e "${YELLOW}NE DELITE SKRBNIŠKEGA GESLA Z NIKOMER DRUGIM.${NC}"
echo ""
echo -e "Pritisnite ${BLUE}ENTER${NC}, če želite začeti z namestitvijo"
read
OS=`( lsb_release -ds || cat /etc/*release || uname -om ) 2>/dev/null | head -n1 | awk '{print $1}'`
echo -e "Zaznana distribucija Linux operacijskega sistema $YELLOW$OS$NC"
if [ $OS == Ubuntu ]; then
echo -e "${BLUE}Posodabljam apt repozitorije${NC}"
sudo apt update
echo -e "${BLUE}Nameščam potrebne pakete za namestitev MeetPlan sistema${NC}"
sudo apt install -y curl git software-properties-common openssl haveged sed
echo -e "${BLUE}Nameščam Docker repozitorij za ${YELLOW}Ubuntu${NC}"
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
echo -e "${BLUE}Posodabljam apt repozitorije${NC}"
sudo apt update
echo -e "${BLUE}Nameščam Docker za ${YELLOW}Ubuntu${NC}"
sudo apt install -y docker-ce
elif [ $OS == Debian ]; then
echo -e "${BLUE}Posodabljam apt repozitorije${NC}"
sudo apt update
echo -e "${BLUE}Nameščam potrebne pakete za namestitev MeetPlan sistema${NC}"
sudo apt install -y curl git software-properties-common openssl haveged sed apt-transport-https ca-certificates gnupg2
echo -e "${BLUE}Nameščam Docker repozitorij za ${YELLOW}Debian${NC}"
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
echo -e "${BLUE}Posodabljam apt repozitorije${NC}"
sudo apt update
echo -e "${BLUE}Nameščam Docker za ${YELLOW}Ubuntu${NC}"
sudo apt install -y docker-ce
else
echo "Nepodprta Linux distribucija. Orodje ne more avtomatično namestiti MeetPlan sistema na tej distribuciji."
exit 1
fi
# Splošni ukazi (velja za vse operacijske sisteme)
echo -e "${BLUE}Nameščam Docker Compose${NC}"
sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
echo -e "${BLUE}Dodeljujem izvršilno pravico za Docker Compose${NC}"
sudo chmod +x /usr/local/bin/docker-compose
echo -e "${BLUE}Docker verzija je ${YELLOW}$(docker --version)${BLUE}. docker-compose verzija je ${YELLOW}$(docker-compose --version)${NC}"
echo -e "${YELLOW}Prosimo, preverite če se vse ujema (izpisati bi se vam morala Docker in docker-compose verzija)${NC}"
echo -e "${YELLOW}Če se vam katera verzija ne izpiše, prekličite namestitev z ukazom ${BLUE}CTRL+C${NC}"
echo -e "${YELLOW}Če se vse ujema, nadljujte s pritiskom na gumb ${BLUE}ENTER${NC}"
read
echo -e "${YELLOW}V tem delu namestitve vas moramo vprašati za nekaj podatkov za pridobitev SSL certifikata od Let's Encrypt avtoritete${NC}"
echo -e "${YELLOW}Prosimo, da vpišete korektne podatke, saj drugače verjetno ne bo delovalo${NC}"
echo -e "${GREEN}Službeni (šolski) elektronski naslov: ${NC}"
read EMAIL
echo -e "${GREEN}Domena (oz. poddomena) na kateri se bo nahajal MeetPlan sistem: ${NC}"
read DOMAIN
echo -e "Če sta vaš elektronski naslov ${YELLOW}${EMAIL}${NC} in MeetPlan (pod)domena ${YELLOW}${DOMAIN}${NC} pravilno podana, kliknite ${BLUE}ENTER${NC}, drugače pa prekličite namestitveni postopek z ukazom ${BLUE}CTRL+C${NC}"
read
echo -e "${BLUE}Vgrajujem podatke v MeetPlan sistem${NC}"
sed -i "s/test@example.org/${EMAIL}/" initcert.sh
sed -i "s/-d example.org/-d ${DOMAIN}/" initcert.sh
sed -i "s/example.com www.example.com/${DOMAIN}/" default.conf.aftercert
echo -e "${BLUE}Dodeljujem izvršilne pravice za MeetPlan namestitvene datoteke${NC}"
chmod +x getdhparam.sh
chmod +x initcert.sh
chmod +x initschoolcert.sh
echo -e "${BLUE}Pridobivam DH parametre za SSL certifikat z uporabo OpenSSL programa${NC}"
echo -e "${YELLOW}To lahko traja nekaj časa, vmes ne preklicujte programa${NC}"
./getdhparam.sh
echo -e "${BLUE}Pridobivam samopodpisan certifikat za digitalni podpis šole z uporabo OpenSSL programa${NC}"
echo -e "${YELLOW}To lahko traja nekaj časa, vmes ne preklicujte programa${NC}"
./initschoolcert.sh
echo -e "${GREEN}Zdaj smo pripravljeni na pridobivanje SSL certifikata. Potrdite začetek z uporabo tipke ${BLUE}ENTER${NC}"
read
echo -e "${BLUE}Pridobivam SSL certifikat od Let's Encrypt avtoritete${NC}"
echo -e "${YELLOW}To lahko traja nekaj časa, vmes ne preklicujte programa${NC}"
./initcert.sh
echo -e "${RED}Naslednje, kar se bo zgodilo je, da bomo zagnali kontejnerje (MeetPlan sistem). Prosimo, počakajte nekaj časa, dokler se izpisi ne ustavijo, nakar pojdite na svojo domeno za MeetPlan in preverite, če vse deluje. Če vse deluje, pritisnite ${BLUE}CTRL+C${RED} enkrat, nakar se bi vam moral sistem zagnati v ozadju. V nasprotnem primeru, klikajte ${BLUE}CTRL+C${RED} dokler se program ne konča, nakar lahko prijavite napako."
echo -e "${YELLOW}Ali se je vse prejšnje (pridobivanje SSL certifikata) končalo brez napak? Če se je, samo nadaljujte s klikom na tipko ${BLUE}ENTER${YELLOW}, drugače pa poskusite znova zagnati namestitev (trenutno namestitev lahko prekličete z uporabo kombinacije tipk ${BLUE}CTRL+C${YELLOW}). Če se napaka ponavlja, lahko prijavite napako na ${BLUE}info@meetplan.si${YELLOW} ali pa na GitHub repozitorij ${BLUE}https://github.com/MeetPlan/MeetPlanDocker${YELLOW}. Prosimo vas, če v primeru prijave napake vključite vse, kar se vam je izpisalo od začetka tega programa.${NC}"
read
sudo docker-compose up
echo -e "${YELLOW}Zdaj bomo zagnali sistem v ozadju. Potrdite, da vse deluje s tipko ${BLUE}ENTER${NC}"
read
chmod +x prodrestart.sh
./prodrestart.sh
echo -e "${GREEN}MeetPlan sistem bi se v kratkem moral zagnati do konca. Želimo vam prijetno uporabo tega sistema, v primeru težav pa lahko kadarkoli kontaktirate MeetPlan ekipo na ${BLUE}info@meetplan.si${NC}"