2020-03-25 18:21:56 +01:00
|
|
|
#!/bin/bash
|
|
|
|
###########################################
|
|
|
|
echo "NO READY TO USE. REWRITING..." && exit 1
|
|
|
|
###########################################
|
|
|
|
|
|
|
|
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)
|
|
|
|
unset err
|
|
|
|
|
|
|
|
# Basics
|
|
|
|
sudo apt update
|
|
|
|
echo -e "${c_yellow}Mise à jours des prérequis...$c_"
|
2020-03-26 04:43:41 +01:00
|
|
|
sudo apt install curl jq zip unzip htop tree ntpdate gnupg mpack imagemagick qrencode build-essential base58 bc -y
|
2020-03-25 18:21:56 +01:00
|
|
|
|
|
|
|
# Silkaj + Duniterpy
|
|
|
|
silkaj() {
|
|
|
|
echo -e "${c_yellow}Installation de Silkaj...$c_"
|
2020-03-26 04:43:41 +01:00
|
|
|
libsodium=$(sudo apt-cache search libsodium 2>/dev/null | grep -v -E "header|debug symbols" | grep "Network communication" -B1 | head -n1 | awk -F '-' '{ print $1 }')
|
2020-03-25 18:21:56 +01:00
|
|
|
[[ $libsodium =~ " " ]] && libsodium=$(echo $libsodium | awk '{ print $2 }')
|
2020-03-26 04:43:41 +01:00
|
|
|
sudo apt install libsodium-dev libssl-dev libffi-dev python3-pip python3-wheel $libsodium -y || err+="Install python3 and $libsodium"
|
2020-03-25 18:21:56 +01:00
|
|
|
pip3 install duniterpy || err+="Install duniterpy"
|
|
|
|
pip3 install silkaj --user || err+="Install Silkaj"
|
2020-03-26 04:43:41 +01:00
|
|
|
|
|
|
|
source .profile ## PATH="$HOME/.local/bin:$PATH"
|
2020-03-25 18:21:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Install PHP + MySQL (TODO: REWRITE!!)
|
|
|
|
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+="Install PHP and MySQL"
|
|
|
|
elif [[ $OS == "stretch" ]]; then
|
|
|
|
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 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+="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
|
|
|
|
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: $err$c_"
|
|
|
|
exit 1
|
|
|
|
else
|
|
|
|
echo -e "${c_green}Les prérequis ont été correctement installés$c_"
|
|
|
|
exit 0
|
|
|
|
fi
|