Files
NetAlertX/docs/INSTALL.md
2021-01-18 15:43:03 +01:00

7.1 KiB

Pi.Alert Installation

Initially designed to run on a Raspberry PI, probably it can run on many other Linux distributions.

Estimated time: 20'

Dependencies

Dependency Comments
Lighttpd Probably works on other webservers / not tested
arp-scan Required for Scan Method 1
Pi.hole Optional. Scan Method 2. Check devices doing DNS queries
dnsmasq Optional. Scan Method 3. Check devices using DHCP server
IEEE HW DB Necessary to identified Device vendor

Installation process

Raspberry Setup

1.1 - Install 'Raspberry Pi OS' - Instructions https://www.raspberrypi.org/documentation/installation/installing-images/ - Lite version (without Descktop) is enough for Pi.Alert

1.2 - Activate ssh - Create a empty file with name 'ssh' in the boot partition of the SD

1.3 - Start the raspberry

1.4 - Login to the system with pi user user: pi password: raspberry

1.5 - Change the default password of pi user passwd

1.6 - Setup the basic configuration sudo 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

Pi-hole Setup

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.2 - Login to the system with pi user

2.3 - Install Pi-hole curl -sSL https://install.pi-hole.net | bash - Select "Install web admin interface" - Select "Install web server lighttpd"

2.4 - Configure Pi-hole admin password pihole -a -p PASSWORD

2.5 - Connect to web admin panel - http://192.168.1.x/admin/ - (replace 192.168.1.x with your Raspberry IP)

2.6 - Activate DHCP server - Pi-hole -> Settings -> DHCP -> Mark "DHCP server enabled"

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)

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

arp-scan & Python

4.1 - Install arp-scan utility and test sudo apt-get install arp-scan sudo arp-scan -l

4.2 - Test Python New versions of 'Raspberry Pi OS' includes python. You can check that Python is installed with the command: python -V

4.3 - If python is not installed in your system, you can install it with this command: sudo apt-get install python

Pi.Alert

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

5.2 - Public the front portal sudo ln -s /home/pi/pialert/front /var/www/html/pialert

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

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.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 have installed Pi.hole and DHCP, activate this parameters
    PIHOLE_ACTIVE   = True
    DHCP_ACTIVE     = True
    

5.6 - Update vendors DB python ~/pialert/back/pialert.py update_vendors

5.7 - Test Pi.Alert Scan python ~/pialert/back/pialert.py internet_IP python ~/pialert/back/pialert.py 1

5.8 - Add crontab jobs (crontab -l 2>/dev/null; cat ~/pialert/back/pialert.cron) | crontab -

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

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)

Device Management

License

GPL 3.0 Read more here

Contact

pi.alert.application@gmail.com