From c031e76fb02ab5a692214c87d4e3a8faddd463f6 Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 6 Dec 2019 18:06:18 +0100 Subject: [PATCH] Fix install_optionnal.sh --- .install/configure_ipfs_layer.sh | 67 ++++---------------------------- .install/install_optional.sh | 64 ++++++++++++++++++++++++++++++ .install/install_requirements.sh | 1 - install.sh | 8 +++- 4 files changed, 79 insertions(+), 61 deletions(-) create mode 100755 .install/install_optional.sh diff --git a/.install/configure_ipfs_layer.sh b/.install/configure_ipfs_layer.sh index 8a37557..719f9e1 100755 --- a/.install/configure_ipfs_layer.sh +++ b/.install/configure_ipfs_layer.sh @@ -13,16 +13,14 @@ templates="$MY_PATH/templates" ####################################### # CONFIGURE IPFS for G1sms+ Pi NODES ####################################### -echo "DEFAULT INSTALL SCRIPT. VALIDATED ON RASPBERRYPI, SHOULD BE ADAPTED IF NOT ARM ARCH SYSTEM. -You are going to configure ipfs daemon environement for running G1sms+ NODE. -Ready?" -read -if [[ "$USER" == "root" ]]; then echo "Better run by 'pi', please create non-root user and become that user before launching ipfs install..."; exit; +if [ "$EUID" -eq 0 ] + then echo "Veuillez ne pas executez ce script en root. Choisissez un utilisateur pour votre serveur G1sms+ (nous recommandons l'utilisateur pi)" + exit 1 else echo "$USER, let's go!"; fi -## TODO: Check if IPFS is installed +[[ -d ~/.ipfs/ ]] && rm -rf ~/.ipfs-old && mv ~/.ipfs/ ~/.ipfs-old ################ # BECOME $USER @@ -47,59 +45,10 @@ ipfs bootstrap add /ip4/51.15.2.211/tcp/4001/ipfs/QmSX7gFRPHui5A2DWFk2VmBvq6hynj # ALLOW REMOTE SSH CONNECTION FROM rec OR onelove (For swarm.key & keystore exchange ) # ADD SSH ADMIN/SUPPORT USERS $(cat .ssh/id_rsa.pub) -echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs6oXRmPukaX7u2tDcFF1cecsDSEA30YyUqDaXSrw+yWQ8G79ktZ7BN0bPYBgfxO59FU8l5Jg1SPPG9kj81jfoCwGJpYdbczmMuP/iqw3aNoGv66swxwxzrqzbHrFFCXgn+6B2spDjn87tFB8JvQQTb2Kc4/sAZ9E6eY61pFiNpqbQehXdqSV5UemV9dkSQrnmJTl1PjUQ474AKQwFPzpdKHD/3VvqQS4i7ZLVeXS65euOP/YY8Bx9HvhsmhJ3h78OOK+D6GFfyv010xXBoG6kCSYR8LYMCEexpPGYV+Mduf/tUHjHP4GuWZAhd+wLRl0uPy6Tv7wHFfLyN01m/9vl fred@rec" >> ~/.ssh/authorized_keys -echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFthQ3FggJlz/+ZglZJjVJzYs6ehx/iB7f89KY396K+7ai4ETqFhq6ANVp9xeQ4dLU26w0bFBELcnh9rn5QDSrXjsIptoWXErkSdZOeXqofnLtJEOhZO/I328y0C1vQRwtMMXKLLnqPe14h+zJenc7KJbL5cvB3Hd7nfQ+Q0uEnIsKb0f5wcKagySHIFdmY/FqaGz5g4MXGq7nlX/31hvfTFhF0g+k3mhvTTVQ368Op9qZZIozYhBoojWWvK5mwAovxdS9QT1hKrFXHfjov/aKQxLAy0a0oxFvHKoYN/l4ffGibFMAmedljTxf1VSDBv/k/RN53UU6RufW3qqBjY0b fred@onelove" >> ~/.ssh/authorized_keys +if [[ -z $(grep fred@rec ~/.ssh/authorized_keys) ]]; then + echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs6oXRmPukaX7u2tDcFF1cecsDSEA30YyUqDaXSrw+yWQ8G79ktZ7BN0bPYBgfxO59FU8l5Jg1SPPG9kj81jfoCwGJpYdbczmMuP/iqw3aNoGv66swxwxzrqzbHrFFCXgn+6B2spDjn87tFB8JvQQTb2Kc4/sAZ9E6eY61pFiNpqbQehXdqSV5UemV9dkSQrnmJTl1PjUQ474AKQwFPzpdKHD/3VvqQS4i7ZLVeXS65euOP/YY8Bx9HvhsmhJ3h78OOK+D6GFfyv010xXBoG6kCSYR8LYMCEexpPGYV+Mduf/tUHjHP4GuWZAhd+wLRl0uPy6Tv7wHFfLyN01m/9vl fred@rec" >> ~/.ssh/authorized_keys + echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFthQ3FggJlz/+ZglZJjVJzYs6ehx/iB7f89KY396K+7ai4ETqFhq6ANVp9xeQ4dLU26w0bFBELcnh9rn5QDSrXjsIptoWXErkSdZOeXqofnLtJEOhZO/I328y0C1vQRwtMMXKLLnqPe14h+zJenc7KJbL5cvB3Hd7nfQ+Q0uEnIsKb0f5wcKagySHIFdmY/FqaGz5g4MXGq7nlX/31hvfTFhF0g+k3mhvTTVQ368Op9qZZIozYhBoojWWvK5mwAovxdS9QT1hKrFXHfjov/aKQxLAy0a0oxFvHKoYN/l4ffGibFMAmedljTxf1VSDBv/k/RN53UU6RufW3qqBjY0b fred@onelove" >> ~/.ssh/authorized_keys +fi # START ipfs sudo systemctl start ipfs - -################################## -## INSTALL TOOLS -######## YOUTUBE-DL ########## -sudo wget -P $MY_PATH 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 - - -## CONFIG MPD -sudo cp -f $templates/mpd.conf /etc/mpd.conf -sudo sed -i "s/_USER/$USER/g" /etc/mpd.conf - -sudo chown -R $USER /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd -sudo service mpd restart - - -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 - -wget -P $MY_PATH http://launchpadlibrarian.net/339874908/libav-tools_3.3.4-2_all.deb -wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-data_1.0+git20130326-3_all.deb -wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-3_armhf.deb -wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-3_armhf.deb -sudo dpkg -i $MY_PATH/libttspico-data_1.0+git20130326-3_all.deb -sudo dpkg -i $MY_PATH/libttspico0_1.0+git20130326-3_armhf.deb -sudo dpkg -i $MY_PATH/libttspico-utils_1.0+git20130326-3_armhf.deb -sudo dpkg -i $MY_PATH/libav-tools_3.3.4-2_all.deb -rm $MY_PATH/libttspico-data_1.0+git20130326-3_all.deb $MY_PATH/libttspico0_1.0+git20130326-3_armhf.deb $MY_PATH/libttspico-utils_1.0+git20130326-3_armhf.deb $MY_PATH/libav-tools_3.3.4-2_all.deb - - -# CONFIG NGINX -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 - -################################# -## Get _CopyLaRadio distrib -# ipfs get Qm.... > /tmp/copylaradio.zip - -# Add CopyLaRadio to system PATH -#export PATH=$PATH:/home/$USER/_CopyLaRadio -# etc.... - -# INSTALL ROMPR WebSite LINKs -#sudo ln -s /home/$USER/_CopyLaRadio/www/rompr /var/www/rompr -#sudo chmod 777 /home/$USER/_CopyLaRadio/www/rompr/albumart -#sudo chmod 777 /home/$USER/_CopyLaRadio/www/rompr/prefs - diff --git a/.install/install_optional.sh b/.install/install_optional.sh new file mode 100755 index 0000000..7c41851 --- /dev/null +++ b/.install/install_optional.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +templates="$MY_PATH/templates" + +isARM=$(uname -a | grep arm) + +################################## +## INSTALL TOOLS +######## YOUTUBE-DL ########## +sudo wget -P $MY_PATH 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 + + +## CONFIG MPD +sudo cp -f $templates/mpd.conf /etc/mpd.conf +sudo sed -i "s/_USER/$USER/g" /etc/mpd.conf + +sudo chown -R $USER /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd +sudo service mpd restart + + +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 + +wget -P $MY_PATH http://launchpadlibrarian.net/339874908/libav-tools_3.3.4-2_all.deb -O libav-tools.deb +wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-data_1.0+git20130326-3_all.deb -O libttspico-data.deb +if [[ -z $isARM ]]; then + wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-5_amd64.deb -O libttspico0.deb + wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-9_amd64.deb -O libttspico-utils.deb +else + wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-3_armhf.deb -O libttspico0.deb + wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-3_armhf.deb -O 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 +rm $MY_PATH/libttspico-data.deb $MY_PATH/libttspico0.deb $MY_PATH/libttspico-utils.deb $MY_PATH/libav-tools.deb + + +# CONFIG NGINX +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 + +################################# +## Get _CopyLaRadio distrib +# ipfs get Qm.... > /tmp/copylaradio.zip + +# Add CopyLaRadio to system PATH +#export PATH=$PATH:/home/$USER/_CopyLaRadio +# etc.... + +# INSTALL ROMPR WebSite LINKs +#sudo ln -s /home/$USER/_CopyLaRadio/www/rompr /var/www/rompr +#sudo chmod 777 /home/$USER/_CopyLaRadio/www/rompr/albumart +#sudo chmod 777 /home/$USER/_CopyLaRadio/www/rompr/prefs + +exit 0 diff --git a/.install/install_requirements.sh b/.install/install_requirements.sh index 6950539..f57f869 100755 --- a/.install/install_requirements.sh +++ b/.install/install_requirements.sh @@ -14,7 +14,6 @@ pip3 install silkaj # Install IPFS [[ ! -z $(which /usr/local/bin/ipfs) ]] && sudo service ipfs stop -[[ -d ~/.ipfs/ ]] && mv ~/.ipfs/ ~/.ipfs-old if [[ -z $isARM ]]; then wget -P $MY_PATH https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-amd64.tar.gz -O ipfs-update.tar.gz else diff --git a/install.sh b/install.sh index c6b043e..b9eb09c 100755 --- a/install.sh +++ b/install.sh @@ -9,7 +9,9 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized init_loc="$MY_PATH/shell/init.sh" now=$(date +%Y-%m-%d) -chmod u+x .install/configure_ipfs_layer.sh .install/install_requirements.sh +chmod u+x .install/configure_ipfs_layer.sh .install/install_requirements.sh .install/install_optional.sh + +repOption=$1 if [ "$EUID" -eq 0 ] then echo "Veuillez ne pas executez ce script en root. Choisissez un utilisateur pour votre serveur G1sms+ (nous recommandons l'utilisateur pi)" @@ -56,4 +58,8 @@ if [[ -f $MY_PATH/.install/templates/init.sh ]]; then cat $init_loc else echo "init.sh introuvable..." + exit 1 fi + +[[ -z $repOption || $repOption != "no" ]] && read -p "Voulez-vous installer les modules complémentaires de copylaradio ? (o/n)" repOption +[[ $repOption =~ ^(o|1|yes|options)$ ]] && .install/install_optional.sh