#!/bin/bash MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized 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 -y # Silkaj + Duniterpy 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 || err=1 pip3 install duniterpy || err=1 pip3 install silkaj --user || err=1 } # Install IPFS 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 || 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 || err=1 fi echo "INSTALL ipfs-update" 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 || err=1 cd $MY_PATH echo "INSTALL latest ipfs" 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/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 } # Install gammu gammu() { sudo apt install ppp screen git minicom gammu -y || err=1 sleep 1 sudo apt install gammu-smsd -y || sudo apt install -f || err=1 sudo usermod -aG gammu $USER } # Install PHP + MySQL php() { 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 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 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 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 for i in $@; do echo -e "${c_yellow}Installation de $c_light$i$c_" $i done 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