-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathshopker_install.sh
executable file
·110 lines (89 loc) · 2.92 KB
/
shopker_install.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
#!/bin/bash
DIR="$(pwd)"
DOMAIN_NAME="shopker.localhost"
DOWNLOAD_URL=""
DOWNLOAD_FILENAME="shopker-latest.zip"
OWNER_USER="www-data"
OWNER_GROUP="www-data"
LOG_FILE_PATH="$DIR""/install-shopker.log"
GREEN="\e[32m"
RED="\e[31m"
GRAY="\e[2m"
BLUE="\e[94m\e[1m"
NC="\e[0m"
if [ "$1" == "-h" ]; then
echo -e "$NC"
echo -e "${BLUE}Использование: ./$(basename "$0") \"{DOWNLOAD_URL}\" \"{DOMAIN_NAME}\""
echo -e "$NC"
exit 0
fi
if [ -n "$1" ]; then
DOWNLOAD_URL="$1"
fi
if [ -z "$DOWNLOAD_URL" ]; then
echo -e "$NC"
echo -e "Укажите URL для скачивания архива с файлами приложения. \"./$(basename "$0") -h\" - для справки"
echo -e "$NC"
exit 0
fi
if [ -n "$2" ]; then
DOMAIN_NAME="$2"
DIR="/var/www/""$DOMAIN_NAME"
fi
echo ""
echo -e "${BLUE}=== УСТАНОВКА SHOPKER ==="
echo -e "$NC"
read -n1 -r -p "Нажмите клавишу ENTER для продолжения..." key
echo ""
if [ "$key" = '' ]; then
if [ ! -d "$DIR" ]; then
mkdir "$DIR"
fi
echo -e "${GRAY}...Скачивание архива..."
echo -e "$NC"
if [ ! -f "$DIR"/"$DOWNLOAD_FILENAME" ]; then
if wget -O "$DOWNLOAD_FILENAME" "$DOWNLOAD_URL" >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH"; then
echo -e "${GREEN}Скачивание прошло успешно!"
echo -e "$NC"
else
echo -e "${RED}ERROR: Невозможно скачать файл."
echo -e "$NC"
exit 1
fi
else
echo -e "${GREEN}Файл уже загружен. Следующий шаг..."
echo -e "$NC"
fi
echo -e "${GRAY}...Установка UNZIP..."
echo -e "$NC"
UNZIP_PATH=$(command -v unzip)
if [ ! -f "$UNZIP_PATH" ]; then
apt install -y unzip >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH";
echo -e "${GREEN}Готово."
echo -e "$NC"
else
echo -e "${GREEN}UNZIP уже установлен. Следующий шаг..."
echo -e "$NC"
fi
echo -e "${GRAY}...Распаковка архива..."
echo -e "$NC"
if unzip "$DOWNLOAD_FILENAME" -d "$DIR" >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH"; then
echo -e "${GREEN}Распаковка прошла успешно!"
echo -e "$NC"
else
echo -e "${RED}ОШИБКА: Невозможно распаковать архив."
echo -e "$NC"
exit 1
fi
echo -e "${GRAY}...Настройка прав доступа..."
echo -e "$NC"
chown -R "$OWNER_USER":"$OWNER_GROUP" "$DIR"
find "$DIR" -type d -exec chmod 755 {} \;
find "$DIR" -type f -exec chmod 644 {} \;
echo -e "${GREEN}Теперь Вы можете открыть сайт в браузере и продолжить установку."
echo -e "$NC"
else
echo ""
echo -e "${RED}ОТМЕНЕНО"
echo -e "$NC"
fi