|
- #!/bin/bash
- # Allo-GG
- # Installation de Allo-GG sur un Pi Zero avec Rasbian.
-
- ################################################
- # MERCI DE MODIFIER LA CONFIGURATION SUIVANTE :#
- ################################################
- # NOM DU RESEAU WI-FI (SSID) #
- wifi_ssid='nom-du-reseau-wifi-SSID'
- # #
- # MOT DE PASSE DU RESEAU WI-FI
- wifi_psw='mdp-du-reseau-wifi'
- # #
- # MOT DE PASSE POUR L'ACCES ALLO-GG #
- allogg_psw='mdp-pour-acces-allogg'
- ################################################
-
-
-
- # Configuration du nom reseau du module
- echo "allo-gg" > /etc/hostname
-
- # Configuration du Wi-FI
- echo "ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev" > /etc/wpa_supplicant/wpa_supplicant.conf
- echo "update_config=1" >> /etc/wpa_supplicant/wpa_supplicant.conf
- echo "country=FR" >> /etc/wpa_supplicant/wpa_supplicant.conf
- echo >> /etc/wpa_supplicant/wpa_supplicant.conf
- echo "network={" >> /etc/wpa_supplicant/wpa_supplicant.conf
- echo ' ssid="'$wifi_ssid'"' >> /etc/wpa_supplicant/wpa_supplicant.conf
- echo ' psk="'$wifi_psw'"' >> /etc/wpa_supplicant/wpa_supplicant.conf
- echo "}" >> /etc/wpa_supplicant/wpa_supplicant.conf
-
- sleep 2
- echo
- echo "Connexion en cours sur internet ..."
- ifdown --force wlan0
- sleep 2
- ifup wlan0
- sleep 2
-
- # tester 5 ping
- if ping -c5 1.1.1.1 | grep -q '0% packet loss'
- # Si la reponse est 0 paquets perdu, alors OK
- then
- echo "[✅ OK] Internet"
- # Mais sinon, il y a un probleme
- else
- # Tentative de relancer le wifi ...
- sleep 2
- echo
- echo "[❌ ERREUR] Probleme sur le Wifi ? Tentative de relancer la connexion en cours ..."
- ifdown --force wlan0
- sleep 2
- ifup wlan0
- sleep 2
-
- # ... puis refaire un test, en testant 10 ping cette fois
- if ping -c10 1.1.1.1 | grep -q '0% packet loss'
- # Si la reponse est 0 paquets perdu, alors finalement tout va bien
- then
- echo "[✅ OK] Internet"
- # Mais si le probleme est toujours present, alors on alerte :
- else
- echo "[❌ ERREUR] Internet"
- echo "Merci de verifier la configuration Wi-Fi dans le fichier /etc/wpa_supplicant/wpa_supplicant.conf"
- exit
- fi
- fi
-
- # Activation du SSH
- systemctl enable ssh
- systemctl start ssh
-
- # Installation des utilitaires
- cd || exit
- apt-get -y install apache2 php7.0 git-core vim tree rsync lsof curl screen
-
- # Installation de log2ram
- git clone https://git.heuzef.com/heuzef/log2ram.git
- cd log2ram || exit
- chmod +x install.sh
- ./install.sh
- cd || exit
-
- # Installation de wiringPi
- git clone https://git.heuzef.com/heuzef/WiringPi.git
- cd wiringPi || exit
- chmod +x build
- ./build
- cd || exit
-
- # Creation des utilisateurs
- useradd --create-home allo-gg
- adduser allo-gg sudo
- echo allo-gg:$allogg_psw | chpasswd
- echo root:$allogg_psw | chpasswd
-
- # Suppression de l'utilisateur "pi"
- deluser -f --remove-home pi
-
- # Execution automatique de bash a la connexion
- echo "bash" >> /home/allo-gg/.profile
-
- # Définition de la Timezone et activation de la synchro NTP
- timedatectl set-timezone Europe/Paris
- timedatectl set-ntp true
- sed -i '$ d' /etc/systemd/timesyncd.conf
- echo "FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org" >> /etc/systemd/timesyncd.conf
-
- # Autoriser le reboot du module
- echo >> /etc/sudoers
- echo "## user is allowed to execute halt and reboot" >> /etc/sudoers
- echo "allo-gg ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff" >> /etc/sudoers
- echo "www-data ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff" >> /etc/sudoers
-
- # Autorisation de clefs SSH publiques
- mkdir /home/allo-gg/.ssh/
- echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDhcGWA/uNEz7AFTfSZJBrxZjSB3KVHNNl0xnRfQWlEkJvqNeap64kv39DWajCKUsGpx2TDvJjQVoeMZFKFiA952S6+rkboO4piWOe7PswWwHAD/UrJYzTOEt+Dk8RnYH+FbMsj8gFrJZCJeOtjcflVIaaGAKX0gIDvf/1RAlBKM9KrsOLs/ELBzfGgIfa4ODF1qm3x6UnEu/X339Qk6A4OwzCkKtkzDIFjXt8BymO/iUiFe5DAaBk2IwOrnloQqHL6ROSDvtaHDsWkuLt8M6p1HB+7VdFMSgKfYXmiRxOyxnAYA4fcy8PLmyzStOkpAsy0BxoIeNsehTA4HtL14tgsJMWVhZ33guIP6F2d2cg9lzl0q2qSiKNc+XX+923LbWr6AlSaWyWQk0Z60jkAL1xyfJlUJ3r4kz+AYtp8AuV+9L7I8t8QWtDfjE8RNDwhjZNKyciDUHggbl+qIJ2e7del3izEtE9IBdIqWTKYTWk1canUCGYvGuZP+cacP8p6lFFSIVcoO6rvnbhBW8BcqkZl3rkhmGifYG40r+0a7wpZ/JJh/heQ2BRUI+xtmNBgJcF/6DhtqWdSZdRXAsBZPiX99EJR+RlFRi+l1MBnLb0fZafn6H3zKuOEv2NYlmBHccW5ZrFIWyQ4yUnKJ75i1wXtsoJ4BYlUhv7EaHPp4CvpYQ== Heuzef" >> /home/allo-gg/.ssh/authorized_keys
- echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkdi/Nt+Remfwx5vM/lBmnTUOQ3+UJtbT4P1P+sOXt0dADUHj7gRvZxfb73n7A8y6rfocDiV4IRf1yvg8JWrAFC7/aDCMYDAOMAld9fKFU7u73beWl0zMSTVSGxt2MTSpyU+POx6VvucWppJQJN8R2VtAPHheUZlpLEf0n2gzgyYEYuHEOPHfx91u3omu4QCYRVWv4ZFRCCvznC2Cd+GW2S8uNqe6oxe2HuXtghAIRO+XXDSfwJc0lsm7uKMJ9rtQMYSYUI0f3HErHArf5ssQMCMcHivdJuoWEmvK2UarQdT5kKlytDUjFMrjj4Ks6+Ew6mdvp6H4/PeRjONaDWOQ3 karimcisse@Karims-MacBook-Air.local" >> /home/allo-gg/.ssh/authorized_keys
-
- # Desactiver toutes authentifications SSH par mot de passe
- echo "PasswordAuthentication no" >> /etc/ssh/sshd_config
- echo "PermitRootLogin no" >> /etc/ssh/sshd_config
-
- # Desactiver les services innutiles
- systemctl stop bluetooth
- systemctl disable bluetooth
- systemctl mask bluetooth.service
-
- # Installation de Allo-GG
- rm -vf /var/www/html/index.html
- chown -R allo-gg:allo-gg /var/www/html/
- su -l allo-gg -c "git clone https://git.heuzef.com/heuzef/Allo-GG.git /var/www/html/"
- mv -vf /var/www/html/log2ram.conf /etc/
- mv /etc/cron.hourly/log2ram /etc/cron.daily/log2ram
-
- # Definition du mot de passe
- sed -i "s/#allogg_psw#/$allogg_psw/g" /var/www/html/ui/index.php
-
- # Lancement automatique du script de demarrage
- cp -a /etc/rc.local /etc/rc.local.bak
- echo "#!/bin/sh -e" > /etc/rc.local
- echo "#" >> /etc/rc.local
- echo "# rc.local" >> /etc/rc.local
- echo "" >> /etc/rc.local
- echo "/bin/bash /var/www/html/scripts/boot.sh &" >> /etc/rc.local
- echo "" >> /etc/rc.local
- echo "exit 0" >> /etc/rc.local
-
- # Mise en place de la routine de verification de l'etat des services
- echo '*/20 * * * * /var/www/html/scripts/check_services.sh > /dev/null' | crontab -u allo-gg -
-
- # Creation du fichier de log
- date > /var/www/html/ui/allo-gg.log
- echo "Installation du module ALLO-GG" >> /var/www/html/ui/allo-gg.log
- echo "----------------------------" >> /var/www/html/ui/allo-gg.log
- echo >> /var/www/html/ui/allo-gg.log
-
- echo
- echo "----------------------------"
- echo "Installation OK ! Redemarrage dans 10 secondes ..."
- echo "L'interface web est maintenant accessible sur l'adresse IP du module :"
- echo "----------------------------"
- hostname -I
- echo "----------------------------"
- sleep 10
- sh /var/www/html/scripts/reboot.sh
|