From bd42f28f94e3307377dd80ed86c5b65928c3c192 Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 12 Dec 2019 17:57:02 +0000 Subject: [PATCH 1/7] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 47ab8ac..f015278 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ Ajouter le lancement de ce script au démarrage (dans /etc/rc.local) *Pour une installation manuelle: https://pad.p2p.legal/G1sms-install* ### Clonez le dépôt G1sms+ + sudo apt update && sudo apt install git git clone https://git.p2p.legal/axiom-team/G1sms mv G1sms G1sms+ cd G1sms+ From 4c9834eb0f971f778d09b2d6fd2787dbc7fea2b0 Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 12 Dec 2019 17:57:40 +0000 Subject: [PATCH 2/7] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f015278..bc1d531 100644 --- a/README.md +++ b/README.md @@ -88,11 +88,11 @@ Ajouter le lancement de ce script au démarrage (dans /etc/rc.local) *Pour une installation manuelle: https://pad.p2p.legal/G1sms-install* ### Clonez le dépôt G1sms+ - sudo apt update && sudo apt install git - git clone https://git.p2p.legal/axiom-team/G1sms - mv G1sms G1sms+ - cd G1sms+ - chmod u+x install.sh + sudo apt update && sudo apt install git + git clone https://git.p2p.legal/axiom-team/G1sms + mv G1sms G1sms+ + cd G1sms+ + chmod u+x install.sh ### Options ./install.sh : Cycle normale, va détecter si les éléments sont installés ne va pas les réinstaller. Demande confirmations, et propose d'installer les outils otionnels From 3859fcd2d94bdc5d98c5416a9f22dc10ad3c579d Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 12 Dec 2019 17:59:16 +0000 Subject: [PATCH 3/7] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bc1d531..0f78a4d 100644 --- a/README.md +++ b/README.md @@ -95,10 +95,10 @@ Ajouter le lancement de ce script au démarrage (dans /etc/rc.local) chmod u+x install.sh ### Options - ./install.sh : Cycle normale, va détecter si les éléments sont installés ne va pas les réinstaller. Demande confirmations, et propose d'installer les outils otionnels - ./install.sh force : Réinstalle les éléments même si ils sont déjà installés - ./install.sh noask : Ne pose pas de questions de confirmation pendant l'install, il y va - ./install.sh all : Install les outils optionnels sans poser de question + ./install.sh : Cycle normale, va détecter si les éléments sont installés ne va pas les réinstaller. Demande confirmations, et propose d'installer les outils otionnels + ./install.sh force : Réinstalle les éléments même si ils sont déjà installés + ./install.sh noask : Ne pose pas de questions de confirmation pendant l'install, il y va + ./install.sh all : Install les outils optionnels sans poser de question ./install.sh noptions : N'installe pas les outils optionnels From 6bfae483dc1ec1489d32d6017c366e87bfd271b4 Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 13 Dec 2019 18:47:16 +0100 Subject: [PATCH 4/7] Functionalize install_requirements --- .install/1-install_requirements.sh | 95 ++++++++++++++++++++---------- install.sh | 2 +- 2 files changed, 65 insertions(+), 32 deletions(-) diff --git a/.install/1-install_requirements.sh b/.install/1-install_requirements.sh index 03b4c0f..2c041da 100755 --- a/.install/1-install_requirements.sh +++ b/.install/1-install_requirements.sh @@ -6,48 +6,81 @@ isARM=$(uname -a | grep arm) # Basics sudo apt update -sudo apt install curl jq zip unzip htop tree ntpdate gnupg ssmtp mpack imagemagick qrencode bc jq libttspico-utils libttspico0 libttspico-data -y +sudo apt install curl jq zip unzip htop tree ntpdate gnupg ssmtp mpack imagemagick qrencode bc libttspico-utils libttspico0 libttspico-data -y + # Silkaj + Duniterpy -libsodium=$(sudo apt search libsodium | grep -v "header" | grep "Network communication" -B1 | head -n1 | awk -F '/' '{ print $1 }') -sudo apt install python3-pip $libsodium -y -pip3 install duniterpy -pip3 install silkaj --user +silkaj() { + libsodium=$(sudo apt search libsodium 2>/dev/null | grep -v -E "header|debug symbols" | grep "Network communication" -B1 | head -n1 | awk -F '/' '{ print $1 }') + [[ $libsodium =~ " " ]] && libsodium=$(echo $libsodium | awk '{ print $2 }') + sudo apt install python3-pip $libsodium -y + pip3 install duniterpy + pip3 install silkaj --user +} + # Install IPFS -[[ -f /usr/local/bin/ipfs ]] && sudo service ipfs stop -if [[ -z $isARM ]]; then - wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-amd64.tar.gz -O $MY_PATH/ipfs-update.tar.gz -else - wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-arm.tar.gz -O $MY_PATH/ipfs-update.tar.gz -fi +ipfs() { + [[ -f /usr/local/bin/ipfs ]] && sudo service ipfs stop + if [[ -z $isARM ]]; then + wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-amd64.tar.gz -O $MY_PATH/ipfs-update.tar.gz + else + wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-arm.tar.gz -O $MY_PATH/ipfs-update.tar.gz + fi -echo "INSTALL ipfs-update" -sudo tar -xvzf $MY_PATH/ipfs-update.tar.gz -C /usr/src/ -rm $MY_PATH/ipfs-update.tar.gz -cd /usr/src/ipfs-update/ -sudo ./install.sh -cd $MY_PATH + echo "INSTALL ipfs-update" + sudo tar -xvzf $MY_PATH/ipfs-update.tar.gz -C /usr/src/ + rm $MY_PATH/ipfs-update.tar.gz + cd /usr/src/ipfs-update/ + sudo ./install.sh + cd $MY_PATH -echo "INSTALL latest ipfs" -sudo ipfs-update install latest + echo "INSTALL latest ipfs" + sudo ipfs-update install latest -echo "CREATE SYSTEMD ipfs SERVICE" -[[ -f /etc/systemd/system/ipfs.service ]] && sudo rm /etc/systemd/system/ipfs.service -sudo cp -f $MY_PATH/templates/ipfs.service /etc/systemd/system/ -sudo sed -i "s/_USER/$USER/g" /etc/systemd/system/ipfs.service - -sudo systemctl daemon-reload -sudo systemctl enable ipfs + echo "CREATE SYSTEMD ipfs SERVICE" + [[ -f /etc/systemd/system/ipfs.service ]] && sudo rm /etc/systemd/system/ipfs.service + sudo cp -f $MY_PATH/templates/ipfs.service /etc/systemd/system/ + sudo sed -i "s/_USER/$USER/g" /etc/systemd/system/ipfs.service + sudo systemctl daemon-reload + sudo systemctl enable ipfs +} # Install gammu -sudo apt install ppp screen git minicom gammu -y -sleep 1 -sudo apt install gammu-smsd -y || sudo apt install -f +gammu() { + sudo apt install ppp screen git minicom gammu -y + sleep 1 + sudo apt install gammu-smsd -y || sudo apt install -f -sudo usermod -aG gammu $USER + sudo usermod -aG gammu $USER +} -umask 027 à /root/.bashrc +# Install PHP + MySQL +php() { + if [[ $(grep buster /etc/os-release) ]]; then + sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 + sudo add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.liquidtelecom.com/repo/10.4/debian buster main' + sudo apt -y update + sudo apt -y install software-properties-common nginx php php-common php-fpm php-gettext php-gd php-mysql php-curl php-imap php-mbstring php-xml php-cli mariadb-server + elif [[ $(grep stretch /etc/os-release) ]]; then + sudo apt -y install lsb-release apt-transport-https ca-certificates + sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg + echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list + sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 + echo -e "deb [arch=amd64,i386,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.4/debian stretch main\ndeb-src http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.4/debian stretch main" | sudo tee /etc/apt/sources.list.d/mariadb.list + sudo apt -y update + sudo apt -y install software-properties-common dirmngr nginx php7.3 php7.3-common php7.3-gettext php7.3-fpm php7.3-gd php7.3-mysql php7.3-curl php7.3-imap php7.3-mbstring php7.3-xml php7.3-cli mariadb-server + else + echo "${c_red}Votre système n'est pas pris en charge par ce script d'installation.$c_" + exit 1 + fi +} + +# Read arguments +for i in $@; do + echo -e "${c_yellow}Installation de $c_light$i$c_" + $i +done exit 0 diff --git a/install.sh b/install.sh index ab7251e..d981b2b 100755 --- a/install.sh +++ b/install.sh @@ -34,7 +34,7 @@ $MY_PATH/.install/export_colors.sh ## Vérifie si IPFS est installé if [[ $force_req == "o" || -z $(which ipfs) || -z $(which gammu) ]];then echo -e "${c_yellow}IPFS ou gammu n'ont pas été détectés sur votre machine, nous allons installer tous les prérequis...$c_" - $MY_PATH/.install/1-install_requirements.sh || err=1 + $MY_PATH/.install/1-install_requirements.sh silkaj ipfs gammu || err=1 $MY_PATH/.install/2-configure_ipfs_layer.sh || err=1 else echo -e "${c_green}IPFS et gammu sont déjà installé !$c_" From b1a333ae2e7c719558d57d795d15d605261da63e Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 13 Dec 2019 19:55:02 +0100 Subject: [PATCH 5/7] Improve OS detection, install requirements mechanique and install PHP+MySQL in requirements option --- .install/1-install_requirements.sh | 16 ++++--- .install/3-install_copylaradio.sh | 18 +++++--- .install/4-install_playsms.sh | 31 +++---------- .install/ssl.sh | 59 +++++++++++++++++++++++++ .install/templates/install-playsms.conf | 4 +- install.sh | 12 +++++ 6 files changed, 101 insertions(+), 39 deletions(-) create mode 100755 .install/ssl.sh diff --git a/.install/1-install_requirements.sh b/.install/1-install_requirements.sh index 2c041da..9011077 100755 --- a/.install/1-install_requirements.sh +++ b/.install/1-install_requirements.sh @@ -2,11 +2,13 @@ MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized -isARM=$(uname -a | grep arm) + +OS=$(head -n1 $MY_PATH/.OS) +isARM=$(cat $MY_PATH/.OS | grep YES) # Basics sudo apt update -sudo apt install curl jq zip unzip htop tree ntpdate gnupg ssmtp mpack imagemagick qrencode bc libttspico-utils libttspico0 libttspico-data -y +sudo apt install curl jq zip unzip htop tree ntpdate gnupg ssmtp mpack imagemagick qrencode bc -y # Silkaj + Duniterpy @@ -22,10 +24,10 @@ silkaj() { # Install IPFS ipfs() { [[ -f /usr/local/bin/ipfs ]] && sudo service ipfs stop - if [[ -z $isARM ]]; then - wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-amd64.tar.gz -O $MY_PATH/ipfs-update.tar.gz - else + if [[ $isARM ]]; then wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-arm.tar.gz -O $MY_PATH/ipfs-update.tar.gz + else + wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-amd64.tar.gz -O $MY_PATH/ipfs-update.tar.gz fi echo "INSTALL ipfs-update" @@ -58,12 +60,12 @@ gammu() { # Install PHP + MySQL php() { - if [[ $(grep buster /etc/os-release) ]]; then + if [[ $OS == "buster" ]]; then sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 sudo add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.liquidtelecom.com/repo/10.4/debian buster main' sudo apt -y update sudo apt -y install software-properties-common nginx php php-common php-fpm php-gettext php-gd php-mysql php-curl php-imap php-mbstring php-xml php-cli mariadb-server - elif [[ $(grep stretch /etc/os-release) ]]; then + elif [[ $OS == "stretch" ]]; then sudo apt -y install lsb-release apt-transport-https ca-certificates sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list diff --git a/.install/3-install_copylaradio.sh b/.install/3-install_copylaradio.sh index d12e12e..b9f72d1 100755 --- a/.install/3-install_copylaradio.sh +++ b/.install/3-install_copylaradio.sh @@ -4,14 +4,20 @@ MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized templates="$MY_PATH/templates" -isARM=$(uname -a | grep arm) +isARM=$(cat $MY_PATH/.OS | grep YES) ################################## ## INSTALL TOOLS ######## YOUTUBE-DL ########## sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl -sudo apt install libid3-tools mpd mpc lame -y + +## TODO FOR DEBIAN STRETCH + +wget -q https://ftp-master.debian.org/keys/release-10.asc -O- | sudo apt-key add - +echo "deb http://deb.debian.org/debian buster non-free" | sudo tee -a /etc/apt/sources.list +sudo apt update +sudo apt install libid3-tools mpd mpc lame -y libttspico-utils -y ## CONFIG MPD @@ -28,12 +34,12 @@ sudo apt-get install ca-certificates git-core binutils rsync alsa-utils bc libid wget http://launchpadlibrarian.net/339874908/libav-tools_3.3.4-2_all.deb -O $MY_PATH/libav-tools.deb wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-data_1.0+git20130326-3_all.deb -O $MY_PATH/libttspico-data.deb -if [[ -z $isARM ]]; then - wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-5_amd64.deb -O $MY_PATH/libttspico0.deb - wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-9_amd64.deb -O $MY_PATH/libttspico-utils.deb -else +if [[ $isARM ]]; then wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-3_armhf.deb -O $MY_PATH/libttspico0.deb wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-3_armhf.deb -O $MY_PATH/libttspico-utils.deb +else + wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-5_amd64.deb -O $MY_PATH/libttspico0.deb + wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-9_amd64.deb -O $MY_PATH/libttspico-utils.deb fi sudo dpkg -i $MY_PATH/libttspico-data.deb sudo dpkg -i $MY_PATH/libttspico0.deb diff --git a/.install/4-install_playsms.sh b/.install/4-install_playsms.sh index 377fd2d..95c5ea1 100755 --- a/.install/4-install_playsms.sh +++ b/.install/4-install_playsms.sh @@ -12,35 +12,18 @@ args=$@ [[ ! $PSMS_DOMAIN ]] && echo -e "${c_yellow}Choisissez un nom de domain pour playsms: $c_" && read PSMS_DOMAIN -sudo apt -y update -sudo apt -y install unzip zip -if [[ $(grep buster /etc/os-release) ]]; then - sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 - sudo add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.liquidtelecom.com/repo/10.4/debian buster main' - sudo apt -y update - sudo apt -y install software-properties-common nginx php php-common php-fpm php-gettext php-gd php-mysql php-curl php-imap php-mbstring php-xml php-cli mariadb-server -elif [[ $(grep stretch /etc/os-release) ]]; then - sudo apt -y install lsb-release apt-transport-https ca-certificates - sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg - echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list - sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 - echo -e "deb [arch=amd64,i386,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.4/debian stretch main\ndeb-src http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.4/debian stretch main" | sudo tee /etc/apt/sources.list.d/mariadb.list - sudo apt -y update - sudo apt -y install software-properties-common dirmngr nginx php7.3 php7.3-common php7.3-gettext php7.3-fpm php7.3-gd php7.3-mysql php7.3-curl php7.3-imap php7.3-mbstring php7.3-xml php7.3-cli mariadb-server -else - echo "${c_red}Votre système n'est pas pris en charge par ce script d'installation.$c_" - exit 1 -fi +## Install PHP + MySQL +$MY_PATH/1-install_requirements.sh php ## Create database -if [[ ! $(sudo mysql -e "show databases;" | grep playsms) ]]; then - sudo mysql -e "CREATE DATABASE playsms" - sudo mysql -e "CREATE USER 'playsms'@'localhost' IDENTIFIED BY '$pwdDB';" - sudo mysql -e "GRANT ALL PRIVILEGES ON playsms.* TO 'playsms'@'localhost';" +if [[ ! $(sudo mysql -e "show databases;" | grep gammu) ]]; then + sudo mysql -e "CREATE DATABASE gammu" + sudo mysql -e "CREATE USER 'gammu'@'localhost' IDENTIFIED BY '$pwdDB';" + sudo mysql -e "GRANT ALL PRIVILEGES ON playsms.* TO 'gammu'@'localhost';" sudo mysql -e "FLUSH PRIVILEGES;" else - sudo mysql -e "ALTER USER 'playsms'@'localhost' IDENTIFIED BY '$pwdDB';" + sudo mysql -e "ALTER USER 'gammu'@'localhost' IDENTIFIED BY '$pwdDB';" fi ## Clone repo playSMS diff --git a/.install/ssl.sh b/.install/ssl.sh new file mode 100755 index 0000000..31b95a5 --- /dev/null +++ b/.install/ssl.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized + +### Vars +#DOMAIN=g1sms-blois-2.p2p.legal +args=$@ +[[ "$args" =~ "type=" ]] && DOMAIN=$(echo "$args" | grep "\ .install/.OS + unset err +## Vérifie si le script est en lancé par root if [ "$EUID" -eq 0 ] then echo -e "${c_red}Veuillez ne pas executez ce script en root. Choisissez un utilisateur pour votre serveur G1sms+ (nous recommandons l'utilisateur pi)$c_" exit 1 From ee3a6bc9f424d5d9b327d043fb7abd93ada80664 Mon Sep 17 00:00:00 2001 From: poka Date: Sat, 14 Dec 2019 20:45:36 +0000 Subject: [PATCH 6/7] Lot of changes in .install. Add Kalkun install (not finish) --- .gitignore | 3 +- .install/1-install_requirements.sh | 62 +++--- .install/2-configure_ipfs_layer.sh | 2 +- .install/3-install_copylaradio.sh | 33 +-- .install/4-install_playsms.sh | 140 ------------- .install/4a-install_kalkun.sh | 98 +++++++++ .install/4b-install_playsms.sh | 102 ++++++++++ .install/ssl.sh | 30 ++- .install/templates/1/gammu-smsdrc | 34 ++++ .install/templates/{ => 1}/ipfs.service | 0 .install/templates/{ => 3}/mpd.conf | 0 .install/templates/4a/daemon.php | 10 + .install/templates/4a/daemon.sh | 8 + .install/templates/4a/database.php | 58 ++++++ .install/templates/4a/kalkun.conf | 40 ++++ .install/templates/4a/mysql.sql | 192 ++++++++++++++++++ .../templates/{ => 4b}/install-playsms.conf | 0 .install/templates/{ => 4b}/playsms.conf | 4 +- .install/templates/{ => 5}/default | 0 .../templates/{ => rproxy}/proxypass.conf | 0 .install/templates/{ => rproxy}/ssl.conf | 0 .install/templates/{ => rproxy}/ssl_renew.sh | 0 GSM_POWERKEY.py => debug/GSM_POWERKEY.py | 0 GSM_powerkey.sh => debug/GSM_powerkey.sh | 0 debug/debugTTY.sh | 19 ++ debug/gammu-loglevel.sh | 13 ++ debug/gammu-restart.sh | 9 + install.sh | 15 +- test.sh => tests/test.sh | 0 29 files changed, 672 insertions(+), 200 deletions(-) delete mode 100755 .install/4-install_playsms.sh create mode 100755 .install/4a-install_kalkun.sh create mode 100755 .install/4b-install_playsms.sh create mode 100644 .install/templates/1/gammu-smsdrc rename .install/templates/{ => 1}/ipfs.service (100%) rename .install/templates/{ => 3}/mpd.conf (100%) create mode 100755 .install/templates/4a/daemon.php create mode 100755 .install/templates/4a/daemon.sh create mode 100644 .install/templates/4a/database.php create mode 100644 .install/templates/4a/kalkun.conf create mode 100644 .install/templates/4a/mysql.sql rename .install/templates/{ => 4b}/install-playsms.conf (100%) rename .install/templates/{ => 4b}/playsms.conf (94%) rename .install/templates/{ => 5}/default (100%) rename .install/templates/{ => rproxy}/proxypass.conf (100%) rename .install/templates/{ => rproxy}/ssl.conf (100%) rename .install/templates/{ => rproxy}/ssl_renew.sh (100%) rename GSM_POWERKEY.py => debug/GSM_POWERKEY.py (100%) rename GSM_powerkey.sh => debug/GSM_powerkey.sh (100%) create mode 100755 debug/debugTTY.sh create mode 100755 debug/gammu-loglevel.sh create mode 100755 debug/gammu-restart.sh rename test.sh => tests/test.sh (100%) diff --git a/.gitignore b/.gitignore index 183b73d..7c37ee6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ g1sms.bfproject g1sms.priv.key shell/init.sh +shell/init.sh.old *~ wallets/ shell/trash/ @@ -9,5 +10,5 @@ history.* TAG/ .install/errors .install/log -shell/init.sh.old +.install/.OS .profile diff --git a/.install/1-install_requirements.sh b/.install/1-install_requirements.sh index 9011077..602d579 100755 --- a/.install/1-install_requirements.sh +++ b/.install/1-install_requirements.sh @@ -15,9 +15,9 @@ sudo apt install curl jq zip unzip htop tree ntpdate gnupg ssmtp mpack imagemagi silkaj() { libsodium=$(sudo apt search libsodium 2>/dev/null | grep -v -E "header|debug symbols" | grep "Network communication" -B1 | head -n1 | awk -F '/' '{ print $1 }') [[ $libsodium =~ " " ]] && libsodium=$(echo $libsodium | awk '{ print $2 }') - sudo apt install python3-pip $libsodium -y - pip3 install duniterpy - pip3 install silkaj --user + sudo apt install python3-pip $libsodium -y || err=1 + pip3 install duniterpy || err=1 + pip3 install silkaj --user || err=1 } @@ -25,35 +25,35 @@ silkaj() { ipfs() { [[ -f /usr/local/bin/ipfs ]] && sudo service ipfs stop if [[ $isARM ]]; then - wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-arm.tar.gz -O $MY_PATH/ipfs-update.tar.gz + wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-arm.tar.gz -O $MY_PATH/ipfs-update.tar.gz || err=1 else - wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-amd64.tar.gz -O $MY_PATH/ipfs-update.tar.gz + wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-amd64.tar.gz -O $MY_PATH/ipfs-update.tar.gz || err=1 fi echo "INSTALL ipfs-update" - sudo tar -xvzf $MY_PATH/ipfs-update.tar.gz -C /usr/src/ + sudo tar -xvzf $MY_PATH/ipfs-update.tar.gz -C /usr/src/ || err=1 rm $MY_PATH/ipfs-update.tar.gz cd /usr/src/ipfs-update/ - sudo ./install.sh + sudo ./install.sh || err=1 cd $MY_PATH echo "INSTALL latest ipfs" - sudo ipfs-update install latest + sudo ipfs-update install latest || err=1 echo "CREATE SYSTEMD ipfs SERVICE" [[ -f /etc/systemd/system/ipfs.service ]] && sudo rm /etc/systemd/system/ipfs.service - sudo cp -f $MY_PATH/templates/ipfs.service /etc/systemd/system/ + sudo cp -f $MY_PATH/templates/1/ipfs.service /etc/systemd/system/ sudo sed -i "s/_USER/$USER/g" /etc/systemd/system/ipfs.service - sudo systemctl daemon-reload - sudo systemctl enable ipfs + sudo systemctl daemon-reload || err=1 + sudo systemctl enable ipfs || err=1 } # Install gammu gammu() { - sudo apt install ppp screen git minicom gammu -y + sudo apt install ppp screen git minicom gammu -y || err=1 sleep 1 - sudo apt install gammu-smsd -y || sudo apt install -f + sudo apt install gammu-smsd -y || sudo apt install -f || err=1 sudo usermod -aG gammu $USER } @@ -61,22 +61,24 @@ gammu() { # Install PHP + MySQL php() { if [[ $OS == "buster" ]]; then - sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 - sudo add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.liquidtelecom.com/repo/10.4/debian buster main' - sudo apt -y update - sudo apt -y install software-properties-common nginx php php-common php-fpm php-gettext php-gd php-mysql php-curl php-imap php-mbstring php-xml php-cli mariadb-server + sudo apt -y install software-properties-common nginx php php-common php-fpm php-gettext php-gd php-mysql php-curl php-imap php-mbstring php-xml php-cli mariadb-server || err=1 elif [[ $OS == "stretch" ]]; then - sudo apt -y install lsb-release apt-transport-https ca-certificates - sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg - echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list - sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 - echo -e "deb [arch=amd64,i386,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.4/debian stretch main\ndeb-src http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.4/debian stretch main" | sudo tee /etc/apt/sources.list.d/mariadb.list - sudo apt -y update - sudo apt -y install software-properties-common dirmngr nginx php7.3 php7.3-common php7.3-gettext php7.3-fpm php7.3-gd php7.3-mysql php7.3-curl php7.3-imap php7.3-mbstring php7.3-xml php7.3-cli mariadb-server + sudo apt -y install lsb-release apt-transport-https ca-certificates || err=1 + sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg || err=1 + echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list + sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 || err=1 + sudo apt update + sudo apt -y install software-properties-common dirmngr nginx php7.3 php7.3-common php7.3-gettext php7.3-fpm php7.3-gd php7.3-mysql php7.3-curl php7.3-imap php7.3-mbstring php7.3-xml php7.3-cli mariadb-server || err=1 else - echo "${c_red}Votre système n'est pas pris en charge par ce script d'installation.$c_" - exit 1 + echo "${c_red}Votre système n'est pas pris en charge par ce script d'installation.$c_" + exit 1 fi + + isLocalhostUsers=$(sudo mysql -e "select user from mysql.user;" | grep "localhost") + isTestDB=$(sudo mysql -e "show databases" | grep "test") + [[ -n $isLocalhostUsers ]] && sudo mysql -e "DROP USER ''@'localhost'; DROP USER ''@'$(hostname)'" + [[ -n $isTestDB ]] && sudo mysql -e "DROP DATABASE test" + sudo mysql -e "FLUSH PRIVILEGES" } # Read arguments @@ -85,4 +87,10 @@ for i in $@; do $i done -exit 0 +if [[ $err ]]; then + echo -e "${c_red}Installation des prérequis incomplète$c_" + exit 1 +else + echo -e "${c_green}Les prérequis ont été correctement installés$c_" + exit 0 +fi diff --git a/.install/2-configure_ipfs_layer.sh b/.install/2-configure_ipfs_layer.sh index b1b3981..0839556 100755 --- a/.install/2-configure_ipfs_layer.sh +++ b/.install/2-configure_ipfs_layer.sh @@ -8,7 +8,7 @@ MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized stamp=$(date +%s) -templates="$MY_PATH/templates" +templates="$MY_PATH/templates/2" ####################################### # CONFIGURE IPFS for G1sms+ Pi NODES diff --git a/.install/3-install_copylaradio.sh b/.install/3-install_copylaradio.sh index b9f72d1..1de3c4f 100755 --- a/.install/3-install_copylaradio.sh +++ b/.install/3-install_copylaradio.sh @@ -9,7 +9,7 @@ isARM=$(cat $MY_PATH/.OS | grep YES) ################################## ## INSTALL TOOLS ######## YOUTUBE-DL ########## -sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl +sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl || err=1 sudo chmod a+rx /usr/local/bin/youtube-dl ## TODO FOR DEBIAN STRETCH @@ -17,20 +17,20 @@ sudo chmod a+rx /usr/local/bin/youtube-dl wget -q https://ftp-master.debian.org/keys/release-10.asc -O- | sudo apt-key add - echo "deb http://deb.debian.org/debian buster non-free" | sudo tee -a /etc/apt/sources.list sudo apt update -sudo apt install libid3-tools mpd mpc lame -y libttspico-utils -y +sudo apt install libid3-tools mpd mpc lame -y libttspico-utils -y || err=1 ## CONFIG MPD sudo cp -f $templates/mpd.conf /etc/mpd.conf -sudo sed -i "s/_USER/$USER/g" /etc/mpd.conf +sudo sed -i "s/_USER/$USER/g" /etc/mpd.conf || err=1 sudo chown -R $USER /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd -sudo service mpd restart +sudo service mpd restart || err=1 -sudo apt-get install nginx php-curl php-sqlite3 php-gd php-json php-xml php-mbstring php-fpm sqlite -y -sudo apt-get install lame sox libsox-fmt-mp3 eyed3 python-chardet imagemagick curl -y #libav-tools -sudo apt-get install ca-certificates git-core binutils rsync alsa-utils bc libid3-tools espeak mpg321 fuse atomicparsley -y #libttspico-utils +sudo apt-get install nginx php-curl php-sqlite3 php-gd php-json php-xml php-mbstring php-fpm sqlite -y || err=1 +sudo apt-get install lame sox libsox-fmt-mp3 eyed3 python-chardet imagemagick curl -y #libav-tools || err=1 +sudo apt-get install ca-certificates git-core binutils rsync alsa-utils bc libid3-tools espeak mpg321 fuse atomicparsley -y || err=1 wget http://launchpadlibrarian.net/339874908/libav-tools_3.3.4-2_all.deb -O $MY_PATH/libav-tools.deb wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-data_1.0+git20130326-3_all.deb -O $MY_PATH/libttspico-data.deb @@ -41,10 +41,10 @@ else wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-5_amd64.deb -O $MY_PATH/libttspico0.deb wget http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-9_amd64.deb -O $MY_PATH/libttspico-utils.deb fi -sudo dpkg -i $MY_PATH/libttspico-data.deb -sudo dpkg -i $MY_PATH/libttspico0.deb -sudo dpkg -i $MY_PATH/libttspico-utils.deb -sudo dpkg -i $MY_PATH/libav-tools.deb || sudo apt --fix-broken install -y +sudo dpkg -i $MY_PATH/libttspico-data.deb || err=1 +sudo dpkg -i $MY_PATH/libttspico0.deb || err=1 +sudo dpkg -i $MY_PATH/libttspico-utils.deb || err=1 +sudo dpkg -i $MY_PATH/libav-tools.deb || sudo apt --fix-broken install -y || err=1 rm $MY_PATH/libttspico-data.deb $MY_PATH/libttspico0.deb $MY_PATH/libttspico-utils.deb $MY_PATH/libav-tools.deb @@ -52,7 +52,7 @@ rm $MY_PATH/libttspico-data.deb $MY_PATH/libttspico0.deb $MY_PATH/libttspico-uti sudo cp -f $templates/default /etc/nginx/sites-available/ sudo sed -i "s/_USER/$USER/g" /etc/nginx/sites-available/default -sudo systemctl restart nginx +sudo systemctl restart nginx || err=1 ################################# ## Get _CopyLaRadio distrib @@ -67,4 +67,11 @@ sudo systemctl restart nginx #sudo chmod 777 /home/$USER/_CopyLaRadio/www/rompr/albumart #sudo chmod 777 /home/$USER/_CopyLaRadio/www/rompr/prefs -exit 0 +if [[ $err ]]; then + echo -e "${c_red}Installation de copylaradio incomplète$c_" + exit 1 +else + echo -e "${c_green}CopyLaRadio a été installé avec succès$c_" + exit 0 +fi + diff --git a/.install/4-install_playsms.sh b/.install/4-install_playsms.sh deleted file mode 100755 index 95c5ea1..0000000 --- a/.install/4-install_playsms.sh +++ /dev/null @@ -1,140 +0,0 @@ -#!/bin/bash - -MY_PATH="`dirname \"$0\"`" # relative -MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized - -[[ -f $MY_PATH/../.profile ]] && source $MY_PATH/../.profile -unset err -pwdDB=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 42 | head -n 1) - -args=$@ -[[ $args =~ noask ]] && noask=o && askSSL=o - -[[ ! $PSMS_DOMAIN ]] && echo -e "${c_yellow}Choisissez un nom de domain pour playsms: $c_" && read PSMS_DOMAIN - -## Install PHP + MySQL -$MY_PATH/1-install_requirements.sh php - -## Create database - -if [[ ! $(sudo mysql -e "show databases;" | grep gammu) ]]; then - sudo mysql -e "CREATE DATABASE gammu" - sudo mysql -e "CREATE USER 'gammu'@'localhost' IDENTIFIED BY '$pwdDB';" - sudo mysql -e "GRANT ALL PRIVILEGES ON playsms.* TO 'gammu'@'localhost';" - sudo mysql -e "FLUSH PRIVILEGES;" -else - sudo mysql -e "ALTER USER 'gammu'@'localhost' IDENTIFIED BY '$pwdDB';" -fi - -## Clone repo playSMS -[[ -d $MY_PATH/playsms ]] && sudo rm -rf $MY_PATH/playsms -git clone https://github.com/antonraharja/playSMS.git $MY_PATH/playsms - -cp $MY_PATH/templates/install-playsms.conf $MY_PATH/playsms/install.conf -sed -i "s/_pwdDB/$pwdDB/g" $MY_PATH/playsms/install.conf - -[[ -d /var/www/playsms ]] && sudo rm -rf /var/www/playsms -sudo chmod u+x $MY_PATH/playsms/install-playsms.sh -cd $MY_PATH/playsms -sed -i "s/read /confirm=y; #read /g" install-playsms.sh -sudo ./install-playsms.sh -sudo sed -i "/ishttps/d" /var/www/playsms/config.php -sudo sed -i "/http or https*/a \$core_config['ishttps'] = true;" /var/www/playsms/config.php -[[ -d $MY_PATH/playsms ]] && sudo rm -rf $MY_PATH/playsms -cd $MY_PATH - -## Start playsmsd on boot -sudo /usr/local/bin/playsmsd start - -if [[ -f /etc/rc.local ]]; then - [[ ! $(grep playsmsd /etc/rc.local) ]] && sudo sed -i '/^exit 0.*/i /usr/local/bin/playsmsd start' /etc/rc.local -else - echo "/usr/local/bin/playsmsd start" | sudo tee /etc/rc.local -fi - -## Tests -if [[ $(sudo playsmsd status) =~ "is running" ]]; then - echo -e "${c_green}playSMS a été installé correctement et le daemon est démarré =)$c_" -else - echo -e "${c_red}Une erreur est survenu$c_" - err=1 -fi - -## Config NGINX - -[[ ! -d /etc/nginx/def_conf ]] && sudo mkdir /etc/nginx/def_conf/ -sudo cp $MY_PATH/templates/proxypass.conf /etc/nginx/def_conf/ -sudo cp $MY_PATH/templates/playsms.conf /etc/nginx/conf.d/ -sudo sed -i "s/_PSMS_DOMAIN/$PSMS_DOMAIN/" /etc/nginx/conf.d/playsms.conf - -## Active SSL - -manageSSL() { - - local action=$1 - [[ ! $action =~ ^(on|off|certif)$ ]] && echo "Veuillez choisir ssl, nonssl ou certif pour créer un certificat ssl" && exit 1 - - install_certbot(){ - sudo apt update - if [[ $(grep -E 'stretch|buster' /etc/os-release) ]]; then - sudo apt install certbot python-certbot-nginx -y - elif [[ $(grep -E '16.|17.|18.|19.' /etc/os-release) ]]; then - sudo apt install software-properties-common - sudo add-apt-repository universe - sudo add-apt-repository ppa:certbot/certbot - sudo apt update - sudo apt install certbot python-certbot-nginx - else - echo "OS non supporté pour certbot." && exit 1 - fi - } - - create_certificate() { - sudo certbot --nginx certonly --non-interactive --agree-tos -m $USER@$PSMS_DOMAIN -d $PSMS_DOMAIN && echo "Le certificat de $PSMS_DOMAIN a bien été déployé" || echo "Une erreur s'est produite lors de la création du certificat SSL" - - ## Cronification - [[ ! -e /opt/scripts ]] && sudo mkdir /opt/scripts - sudo cp $MY_PATH/templates/ssl_renew.sh /opt/scripts/ - [[ -z $(sudo crontab -l | grep "/opt/scripts/ssl_renew.sh") ]] && (sudo crontab -l ; sudo echo "12 2 * * 1 /opt/scripts/ssl_renew.sh") | sudo crontab -u root - - } - - - case $action in - on) - sudo sed -i 's/ #if/ if/' /etc/nginx/conf.d/playsms.conf - - sudo sed -i "s/listen 443;/listen 443 ssl;/" /etc/nginx/conf.d/playsms.conf - [[ ! -d /etc/nginx/includes ]] && sudo mkdir /etc/nginx/includes - sudo cp $MY_PATH/templates/ssl.conf /etc/nginx/includes/ - sudo sed -i "/Content-Security-Policy/a \ include includes/ssl.conf;\n ssl_certificate /etc/letsencrypt/live/$PSMS_DOMAIN/fullchain.pem;\n ssl_certificate_key /etc/letsencrypt/live/$PSMS_DOMAIN/privkey.pem;" /etc/nginx/conf.d/playsms.conf - ;; - - off) - sudo sed -i 's/ if/ #if/' /etc/nginx/conf.d/playsms.conf - sudo sed -i '/ssl.conf;/d' /etc/nginx/conf.d/playsms.conf - sudo sed -i '/ssl_certificate/d' /etc/nginx/conf.d/playsms.conf - ;; - certif) - [[ -z $(which certbot) ]] && install_certbot - [[ -n /etc/letsencrypt/live/$PSMS_DOMAIN/fullchain.pem ]] && create_certificate - ;; - - esac -} - -echo -e "${c_yellow}playSMS ne fonctionne pas sans certifcat SSL.$c_" -[[ ! $noask ]] && printf "${c_yellow}Voulez-vous installer et activer un certificat SSL maintenant pour $PSMS_DOMAIN ? (o/n) $c_" && read askSSL -if [[ $askSSL =~ ^(o|y|yes|oui|Y|O|YES)$ ]]; then - manageSSL certif - if sudo test -f /etc/letsencrypt/live/$PSMS_DOMAIN/fullchain.pem; then manageSSL on; else manageSSL off && echo "Une erreur s'est produite, basculement vers le mode non SSL"; fi - http=https -else - manageSSL off - http=http -fi - -sudo service nginx restart - -[[ ! $err ]] && echo -e "${c_green}Félicitation ! playSMS est accessible via l'URL $http://$PSMS_DOMAIN" || echo -e "${c_red}Installation incomplète$c_" - -exit 0 diff --git a/.install/4a-install_kalkun.sh b/.install/4a-install_kalkun.sh new file mode 100755 index 0000000..7ea5713 --- /dev/null +++ b/.install/4a-install_kalkun.sh @@ -0,0 +1,98 @@ +#!/bin/bash + +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized + +[[ -f $MY_PATH/../.profile ]] && source $MY_PATH/../.profile +unset err + +args=$@ +[[ $args =~ noask ]] && noask=o && askSSL=o + +IP=$(ifconfig | grep "inet " | grep -v "127.0.0.1" | awk '{ print $2 }') +[[ ! $KSMS_DOMAIN ]] && echo -e "${c_yellow}Choisissez un nom de domaine pour KALKUN (Sinon $IP sera choisi): $c_" && read KSMS_DOMAIN +[[ ! $KSMS_DOMAIN ]] && KSMS_DOMAIN=$IP && askSSL=n && noask=o + +DOMAIN=$KSMS_DOMAIN + +## Install PHP + MySQL +$MY_PATH/1-install_requirements.sh php + +## Create database + +if [[ $(sudo mysql -e "select * from mysql.user;" | grep gammu) ]]; then + pwdDB=$(cat /etc/gammu-smsdrc | grep "password" | grep -v "# " | awk '{ print $3 }') +else + pwdDB=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 42 | head -n 1) + sudo mysql -e "CREATE USER 'gammu'@'localhost' IDENTIFIED BY '$pwdDB';" +fi + +if [[ ! $(sudo mysql -e "show databases;" | grep gammu) ]]; then + sudo mysql -e "CREATE DATABASE gammu" + sudo mysql -e "GRANT ALL PRIVILEGES ON gammu.* TO 'gammu'@'localhost';" + sudo mysql -e "FLUSH PRIVILEGES;" +fi + +[[ ! $(sudo mysql gammu -e "SHOW TABLES LIKE 'outbox';") ]] && sudo mysql gammu < $MY_PATH/templates/4a/mysql.sql || err=1 + +## Clone repo KALKUN + +[[ -d $MY_PATH/kalkun ]] && sudo rm -rf $MY_PATH/kalkun +git clone https://github.com/back2arie/Kalkun.git $MY_PATH/kalkun + +cp $MY_PATH/templates/4a/database.php $MY_PATH/kalkun/application/config/ +cp $MY_PATH/templates/4a/daemon.sh $MY_PATH/templates/4a/daemon.php $MY_PATH/kalkun/scripts +sed -i "s/_PWD/$pwdDB/g" $MY_PATH/kalkun/application/config/database.php || err=1 +echo "debug 1" +sed -i "s/_DOMAIN/$DOMAIN/g" $MY_PATH/templates/4a/daemon.php || err=1 + +## Place le dossier kalkun dans /var/www/ +[[ -d /var/www/kalkun ]] && sudo rm -rf /var/www/kalkun +sudo mv $MY_PATH/kalkun /var/www/ || err=1 +sudo chown -R www-data:www-data /var/www/kalkun || err=1 +sudo chmod u+x /var/www/kalkun/scripts/* + +## Add daemon launcher in sms_received.sh +[[ ! $(grep "Execute Kalkun daemon" $MY_PATH/../sms_received.sh) ]] && sed -i "/^export YOU/i # Execute Kalkun daemon\n/var/www/kalkun/scripts/daemon.sh &\n" $MY_PATH/../sms_received.sh + +## Active gammu in MySQL mode +if [[ $(grep "service = files" /etc/gammu-smsdrc) ]]; then + sudo sed -i "/^service = files/a service = sql\ndriver = native_mysql\nhost = localhost\nuser = gammu\npassword = $pwdDB\ndatabase = gammu" /etc/gammu-smsdrc || err=1 + sudo sed -i "/service = files/d" /etc/gammu-smsdrc || err=1 + $MY_PATH/../debug/gammu-restart.sh || err=1 +fi + +## Config NGINX + +[[ ! -d /etc/nginx/def_conf ]] && sudo mkdir /etc/nginx/def_conf/ +sudo cp $MY_PATH/templates/rproxy/proxypass.conf /etc/nginx/def_conf/ || err=1 +sudo cp $MY_PATH/templates/4a/kalkun.conf /etc/nginx/conf.d/ || err=1 +sudo sed -i "s/_DOMAIN/$DOMAIN/g" /etc/nginx/conf.d/kalkun.conf || err=1 + +## Active SSL + +[[ ! $noask ]] && printf "${c_yellow}Voulez-vous installer et activer un certificat SSL maintenant pour $DOMAIN ? (o/n) $c_" && read askSSL +if [[ $askSSL =~ ^(o|y|yes|oui|Y|O|YES)$ ]]; then + $MY_PATH/ssl.sh certif APP=kalkun DOMAIN=$DOMAIN || err=1 + if sudo test -f /etc/letsencrypt/live/$DOMAIN/fullchain.pem; then + $MY_PATH/ssl.sh on APP=kalkun DOMAIN=$DOMAIN || err=1 + else + echo -e "${c_red}Une erreur s'est produite, basculement vers le mode non SSL$c_" + $MY_PATH/ssl.sh off APP=kalkun DOMAIN=$DOMAIN || err=1 + fi + http=https + sudo sed -i "s/http/https/g" /var/www/kalkun/scripts/daemon.php || err=1 +else + $MY_PATH/ssl.sh off APP=kalkun DOMAIN=$DOMAIN || err=1 + http=http +fi + +sudo service nginx restart || err=1 + +if [[ $err ]]; then + echo -e "${c_red}Installation incomplète$c_" + exit 1 +else + echo -e "${c_green}Kalkun est accessible via l'URL $http://$DOMAIN$c_" + exit 0 +fi diff --git a/.install/4b-install_playsms.sh b/.install/4b-install_playsms.sh new file mode 100755 index 0000000..594d638 --- /dev/null +++ b/.install/4b-install_playsms.sh @@ -0,0 +1,102 @@ +#!/bin/bash + +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized + +[[ -f $MY_PATH/../.profile ]] && source $MY_PATH/../.profile +unset err +pwdDB=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 42 | head -n 1) + +args=$@ +[[ $args =~ noask ]] && noask=o && askSSL=o + +IP=$(ifconfig | grep "inet " | grep -v "127.0.0.1" | awk '{ print $2 }') +[[ ! $PSMS_DOMAIN ]] && echo -e "${c_yellow}Choisissez un nom de domaine pour PlaySMS (Sinon $IP sera choisi): $c_" && read PSMS_DOMAIN +[[ ! $PSMS_DOMAIN ]] && PSMS_DOMAIN=$IP && askSSL=n && noask=o + + +DOMAIN=$PSMS_DOMAIN + +## Install PHP + MySQL +$MY_PATH/1-install_requirements.sh php + +## Create database + +if [[ $(sudo mysql -e "show databases;" | grep gammu) ]]; then + pwdDB=$(cat /etc/gammu-smsdrc | grep "password" | grep -v "# " | awk '{ print $3 }') +else + sudo mysql -e "CREATE DATABASE gammu" + sudo mysql -e "CREATE USER 'gammu'@'localhost' IDENTIFIED BY '$pwdDB';" + sudo mysql -e "GRANT ALL PRIVILEGES ON gammu.* TO 'gammu'@'localhost';" + sudo mysql -e "FLUSH PRIVILEGES;" +fi + +## Clone repo playSMS +[[ -d $MY_PATH/playsms ]] && sudo rm -rf $MY_PATH/playsms +git clone https://github.com/antonraharja/playSMS.git $MY_PATH/playsms + +cp $MY_PATH/templates/4b/install-playsms.conf $MY_PATH/playsms/install.conf +sed -i "s/_pwdDB/$pwdDB/g" $MY_PATH/playsms/install.conf + +[[ -d /var/www/playsms ]] && sudo rm -rf /var/www/playsms +sudo chmod u+x $MY_PATH/playsms/install-playsms.sh +cd $MY_PATH/playsms +sed -i "s/read /confirm=y; #read /g" install-playsms.sh +sudo ./install-playsms.sh +sudo sed -i "/ishttps/d" /var/www/playsms/config.php +sudo sed -i "/http or https*/a \$core_config['ishttps'] = true;" /var/www/playsms/config.php +[[ -d $MY_PATH/playsms ]] && sudo rm -rf $MY_PATH/playsms +cd $MY_PATH + +## Start playsmsd on boot +sudo /usr/local/bin/playsmsd start + +if [[ -f /etc/rc.local ]]; then + [[ ! $(grep playsmsd /etc/rc.local) ]] && sudo sed -i '/^exit 0.*/i /usr/local/bin/playsmsd start' /etc/rc.local +else + echo "/usr/local/bin/playsmsd start" | sudo tee /etc/rc.local +fi + +## Tests +if [[ $(sudo playsmsd status) =~ "is running" ]]; then + echo -e "${c_green}playSMS a été installé correctement et le daemon est démarré =)$c_" +else + echo -e "${c_red}Une erreur est survenu$c_" + err=1 +fi + +## Config NGINX + +[[ ! -d /etc/nginx/def_conf ]] && sudo mkdir /etc/nginx/def_conf/ +sudo cp $MY_PATH/templates/rproxy/proxypass.conf /etc/nginx/def_conf/ +sudo cp $MY_PATH/templates/4b/playsms.conf /etc/nginx/conf.d/ +sudo sed -i "s/_DOMAIN/$DOMAIN/" /etc/nginx/conf.d/playsms.conf + +## Active SSL + +echo -e "${c_yellow}playSMS ne fonctionne pas sans certifcat SSL.$c_" +[[ ! $noask ]] && printf "${c_yellow}Voulez-vous installer et activer un certificat SSL maintenant pour $DOMAIN ? (o/n) $c_" && read askSSL +if [[ $askSSL =~ ^(o|y|yes|oui|Y|O|YES)$ ]]; then + $MY_PATH/ssl.sh certif APP=playsms DOMAIN=$DOMAIN + if sudo test -f /etc/letsencrypt/live/$DOMAIN/fullchain.pem; then + $MY_PATH/ssl.sh on APP=playsms DOMAIN=$DOMAIN + else + echo -e "${c_red}Une erreur s'est produite, basculement vers le mode non SSL$c_" + $MY_PATH/ssl.sh off APP=playsms DOMAIN=$DOMAIN + fi + http=https +else + $MY_PATH/ssl.sh off APP=playsms DOMAIN=$DOMAIN + http=http +fi + +sudo service nginx restart + +if [[ $err ]]; then + echo -e "${c_red}Installation incomplète$c_" + exit 1 +else + echo -e "${c_green}PlaySMS est accessible via l'URL $http://$DOMAIN$c_" + exit 0 +fi + diff --git a/.install/ssl.sh b/.install/ssl.sh index 31b95a5..f5d51de 100755 --- a/.install/ssl.sh +++ b/.install/ssl.sh @@ -6,7 +6,19 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ### Vars #DOMAIN=g1sms-blois-2.p2p.legal args=$@ -[[ "$args" =~ "type=" ]] && DOMAIN=$(echo "$args" | grep "\ diff --git a/.install/templates/4a/daemon.sh b/.install/templates/4a/daemon.sh new file mode 100755 index 0000000..37cac37 --- /dev/null +++ b/.install/templates/4a/daemon.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# Configure this (use absolute path) +PHP=/usr/bin/php # php cli path +DAEMON=/var/www/kalkun/scripts/daemon.php # daemon.php path + +# Execute +$PHP $DAEMON diff --git a/.install/templates/4a/database.php b/.install/templates/4a/database.php new file mode 100644 index 0000000..1b25db5 --- /dev/null +++ b/.install/templates/4a/database.php @@ -0,0 +1,58 @@ + .install/.OS @@ -88,13 +87,15 @@ fi repOld=$repOption [[ -z $repOption ]] && echo -e "${c_yellow}Voulez-vous installer les modules complémentaires de copylaradio ? (o/n)$c_" && read repOption -[[ $repOption =~ ^(o|1|yes|options|a|all)$ ]] && .install/3-install_copylaradio.sh; repOption=$repOld -[[ -z $repOption ]] && echo -e "${c_yellow}Voulez-vous installer l'interface web playSMS ? (o/n)$c_" && read repOption -[[ $repOption =~ ^(o|1|yes|options|a|all)$ ]] && .install/4-install_playsms.sh; repOption=$repOld +if [[ $repOption =~ ^(o|1|yes|options|a|all)$ ]]; then $MY_PATH/.install/3-install_copylaradio.sh || err=1; fi; repOption=$repOld +[[ -z $repOption ]] && echo -e "${c_yellow}Voulez-vous installer l'interface web Kalkun ? (o/n)$c_" && read repOption +if [[ $repOption =~ ^(o|1|yes|options|a|all)$ ]]; then isKalkun=1; $MY_PATH/.install/4a-install_kalkun.sh || err=1; fi; repOption=$repOld +[[ -z $repOption && -z $isKalkun ]] && echo -e "${c_yellow}Voulez-vous installer l'interface web playSMS ? (o/n)$c_" && read repOption +if [[ $repOption =~ ^(o|1|yes|options|a|all)$ ]]; then $MY_PATH/.install/4b-install_playsms.sh || err=1; fi; repOption=$repOld if [[ $err ]]; then - echo -e "---\n${c_red}L'installation n'est mal déroulé =($c_" + echo -e "---\n${c_red}L'installation générale n'est mal déroulé =($c_" else - echo -e "---\n${c_green}L'installation de votre noeud G1SMS est terminé !\nBienvenue à bord =)$c_" + echo -e "---\n${c_green}Félécitation ! L'installation de votre noeud G1SMS s'est terminé avec succès !\nBienvenue à bord =)$c_" fi exit 0 diff --git a/test.sh b/tests/test.sh similarity index 100% rename from test.sh rename to tests/test.sh From 7b18a29c7050541e7bef36bbe6ad6250bac751b9 Mon Sep 17 00:00:00 2001 From: poka Date: Sun, 15 Dec 2019 01:55:15 +0000 Subject: [PATCH 7/7] Improve error management in install. Finish Kalkun install OK --- .install/1-install_requirements.sh | 42 ++-- .install/3-install_copylaradio.sh | 2 +- .install/4a-install_kalkun.sh | 57 +++-- .install/ssl.sh | 18 +- .install/templates/{5 => 3}/default | 0 .install/templates/4a/kalkun.sql | 331 ++++++++++++++++++++++++++++ .install/templates/4a/mysql.sql | 12 - install.sh | 17 +- 8 files changed, 410 insertions(+), 69 deletions(-) rename .install/templates/{5 => 3}/default (100%) create mode 100644 .install/templates/4a/kalkun.sql diff --git a/.install/1-install_requirements.sh b/.install/1-install_requirements.sh index 602d579..6db0560 100755 --- a/.install/1-install_requirements.sh +++ b/.install/1-install_requirements.sh @@ -5,70 +5,76 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized OS=$(head -n1 $MY_PATH/.OS) isARM=$(cat $MY_PATH/.OS | grep YES) +unset err # Basics sudo apt update +echo -e "${c_yellow}Mise à jours des prérequis...$c_" sudo apt install curl jq zip unzip htop tree ntpdate gnupg ssmtp mpack imagemagick qrencode bc -y # Silkaj + Duniterpy silkaj() { + echo -e "${c_yellow}Installation de Silkaj...$c_" libsodium=$(sudo apt search libsodium 2>/dev/null | grep -v -E "header|debug symbols" | grep "Network communication" -B1 | head -n1 | awk -F '/' '{ print $1 }') [[ $libsodium =~ " " ]] && libsodium=$(echo $libsodium | awk '{ print $2 }') - sudo apt install python3-pip $libsodium -y || err=1 - pip3 install duniterpy || err=1 - pip3 install silkaj --user || err=1 + sudo apt install python3-pip $libsodium -y || err+="Install python3 and $libsodium" + pip3 install duniterpy || err+="Install duniterpy" + pip3 install silkaj --user || err+="Install Silkaj" } # Install IPFS ipfs() { + echo -e "${c_yellow}Installation d'IPFS...$c_" [[ -f /usr/local/bin/ipfs ]] && sudo service ipfs stop if [[ $isARM ]]; then - wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-arm.tar.gz -O $MY_PATH/ipfs-update.tar.gz || err=1 + wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-arm.tar.gz -O $MY_PATH/ipfs-update.tar.gz || err+="Download ipfs-update" else - wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-amd64.tar.gz -O $MY_PATH/ipfs-update.tar.gz || err=1 + wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-amd64.tar.gz -O $MY_PATH/ipfs-update.tar.gz || err+="Download ipfs-update" fi echo "INSTALL ipfs-update" - sudo tar -xvzf $MY_PATH/ipfs-update.tar.gz -C /usr/src/ || err=1 + sudo tar -xvzf $MY_PATH/ipfs-update.tar.gz -C /usr/src/ || err+="Untar ipfs-update" rm $MY_PATH/ipfs-update.tar.gz cd /usr/src/ipfs-update/ - sudo ./install.sh || err=1 + sudo ./install.sh || err+="Install ipfs-update" cd $MY_PATH echo "INSTALL latest ipfs" - sudo ipfs-update install latest || err=1 + sudo ipfs-update install latest || err+="Install IPFS" echo "CREATE SYSTEMD ipfs SERVICE" [[ -f /etc/systemd/system/ipfs.service ]] && sudo rm /etc/systemd/system/ipfs.service sudo cp -f $MY_PATH/templates/1/ipfs.service /etc/systemd/system/ sudo sed -i "s/_USER/$USER/g" /etc/systemd/system/ipfs.service - sudo systemctl daemon-reload || err=1 - sudo systemctl enable ipfs || err=1 + sudo systemctl daemon-reload || err+="Restart IPFS" + sudo systemctl enable ipfs || err+="Enable IPFS daemon" } # Install gammu gammu() { - sudo apt install ppp screen git minicom gammu -y || err=1 + echo -e "${c_yellow}Installation de gammu...$c_" + sudo apt install ppp screen git minicom gammu -y || err+="Install gammu requirements" sleep 1 - sudo apt install gammu-smsd -y || sudo apt install -f || err=1 + sudo apt install gammu-smsd -y || sudo apt install -f || err+="Install gammu" sudo usermod -aG gammu $USER } # Install PHP + MySQL php() { + echo -e "${c_yellow}Installation de PHP et MySQL$c_" if [[ $OS == "buster" ]]; then - sudo apt -y install software-properties-common nginx php php-common php-fpm php-gettext php-gd php-mysql php-curl php-imap php-mbstring php-xml php-cli mariadb-server || err=1 + sudo apt -y install software-properties-common nginx php php-common php-fpm php-gettext php-gd php-mysql php-curl php-imap php-mbstring php-xml php-cli mariadb-server || err+="Install PHP and MySQL" elif [[ $OS == "stretch" ]]; then - sudo apt -y install lsb-release apt-transport-https ca-certificates || err=1 - sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg || err=1 + sudo apt -y install lsb-release apt-transport-https ca-certificates || err+="Install apt-transport-https" + sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg || err+="Download PHP key" echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list - sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 || err=1 + sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 || err+="Download PHP key" sudo apt update - sudo apt -y install software-properties-common dirmngr nginx php7.3 php7.3-common php7.3-gettext php7.3-fpm php7.3-gd php7.3-mysql php7.3-curl php7.3-imap php7.3-mbstring php7.3-xml php7.3-cli mariadb-server || err=1 + sudo apt -y install software-properties-common dirmngr nginx php7.3 php7.3-common php7.3-gettext php7.3-fpm php7.3-gd php7.3-mysql php7.3-curl php7.3-imap php7.3-mbstring php7.3-xml php7.3-cli mariadb-server || err+="Install PHP and MySQL" else echo "${c_red}Votre système n'est pas pris en charge par ce script d'installation.$c_" exit 1 @@ -88,7 +94,7 @@ for i in $@; do done if [[ $err ]]; then - echo -e "${c_red}Installation des prérequis incomplète$c_" + echo -e "${c_red}Installation des prérequis incomplète: $err$c_" exit 1 else echo -e "${c_green}Les prérequis ont été correctement installés$c_" diff --git a/.install/3-install_copylaradio.sh b/.install/3-install_copylaradio.sh index 1de3c4f..e45c776 100755 --- a/.install/3-install_copylaradio.sh +++ b/.install/3-install_copylaradio.sh @@ -2,7 +2,7 @@ MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized -templates="$MY_PATH/templates" +templates="$MY_PATH/templates/3" isARM=$(cat $MY_PATH/.OS | grep YES) diff --git a/.install/4a-install_kalkun.sh b/.install/4a-install_kalkun.sh index 7ea5713..15f4872 100755 --- a/.install/4a-install_kalkun.sh +++ b/.install/4a-install_kalkun.sh @@ -19,7 +19,6 @@ DOMAIN=$KSMS_DOMAIN $MY_PATH/1-install_requirements.sh php ## Create database - if [[ $(sudo mysql -e "select * from mysql.user;" | grep gammu) ]]; then pwdDB=$(cat /etc/gammu-smsdrc | grep "password" | grep -v "# " | awk '{ print $3 }') else @@ -28,28 +27,37 @@ else fi if [[ ! $(sudo mysql -e "show databases;" | grep gammu) ]]; then + echo -e "${c_yellow}Création de la base de donnée...$c_" sudo mysql -e "CREATE DATABASE gammu" sudo mysql -e "GRANT ALL PRIVILEGES ON gammu.* TO 'gammu'@'localhost';" sudo mysql -e "FLUSH PRIVILEGES;" fi - -[[ ! $(sudo mysql gammu -e "SHOW TABLES LIKE 'outbox';") ]] && sudo mysql gammu < $MY_PATH/templates/4a/mysql.sql || err=1 +if [[ -z $(sudo mysql gammu -e "SHOW TABLES LIKE 'outbox';") ]]; then + echo -e "${c_yellow}Importation du dump gammu...$c_" + sudo mysql gammu < $MY_PATH/templates/4a/mysql.sql || err+="Import dump MySQL" +fi +if [[ -z $(sudo mysql gammu -e "SHOW TABLES LIKE 'kalkun';") ]]; then + echo -e "${c_yellow}Importation du dump kalkun...$c_" + sudo mysql gammu < $MY_PATH/templates/4a/kalkun.sql || err+="Import dump Kalkun" +fi ## Clone repo KALKUN [[ -d $MY_PATH/kalkun ]] && sudo rm -rf $MY_PATH/kalkun +echo -e "${c_yellow}Clonage du dépot de Kalkun...$c_" git clone https://github.com/back2arie/Kalkun.git $MY_PATH/kalkun cp $MY_PATH/templates/4a/database.php $MY_PATH/kalkun/application/config/ cp $MY_PATH/templates/4a/daemon.sh $MY_PATH/templates/4a/daemon.php $MY_PATH/kalkun/scripts -sed -i "s/_PWD/$pwdDB/g" $MY_PATH/kalkun/application/config/database.php || err=1 -echo "debug 1" -sed -i "s/_DOMAIN/$DOMAIN/g" $MY_PATH/templates/4a/daemon.php || err=1 +sed -i "s/_PWD/$pwdDB/g" $MY_PATH/kalkun/application/config/database.php || err+="Sed database password" +sed -i "s/_DOMAIN/$DOMAIN/g" $MY_PATH/templates/4a/daemon.php || err+="Sed domaine to daemon.php" + +# touch $MY_PATH/kalkun/install ## Place le dossier kalkun dans /var/www/ [[ -d /var/www/kalkun ]] && sudo rm -rf /var/www/kalkun -sudo mv $MY_PATH/kalkun /var/www/ || err=1 -sudo chown -R www-data:www-data /var/www/kalkun || err=1 +sudo mv $MY_PATH/kalkun /var/www/ || err+="Move kalkun to /var/www" +sudo chown -R www-data:www-data /var/www/kalkun || err+="Chown www-data to kalkun" sudo chmod u+x /var/www/kalkun/scripts/* ## Add daemon launcher in sms_received.sh @@ -57,40 +65,47 @@ sudo chmod u+x /var/www/kalkun/scripts/* ## Active gammu in MySQL mode if [[ $(grep "service = files" /etc/gammu-smsdrc) ]]; then - sudo sed -i "/^service = files/a service = sql\ndriver = native_mysql\nhost = localhost\nuser = gammu\npassword = $pwdDB\ndatabase = gammu" /etc/gammu-smsdrc || err=1 - sudo sed -i "/service = files/d" /etc/gammu-smsdrc || err=1 - $MY_PATH/../debug/gammu-restart.sh || err=1 + echo -e "${c_yellow}Activation de gammu-smsd en mode MySQL...$c_" + sudo sed -i "/^service = files/a service = sql\ndriver = native_mysql\nhost = localhost\nuser = gammu\npassword = $pwdDB\ndatabase = gammu" /etc/gammu-smsdrc || err+="Sed gammu-smsd" + sudo sed -i "/service = files/d" /etc/gammu-smsdrc || err+="Sed delete in gammu-smsd" + $MY_PATH/../debug/gammu-restart.sh || err+="Restart gammu" fi ## Config NGINX +echo -e "${c_yellow}Configuration de Nginx...$c_" [[ ! -d /etc/nginx/def_conf ]] && sudo mkdir /etc/nginx/def_conf/ -sudo cp $MY_PATH/templates/rproxy/proxypass.conf /etc/nginx/def_conf/ || err=1 -sudo cp $MY_PATH/templates/4a/kalkun.conf /etc/nginx/conf.d/ || err=1 -sudo sed -i "s/_DOMAIN/$DOMAIN/g" /etc/nginx/conf.d/kalkun.conf || err=1 +sudo cp $MY_PATH/templates/rproxy/proxypass.conf /etc/nginx/def_conf/ || err+="Copy proxypass.conf" +sudo cp $MY_PATH/templates/4a/kalkun.conf /etc/nginx/conf.d/ || err+="Copy kalkun.conf" +sudo sed -i "s/_DOMAIN/$DOMAIN/g" /etc/nginx/conf.d/kalkun.conf || err+="Sed domain in kalkun.conf" ## Active SSL [[ ! $noask ]] && printf "${c_yellow}Voulez-vous installer et activer un certificat SSL maintenant pour $DOMAIN ? (o/n) $c_" && read askSSL if [[ $askSSL =~ ^(o|y|yes|oui|Y|O|YES)$ ]]; then - $MY_PATH/ssl.sh certif APP=kalkun DOMAIN=$DOMAIN || err=1 + if sudo test ! -f /etc/letsencrypt/live/$DOMAIN/fullchain.pem; then + $MY_PATH/ssl.sh certif APP=kalkun DOMAIN=$DOMAIN || err+="Create SSL certification" + fi if sudo test -f /etc/letsencrypt/live/$DOMAIN/fullchain.pem; then - $MY_PATH/ssl.sh on APP=kalkun DOMAIN=$DOMAIN || err=1 + $MY_PATH/ssl.sh on APP=kalkun DOMAIN=$DOMAIN || err+="Enable SSL certification" else echo -e "${c_red}Une erreur s'est produite, basculement vers le mode non SSL$c_" - $MY_PATH/ssl.sh off APP=kalkun DOMAIN=$DOMAIN || err=1 + $MY_PATH/ssl.sh off APP=kalkun DOMAIN=$DOMAIN || err+="Disable SSL certification" fi http=https - sudo sed -i "s/http/https/g" /var/www/kalkun/scripts/daemon.php || err=1 + sudo sed -i "s/http/https/g" /var/www/kalkun/scripts/daemon.php || err+="Sed http to https in daemon.php" else - $MY_PATH/ssl.sh off APP=kalkun DOMAIN=$DOMAIN || err=1 + $MY_PATH/ssl.sh off APP=kalkun DOMAIN=$DOMAIN || err+="Disable SSL certification" http=http fi -sudo service nginx restart || err=1 +echo -e "${c_yellow}Redémarrage de Nginx...$c_" +sudo service nginx restart || err+="Restart Nginx" +echo -e "${c_yellow}Redémarrage de gammu-smsd...$c_" +$MY_PATH/../debug/gammu-restart.sh || err+="Restart gammu" if [[ $err ]]; then - echo -e "${c_red}Installation incomplète$c_" + echo -e "${c_red}Installation incomplète: $err$c_" exit 1 else echo -e "${c_green}Kalkun est accessible via l'URL $http://$DOMAIN$c_" diff --git a/.install/ssl.sh b/.install/ssl.sh index f5d51de..84ea3aa 100755 --- a/.install/ssl.sh +++ b/.install/ssl.sh @@ -4,8 +4,8 @@ MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ### Vars -#DOMAIN=g1sms-blois-2.p2p.legal -args=$@ +args=$(echo $@ | tr " " "\n") + if [[ "$args" =~ "DOMAIN=" ]]; then DOMAIN=$(echo "$args" | grep "\