@@ -11,18 +11,24 @@ if [ $(id -u) != 0 ] ; then
11
11
fi
12
12
13
13
apt_install () {
14
- apt-get -o Dpkg::Options::=" --force-confdef" -y install " $@ "
14
+ # quiet install but confirm correct installation
15
+ apt-get --quiet --option Dpkg::Options::=" --force-confdef" --yes install " $@ " > /dev/null
15
16
if [ $? -ne 0 ]; then
16
- echo " ${RED} Cannot install $@ - Cancelling${NORMAL} "
17
- exit 1
17
+ echo " ${RED} Cannot install $@ - Continue anyway...${NORMAL} "
18
+ else
19
+ echo " ${GREEN} $@ installed${NORMAL} "
18
20
fi
19
21
}
20
22
21
23
mariadb_sql () {
22
- echo " $@ " | mariadb -uroot
24
+ echo " $@ " | mariadb -u root
23
25
if [ $? -ne 0 ]; then
24
- echo " ${RED} Cannot execute $@ in MySQL - Cancelling${NORMAL} "
25
- exit 1
26
+ # try with sudo
27
+ echo " $@ " | sudo mariadb
28
+ if [ $? -ne 0 ]; then
29
+ echo " ${RED} Cannot execute $@ in MySQL - Cancelling${NORMAL} "
30
+ exit 1
31
+ fi
26
32
fi
27
33
}
28
34
@@ -52,42 +58,38 @@ step_1_upgrade() {
52
58
echo " ---------------------------------------------------------------------"
53
59
echo " ${YELLOW} Starting step 1 - install${NORMAL} "
54
60
55
- apt-get update
56
- apt-get -f install
57
- apt-get -y dist-upgrade
61
+ apt-get --quiet update
62
+ apt-get --quiet - f install
63
+ apt-get --quiet - y dist-upgrade
58
64
echo " ${GREEN} Step 1 - Install done ${NORMAL} "
59
65
}
60
66
61
67
step_2_mainpackage () {
62
68
echo " ---------------------------------------------------------------------"
63
69
echo " ${YELLOW} Starting step 2 - packages${NORMAL} "
64
- apt-get -y install software-properties-common
65
- apt-get update
70
+ apt_install software-properties-common
71
+ apt-get --quiet update
66
72
apt_install ntp ca-certificates unzip curl sudo cron
67
- apt-get -o Dpkg::Options::=" --force-confdef" -y install locate tar telnet wget logrotate dos2unix ntpdate htop iotop vim iftop smbclient
68
- apt-get -y install usermod
69
- apt-get -y install visudo
70
- apt-get -y install git python python-pip
71
- apt-get -y install python3 python3-pip
72
- apt-get -y install libexpat1 ssl-cert
73
- apt-get -y install apt-transport-https
74
- apt-get -y install xvfb cutycapt xauth
75
- apt-get -y install at
76
- apt-get -y install mariadb-client
77
- apt-get -y install libav-tools
78
- apt-get -y install espeak
79
- apt-get -y install mbrola
80
- apt-get -y install net-tools
81
- apt-get -y install nmap
82
- apt-get -y install ffmpeg
83
- apt-get -y install usbutils
84
- apt-get -y install gettext
85
- apt-get -y install libcurl3-gnutls
86
- apt-get -y install chromium
87
- apt-get -y install librsync-dev
88
- apt-get -y install ssl-cert
89
- apt-get -y remove brltty
90
- apt-get -y iputils-ping
73
+ apt_install locate tar telnet wget logrotate dos2unix ntpdate htop iotop vim iftop smbclient
74
+ apt_install git python3 python3-pip
75
+ apt_install libexpat1 ssl-cert
76
+ apt_install apt-transport-https
77
+ apt_install xvfb cutycapt xauth
78
+ apt_install at
79
+ apt_install mariadb-client
80
+ apt_install espeak
81
+ # apt_install mbrola # included in espeak
82
+ apt_install net-tools
83
+ apt_install nmap
84
+ apt_install ffmpeg
85
+ apt_install usbutils
86
+ apt_install gettext
87
+ apt_install libcurl3-gnutls
88
+ apt_install chromium
89
+ apt_install librsync-dev
90
+ apt_install ssl-cert
91
+ apt-get -qq -y remove brltty
92
+ apt_install iputils-ping
91
93
echo " ${GREEN} step 2 - packages done${NORMAL} "
92
94
}
93
95
@@ -124,28 +126,28 @@ step_5_php() {
124
126
echo " ---------------------------------------------------------------------"
125
127
echo " ${YELLOW} Starting step 5 - php${NORMAL} "
126
128
apt_install php libapache2-mod-php php-json php-mysql
127
- apt install -y php-curl
128
- apt install -y php-gd
129
- apt install -y php-imap
130
- apt install -y php-xml
131
- apt install -y php-opcache
132
- apt install -y php-soap
133
- apt install -y php-xmlrpc
134
- apt install -y php-common
135
- apt install -y php-dev
136
- apt install -y php-zip
137
- apt install -y php-ssh2
138
- apt install -y php-mbstring
139
- apt install -y php-ldap
140
- apt install -y php-yaml
141
- apt install -y php-snmp
129
+ apt_install php-curl
130
+ apt_install php-gd
131
+ apt_install php-imap
132
+ apt_install php-xml
133
+ apt_install php-opcache
134
+ apt_install php-soap
135
+ apt_install php-xmlrpc
136
+ apt_install php-common
137
+ apt_install php-dev
138
+ apt_install php-zip
139
+ apt_install php-ssh2
140
+ apt_install php-mbstring
141
+ apt_install php-ldap
142
+ apt_install php-yaml
143
+ apt_install php-snmp
142
144
echo " ${GREEN} Step 5 - php done${NORMAL} "
143
145
}
144
146
145
147
step_6_jeedom_download () {
146
148
echo " ---------------------------------------------------------------------"
147
149
echo " ${YELLOW} Starting step 6 - download Jeedom${NORMAL} "
148
- wget https://codeload.github.com/jeedom/core/zip/refs/heads/${VERSION} -O /tmp/jeedom.zip
150
+ wget --no-verbose https://codeload.github.com/jeedom/core/zip/refs/heads/${VERSION} -O /tmp/jeedom.zip
149
151
150
152
if [ $? -ne 0 ]; then
151
153
echo " ${YELLOW} Cannot download Jeedom from Github. Use deployment version if exist.${NORMAL} "
@@ -157,20 +159,19 @@ step_6_jeedom_download() {
157
159
echo " ${RED} Cannot get jeedom.zip archive - Cancelling${NORMAL} "
158
160
exit 1
159
161
fi
160
- mkdir -p ${WEBSERVER_HOME}
161
- find ${WEBSERVER_HOME} ! -name ' index.html' -type f -exec rm -rf {} +
162
162
rm -rf /root/core-*
163
+ # unzip into /root/core-${VERSION}
163
164
unzip -q /tmp/jeedom.zip -d /root/
164
165
if [ $? -ne 0 ]; then
165
166
echo " ${RED} Cannot unpack archive - Cancelling${NORMAL} "
166
167
exit 1
167
168
fi
168
- cp -R /root/core-* /* ${WEBSERVER_HOME}
169
- cp -R /root/core-* /.[^.]* ${WEBSERVER_HOME}
170
- cp /root/core/.htaccess ${WEBSERVER_HOME} /.htaccess
169
+ rm -rf ${WEBSERVER_HOME} && mkdir -p ${WEBSERVER_HOME}
170
+ cd .
171
+ mv -v -T /root/core-${VERSION} ${WEBSERVER_HOME}
172
+ # force timestamp to now for all files:
171
173
find ${WEBSERVER_HOME} / -exec touch {} +
172
174
rm -rf /root/core-* > /dev/null 2>&1
173
- rm -rf ${WEBSERVER_HOME} /core-* > /dev/null 2>&1
174
175
rm /tmp/jeedom.zip
175
176
echo " ${GREEN} Step 6 - download Jeedom done${NORMAL} "
176
177
}
@@ -184,7 +185,7 @@ step_7_jeedom_customization_mariadb() {
184
185
echo ' Restart=always' >> /lib/systemd/system/mariadb.service.d/override.conf
185
186
echo ' RestartSec=10' >> /lib/systemd/system/mariadb.service.d/override.conf
186
187
187
- # do not start oany new service during docker build sequence
188
+ # do not start any new service during docker build sequence
188
189
if [ " ${INSTALLATION_TYPE} " != " docker" ]; then
189
190
systemctl daemon-reload
190
191
@@ -242,6 +243,7 @@ step_7_jeedom_customization_mariadb() {
242
243
243
244
step_8_jeedom_customization () {
244
245
echo " ---------------------------------------------------------------------"
246
+ cd .
245
247
echo " ${YELLOW} Starting step 8 - Jeedom customization${NORMAL} "
246
248
cp ${WEBSERVER_HOME} /install/apache_security /etc/apache2/conf-available/security.conf
247
249
sed -i -e " s%WEBSERVER_HOME%${WEBSERVER_HOME} %g" /etc/apache2/conf-available/security.conf
@@ -262,7 +264,7 @@ step_8_jeedom_customization() {
262
264
263
265
echo ' ' > /etc/apache2/mods-available/alias.conf
264
266
265
- mkdir /etc/systemd/system/apache2.service.d
267
+ mkdir -p /etc/systemd/system/apache2.service.d
266
268
echo " [Service]" > /etc/systemd/system/apache2.service.d/override.conf
267
269
echo " PrivateTmp=no" >> /etc/systemd/system/apache2.service.d/override.conf
268
270
echo " Restart=always" >> /etc/systemd/system/apache2.service.d/override.conf
@@ -305,15 +307,15 @@ step_9_jeedom_configuration() {
305
307
echo " ${YELLOW} Starting step 9 - Jeedom configuration${NORMAL} "
306
308
307
309
if [ " ${INSTALLATION_TYPE} " != " docker" ]; then
308
- echo " DROP USER 'jeedom'@'localhost';" | mariadb -uroot > /dev/null 2>&1
310
+ mariadb_sql " DROP USER IF EXISTS 'jeedom'@'localhost';"
309
311
mariadb_sql " CREATE USER 'jeedom'@'localhost' IDENTIFIED BY '${MARIADB_JEEDOM_PASSWD} ';"
310
- mariadb_sql " DROP DATABASE IF EXISTS jeedom ;"
311
- mariadb_sql " CREATE DATABASE jeedom; "
312
+ mariadb_sql " DROP DATABASE IF EXISTS ${MARIADB_NAME} ;"
313
+ mariadb_sql " CREATE DATABASE ${MARIADB_NAME} "
312
314
mariadb_sql " GRANT ALL PRIVILEGES ON jeedom.* TO 'jeedom'@'localhost';"
313
315
314
316
cp ${WEBSERVER_HOME} /core/config/common.config.sample.php ${WEBSERVER_HOME} /core/config/common.config.php
315
317
sed -i " s/#PASSWORD#/${MARIADB_JEEDOM_PASSWD} /g" ${WEBSERVER_HOME} /core/config/common.config.php
316
- sed -i " s/#DBNAME#/jeedom /g" ${WEBSERVER_HOME} /core/config/common.config.php
318
+ sed -i " s/#DBNAME#/${MARIADB_NAME} /g" ${WEBSERVER_HOME} /core/config/common.config.php
317
319
sed -i " s/#USERNAME#/jeedom/g" ${WEBSERVER_HOME} /core/config/common.config.php
318
320
sed -i " s/#PORT#/3306/g" ${WEBSERVER_HOME} /core/config/common.config.php
319
321
sed -i " s/#HOST#/localhost/g" ${WEBSERVER_HOME} /core/config/common.config.php
@@ -325,12 +327,14 @@ step_9_jeedom_configuration() {
325
327
326
328
step_10_jeedom_installation () {
327
329
echo " ---------------------------------------------------------------------"
330
+ cd .
328
331
echo " ${YELLOW} Starting step 10 - Jeedom install${NORMAL} "
329
332
chmod +x ${WEBSERVER_HOME} /resources/install_composer.sh
330
333
${WEBSERVER_HOME} /resources/install_composer.sh
331
334
export COMPOSER_ALLOW_SUPERUSER=1
332
335
cd ${WEBSERVER_HOME}
333
336
composer install --no-ansi --no-dev --no-interaction --no-plugins --no-progress --no-scripts --optimize-autoloader
337
+
334
338
mkdir -p /tmp/jeedom
335
339
chmod 777 -R /tmp/jeedom
336
340
chown www-data:www-data -R /tmp/jeedom
@@ -414,11 +418,12 @@ distrib_1_spe(){
414
418
STEP=0
415
419
VERSION=master
416
420
WEBSERVER_HOME=/var/www/html
421
+ MARIADB_NAME=${MARIADB_NAME:- jeedom}
417
422
MARIADB_JEEDOM_PASSWD=${MARIADB_JEEDOM_PASSWD:- $(openssl rand -base64 32 | tr -d / =+ | cut -c -15)}
418
423
INSTALLATION_TYPE=' standard'
419
424
DATABASE=1
420
425
421
- while getopts " :s:v:w:m: i:d:" opt; do
426
+ while getopts " :s:v:w:i:d:" opt; do
422
427
case $opt in
423
428
s) STEP=" $OPTARG "
424
429
;;
0 commit comments