2019-11-30 15:01:08 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
2019-12-06 15:51:51 +01:00
|
|
|
MY_PATH="`dirname \"$0\"`" # relative
|
|
|
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
2019-12-13 19:55:02 +01:00
|
|
|
|
|
|
|
OS=$(head -n1 $MY_PATH/.OS)
|
|
|
|
isARM=$(cat $MY_PATH/.OS | grep YES)
|
2019-12-15 02:55:15 +01:00
|
|
|
unset err
|
2019-12-06 15:51:51 +01:00
|
|
|
|
|
|
|
# Basics
|
2019-12-06 16:58:01 +01:00
|
|
|
sudo apt update
|
2019-12-15 02:55:15 +01:00
|
|
|
echo -e "${c_yellow}Mise à jours des prérequis...$c_"
|
2019-12-15 21:35:51 +01:00
|
|
|
sudo apt install curl jq zip unzip htop tree ntpdate gnupg ssmtp mpack imagemagick qrencode bc libttspico-utils libttspico0 libttspico-data python-fourletterphat -y
|
2019-11-30 15:01:08 +01:00
|
|
|
|
|
|
|
# Silkaj + Duniterpy
|
2019-12-13 18:47:16 +01:00
|
|
|
silkaj() {
|
2019-12-15 02:55:15 +01:00
|
|
|
echo -e "${c_yellow}Installation de Silkaj...$c_"
|
2019-12-13 18:47:16 +01:00
|
|
|
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 }')
|
2019-12-15 02:55:15 +01:00
|
|
|
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"
|
2019-12-13 18:47:16 +01:00
|
|
|
}
|
2019-11-30 15:01:08 +01:00
|
|
|
|
|
|
|
# Install IPFS
|
2019-12-13 18:47:16 +01:00
|
|
|
ipfs() {
|
2019-12-15 02:55:15 +01:00
|
|
|
echo -e "${c_yellow}Installation d'IPFS...$c_"
|
2019-12-13 18:47:16 +01:00
|
|
|
[[ -f /usr/local/bin/ipfs ]] && sudo service ipfs stop
|
2019-12-13 19:55:02 +01:00
|
|
|
if [[ $isARM ]]; then
|
2019-12-15 02:55:15 +01:00
|
|
|
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"
|
2019-12-13 19:55:02 +01:00
|
|
|
else
|
2019-12-15 02:55:15 +01:00
|
|
|
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"
|
2019-12-13 18:47:16 +01:00
|
|
|
fi
|
2019-12-06 15:51:51 +01:00
|
|
|
|
2019-12-13 18:47:16 +01:00
|
|
|
echo "INSTALL ipfs-update"
|
2019-12-15 02:55:15 +01:00
|
|
|
sudo tar -xvzf $MY_PATH/ipfs-update.tar.gz -C /usr/src/ || err+="Untar ipfs-update"
|
2019-12-13 18:47:16 +01:00
|
|
|
rm $MY_PATH/ipfs-update.tar.gz
|
|
|
|
cd /usr/src/ipfs-update/
|
2019-12-15 02:55:15 +01:00
|
|
|
sudo ./install.sh || err+="Install ipfs-update"
|
2019-12-13 18:47:16 +01:00
|
|
|
cd $MY_PATH
|
2019-12-06 15:51:51 +01:00
|
|
|
|
2019-12-13 18:47:16 +01:00
|
|
|
echo "INSTALL latest ipfs"
|
2019-12-15 02:55:15 +01:00
|
|
|
sudo ipfs-update install latest || err+="Install IPFS"
|
2019-12-06 15:51:51 +01:00
|
|
|
|
2019-12-13 18:47:16 +01:00
|
|
|
echo "CREATE SYSTEMD ipfs SERVICE"
|
|
|
|
[[ -f /etc/systemd/system/ipfs.service ]] && sudo rm /etc/systemd/system/ipfs.service
|
2019-12-14 21:45:36 +01:00
|
|
|
sudo cp -f $MY_PATH/templates/1/ipfs.service /etc/systemd/system/
|
2019-12-13 18:47:16 +01:00
|
|
|
sudo sed -i "s/_USER/$USER/g" /etc/systemd/system/ipfs.service
|
2019-12-06 15:51:51 +01:00
|
|
|
|
2019-12-15 02:55:15 +01:00
|
|
|
sudo systemctl daemon-reload || err+="Restart IPFS"
|
|
|
|
sudo systemctl enable ipfs || err+="Enable IPFS daemon"
|
2019-12-13 18:47:16 +01:00
|
|
|
}
|
2019-11-30 15:01:08 +01:00
|
|
|
|
|
|
|
# Install gammu
|
2019-12-13 18:47:16 +01:00
|
|
|
gammu() {
|
2019-12-15 02:55:15 +01:00
|
|
|
echo -e "${c_yellow}Installation de gammu...$c_"
|
2019-12-16 00:24:16 +01:00
|
|
|
sudo apt install wvdial ppp screen git minicom gammu -y || err+="Install gammu requirements"
|
2019-12-13 18:47:16 +01:00
|
|
|
sleep 1
|
2019-12-15 02:55:15 +01:00
|
|
|
sudo apt install gammu-smsd -y || sudo apt install -f || err+="Install gammu"
|
2019-12-13 18:47:16 +01:00
|
|
|
|
|
|
|
sudo usermod -aG gammu $USER
|
|
|
|
}
|
2019-12-06 16:58:01 +01:00
|
|
|
|
2019-12-13 18:47:16 +01:00
|
|
|
# Install PHP + MySQL
|
|
|
|
php() {
|
2019-12-15 02:55:15 +01:00
|
|
|
echo -e "${c_yellow}Installation de PHP et MySQL$c_"
|
2019-12-13 19:55:02 +01:00
|
|
|
if [[ $OS == "buster" ]]; then
|
2019-12-15 02:55:15 +01:00
|
|
|
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"
|
2019-12-13 19:55:02 +01:00
|
|
|
elif [[ $OS == "stretch" ]]; then
|
2019-12-15 02:55:15 +01:00
|
|
|
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"
|
2019-12-14 21:45:36 +01:00
|
|
|
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list
|
|
|
|
sudo apt update
|
2019-12-15 02:55:15 +01:00
|
|
|
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"
|
2019-12-13 18:47:16 +01:00
|
|
|
else
|
2019-12-14 21:45:36 +01:00
|
|
|
echo "${c_red}Votre système n'est pas pris en charge par ce script d'installation.$c_"
|
|
|
|
exit 1
|
2019-12-13 18:47:16 +01:00
|
|
|
fi
|
2019-11-30 15:01:08 +01:00
|
|
|
|
2019-12-14 21:45:36 +01:00
|
|
|
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"
|
2019-12-13 18:47:16 +01:00
|
|
|
}
|
2019-11-30 15:01:08 +01:00
|
|
|
|
2019-12-13 18:47:16 +01:00
|
|
|
# Read arguments
|
|
|
|
for i in $@; do
|
|
|
|
echo -e "${c_yellow}Installation de $c_light$i$c_"
|
|
|
|
$i
|
|
|
|
done
|
2019-12-12 18:50:13 +01:00
|
|
|
|
2019-12-14 21:45:36 +01:00
|
|
|
if [[ $err ]]; then
|
2019-12-15 02:55:15 +01:00
|
|
|
echo -e "${c_red}Installation des prérequis incomplète: $err$c_"
|
2019-12-14 21:45:36 +01:00
|
|
|
exit 1
|
|
|
|
else
|
|
|
|
echo -e "${c_green}Les prérequis ont été correctement installés$c_"
|
|
|
|
exit 0
|
|
|
|
fi
|