From e5b340837796b83de8dbd7470ef2642127b83d83 Mon Sep 17 00:00:00 2001 From: pucherot Date: Mon, 18 Jan 2021 15:43:03 +0100 Subject: [PATCH] Update INSTALL.md --- docs/INSTALL.md | 314 +++++++++++++++++++++++++++--------------------- 1 file changed, 174 insertions(+), 140 deletions(-) diff --git a/docs/INSTALL.md b/docs/INSTALL.md index cc3202d3..1b4e6fa2 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -17,189 +17,223 @@ Estimated time: 20' # Installation process + ## Raspberry Setup -1 - Install 'Raspberry Pi OS' - - Instructions https://www.raspberrypi.org/documentation/installation/installing-images/ - - *Lite version (without Descktop) is enough for Pi.Alert* +1.1 - Install 'Raspberry Pi OS' + - Instructions https://www.raspberrypi.org/documentation/installation/installing-images/ + - *Lite version (without Descktop) is enough for Pi.Alert* -2 - Activate ssh - - Create a empty file with name 'ssh' in the boot partition of the SD +1.2 - Activate ssh + - Create a empty file with name 'ssh' in the boot partition of the SD -3 - Start the raspberry +1.3 - Start the raspberry -4 - Login to the system with pi user - ``` - user: pi - password: raspberry - ``` +1.4 - Login to the system with pi user + ``` + user: pi + password: raspberry + ``` -5 - Change the default password of pi user - ``` - passwd - ``` +1.5 - Change the default password of pi user + ``` + passwd + ``` -6 - Setup the basic configuration - ``` - sudo raspi-config - ``` +1.6 - Setup the basic configuration + ``` + sudo raspi-config + ``` -7 - Optionally, configure a static IP in raspi-config +1.7 - Optionally, configure a static IP in raspi-config + +1.8 - Update the OS + ``` + sudo apt-get update + sudo apt-get upgrade + sudo shutdown -r now + ``` -8 - Update the OS - ``` - sudo apt-get update - sudo apt-get upgrade - sudo shutdown -r now - ``` ## Pi-hole Setup -1- Links & Doc - - https://pi-hole.net/ - - https://github.com/pi-hole/pi-hole - - https://github.com/pi-hole/pi-hole/#one-step-automated-install +2.1 - Links & Doc + - https://pi-hole.net/ + - https://github.com/pi-hole/pi-hole + - https://github.com/pi-hole/pi-hole/#one-step-automated-install -2 - Login to the system with pi user +2.2 - Login to the system with pi user -3 - Install Pi-hole - ``` - curl -sSL https://install.pi-hole.net | bash - ``` - - Mark "Install web admin interface" - - Mark "Install web server lighttpd" +2.3 - Install Pi-hole + ``` + curl -sSL https://install.pi-hole.net | bash + ``` + - Select "Install web admin interface" + - Select "Install web server lighttpd" -4 - Configure Pi-hole admin password - ``` - pihole -a -p PASSWORD - ``` +2.4 - Configure Pi-hole admin password + ``` + pihole -a -p PASSWORD + ``` -5 - Connect to web admin panel - - http://192.168.1.x/admin/ - - (*replace 192.168.1.x with your Raspberry IP*) +2.5 - Connect to web admin panel + - http://192.168.1.x/admin/ + - (*replace 192.168.1.x with your Raspberry IP*) -6 - Activate DHCP server - - Pi-hole -> Settings -> DHCP -> Mark "DHCP server enabled" +2.6 - Activate DHCP server + - Pi-hole -> Settings -> DHCP -> Mark "DHCP server enabled" -7 - Add pi.alert DNS Record - - Pi-hole -> Local DNS -> DNS Records -> Add new domain /IP - - pi.alert 192.168.1.x - - (*replace 192.168.1.x with your Raspberry IP*) +2.7 - Add pi.alert DNS Record + ``` + hostname -I + ``` + - Pi-hole -> Local DNS -> DNS Records -> Add new domain /IP + - pi.alert 192.168.1.x + - (*replace 192.168.1.x with your Raspberry IP*) -8 - Deactivate your current DHCP Server (*Normaly at your router or AP*) +2.8 - Deactivate your current DHCP Server (*Normaly at your router or AP*) + +2.9 - Renew your computer IP to unsure you are using the new DHCP and DNS server + - Windows: cmd -> ipconfig /renew + - Linux: shell -> sudo dhclient -r; sudo dhclient + - Mac: Apple menu -> System Preferences -> Network -> Select the network + -> Advanced -> TCP/IP -> Renew DHCP Lease + + +## Lighttpd & PHP + +If you have already installed pi.hole, this step is not necessary + +3.1 - Install lighttpd + ``` + sudo apt-get install lighttpd -y + ``` + +3.2 - Install PHP + ``` + sudo apt-get install php php-cgi php-fpm php-sqlite3 -y + ``` + +3.3 - Activate PHP + ``` + sudo lighttpd-enable-mod fastcgi-php + sudo service lighttpd force-reload + ``` -9 - Renew your computer IP to unsure you are using the new DHCP and DNS server - - Windows: cmd -> ipconfig /renew - - Linux: shell -> sudo dhclient -r; sudo dhclient - - Mac: Apple menu -> System Preferences -> Network -> Select the network -> - Advanced -> TCP/IP -> Renew DHCP Lease ## arp-scan & Python -1 - Install arp-scan utility and test - ``` - sudo apt-get install arp-scan - sudo arp-scan -l - ``` +4.1 - Install arp-scan utility and test + ``` + sudo apt-get install arp-scan + sudo arp-scan -l + ``` -2 - Install Python & packages - ``` - sudo apt-get install python-setuptools - sudo apt install python-pip +4.2 - Test Python + New versions of 'Raspberry Pi OS' includes python. You can check that + Python is installed with the command: + ``` + python -V + ``` - pip install netaddr - pip install dpkt - pip install MacLookup - ``` +4.3 - If python is not installed in your system, you can install it with this + command: + ``` + sudo apt-get install python + ``` ## Pi.Alert -1- Download Pi.Alert and uncompress - ``` - curl -LO https://github.com/pucherot/Pi.Alert/raw/main/install/pialert_latest.tar - tar xvf pialert_latest.tar - rm pialert_latest.tar - ``` +5.1 - Download Pi.Alert and uncompress + ``` + curl -LO https://github.com/pucherot/Pi.Alert/raw/main/install/pialert_latest.tar + tar xvf pialert_latest.tar + rm pialert_latest.tar + ``` -2 - Public the front portal - ``` - sudo ln -s /home/pi/pialert/front /var/www/html/pialert - ``` +5.2 - Public the front portal + ``` + sudo ln -s /home/pi/pialert/front /var/www/html/pialert + ``` -3 - Update lighttpd config - ``` - sudo sh -c "printf '\n\n\$HTTP[\"host\"] == \"pi.alert\" {\n server.document-root = \"/var/www/html/pialert/\"\n}\n' >> /etc/lighttpd/external.conf" - sudo /etc/init.d/lighttpd restart - ``` +5.3 - Update lighttpd config + ``` + sudo sh -c "printf '\n\n\$HTTP[\"host\"] == \"pi.alert\" {\n server.document-root = \"/var/www/html/pialert/\"\n}\n' >> /etc/lighttpd/external.conf" + sudo /etc/init.d/lighttpd restart + ``` -4 - If you want to use email reporting with gmail - - Go to your Google Account https://myaccount.google.com/ - - On the left navigation panel, click Security - - On the bottom of the page, in the Less secure app access panel, - click Turn on access - - Click Save button +5.4 - If you want to use email reporting with gmail + - Go to your Google Account https://myaccount.google.com/ + - On the left navigation panel, click Security + - On the bottom of the page, in the Less secure app access panel, + click Turn on access + - Click Save button -5 - Config Pialert parameters - ``` - nano ~/pialert/back/pialert.conf - ``` - - If you want to use email reporting, configure this parameters - ```ini - REPORT_MAIL = True - SMTP_USER = 'user@gmail.com' - SMTP_PASS = 'password' - REPORT_TO = 'user@gmail.com' - ``` +5.5 - Config Pialert parameters + ``` + nano ~/pialert/back/pialert.conf + ``` + - If you want to use email reporting, configure this parameters + ```ini + REPORT_MAIL = True + SMTP_USER = 'user@gmail.com' + SMTP_PASS = 'password' + REPORT_TO = 'user@gmail.com' + ``` - - If you want to update your Dynamic DNS, configure this parameters - ```ini - DDNS_ACTIVE = True - DDNS_DOMAIN = 'your_domain.freeddns.org' - DDNS_USER = 'dynu_user' - DDNS_PASSWORD = 'A0000000B0000000C0000000D0000000' - DDNS_UPDATE_URL = 'https://api.dynu.com/nic/update?' - ``` + - If you want to update your Dynamic DNS, configure this parameters + ```ini + DDNS_ACTIVE = True + DDNS_DOMAIN = 'your_domain.freeddns.org' + DDNS_USER = 'dynu_user' + DDNS_PASSWORD = 'A0000000B0000000C0000000D0000000' + DDNS_UPDATE_URL = 'https://api.dynu.com/nic/update?' + ``` - If you have installed Pi.hole and DHCP, activate this parameters - ```ini - PIHOLE_ACTIVE = True - DHCP_ACTIVE = True - ``` + ```ini + PIHOLE_ACTIVE = True + DHCP_ACTIVE = True + ``` -6 - Update vendors DB - ``` - python ~/pialert/back/pialert.py update_vendors - ``` +5.6 - Update vendors DB + ``` + python ~/pialert/back/pialert.py update_vendors + ``` -7 - Test Pi.Alert Scan - ``` - python ~/pialert/back/pialert.py internet_IP - python ~/pialert/back/pialert.py 1 - ``` +5.7 - Test Pi.Alert Scan + ``` + python ~/pialert/back/pialert.py internet_IP + python ~/pialert/back/pialert.py 1 + ``` -8 - Add crontab jobs - ``` - (crontab -l 2>/dev/null; cat ~/pialert/back/pialert.cron) | crontab - - ``` +5.8 - Add crontab jobs + ``` + (crontab -l 2>/dev/null; cat ~/pialert/back/pialert.cron) | crontab - + ``` -9 - Add permissions to the web-server user - ``` - sudo chgrp -R www-data ~/pialert/back ~/pialert/back/pialert.conf ~/pialert/front ~/pialert/db - chmod -R 770 ~/pialert/back ~/pialert/back/pialert.conf ~/pialert/front ~/pialert/db - ``` +5.9 - Add permissions to the web-server user + ``` + sudo chgrp -R www-data ~/pialert/back ~/pialert/back/pialert.conf ~/pialert/front ~/pialert/db + chmod -R 770 ~/pialert/back ~/pialert/back/pialert.conf ~/pialert/front ~/pialert/db + ``` -10 - Check DNS record por pi.alert (explained in point 7 of Pi.hole installing) - - Add pi.alert DNS Record - - Pi-hole -> Local DNS -> DNS Records -> Add new domain /IP - - pi.alert 192.168.1.x +5.10 - Check DNS record for pi.alert (explained in point 2.7 of Pi.hole + installation) + - Add pi.alert DNS Record + ``` + hostname -I + ``` + - Pi-hole -> Local DNS -> DNS Records -> Add new domain /IP + - pi.alert 192.168.1.x + - (*replace 192.168.1.x with your Raspberry IP*) + +5.11 - Use admin panel to configure the devices + - http://pi.alert/ + - http://192.168.1.x/pialert/ - (*replace 192.168.1.x with your Raspberry IP*) -11 - Use admin panel to configure the devices - - http://pi.alert/ - - http://192.168.1.x/pialert/ - - (*replace 192.168.1.x with your Raspberry IP*) - ## Device Management