From b1a333ae2e7c719558d57d795d15d605261da63e Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 13 Dec 2019 19:55:02 +0100 Subject: [PATCH] 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