From 40a61167e0812e6c6ac1ea395287dacc5f07cf04 Mon Sep 17 00:00:00 2001 From: pucherot Date: Mon, 18 Jan 2021 19:41:02 +0100 Subject: [PATCH] separate tar and install folders --- docs/INSTALL.md | 22 ++++++++++++++++------ install/create_tar.sh | 18 ------------------ install/index.html | 10 ++++++++++ install/pialert_front.conf | 12 ++++++++++++ tar/create_tar.sh | 28 ++++++++++++++++++++++++++++ {install => tar}/pialert_2.56.tar | Bin 58521600 -> 58531840 bytes {install => tar}/pialert_latest.tar | Bin 58521600 -> 58531840 bytes 7 files changed, 66 insertions(+), 24 deletions(-) delete mode 100644 install/create_tar.sh create mode 100644 install/index.html create mode 100644 install/pialert_front.conf create mode 100644 tar/create_tar.sh rename {install => tar}/pialert_2.56.tar (99%) rename {install => tar}/pialert_latest.tar (99%) diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 22685273..d230a56c 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -110,12 +110,19 @@ block is not necessary sudo apt-get install lighttpd -y ``` -3.2 - Install PHP +3.2 - If Pi.Alert is the only site available in this webserver, you can redirect + the default server page to pialert subfolder + ``` + sudo mv /var/www/html/index.lighttpd.html /var/www/html/index.lighttpd.html.old + sudo ln -s /home/pi/pialert/install/index.html /var/www/html/index.html + ``` + +3.3 - Install PHP ``` sudo apt-get install php php-cgi php-fpm php-sqlite3 -y ``` -3.3 - Activate PHP +3.4 - Activate PHP ``` sudo lighttpd-enable-mod fastcgi-php sudo service lighttpd force-reload @@ -148,7 +155,7 @@ block is not necessary 5.1 - Download Pi.Alert and uncompress ``` - curl -LO https://github.com/pucherot/Pi.Alert/raw/main/install/pialert_latest.tar + curl -LO https://github.com/pucherot/Pi.Alert/raw/main/tar/pialert_latest.tar tar xvf pialert_latest.tar rm pialert_latest.tar ``` @@ -158,10 +165,13 @@ block is not necessary sudo ln -s /home/pi/pialert/front /var/www/html/pialert ``` -5.3 - Update lighttpd config +5.3 - If you have configured your DNS server (Pi.hole or other) to resolve + the pi.alert to your raspberry, youy must configure lighttpd to redirect + these requests to the correct pialert web folder ``` - 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 + sudo cp pialert/front/pialert_front.conf /etc/lighttpd/conf-available + sudo ln -s ../conf-available/pialert_front.conf /etc/lighttpd/conf-enabled/pialert_front.conf + sudo service lighttpd force-reload ``` 5.4 - If you want to use email reporting with gmail diff --git a/install/create_tar.sh b/install/create_tar.sh deleted file mode 100644 index aadff298..00000000 --- a/install/create_tar.sh +++ /dev/null @@ -1,18 +0,0 @@ -# -PIALERT_VERSION=`awk '$1=="VERSION" { print $3 }' ../back/pialert.conf | tr -d \'` -PIALERT_DEV_PATH=/media/WD_4TB/dev - -cd $PIALERT_DEV_PATH -pwd - -ls -l pialert/install/pialert*.tar -tar tvf pialert/install/pialert_latest.tar | wc -l -rm pialert/install/pialert_*.tar - -tar cvf pialert/install/pialert_$PIALERT_VERSION.tar --exclude="pialert/install" --exclude="pialert/.git" pialert | wc -l - -ln -s pialert_$PIALERT_VERSION.tar pialert/install/pialert_latest.tar -ls -l pialert/install/pialert*.tar - - - diff --git a/install/index.html b/install/index.html new file mode 100644 index 00000000..d980ae67 --- /dev/null +++ b/install/index.html @@ -0,0 +1,10 @@ + + + diff --git a/install/pialert_front.conf b/install/pialert_front.conf new file mode 100644 index 00000000..7b4719d1 --- /dev/null +++ b/install/pialert_front.conf @@ -0,0 +1,12 @@ + + +$HTTP["host"] == "pi.alert" { + server.document-root = "/var/www/html/pialert/" +} diff --git a/tar/create_tar.sh b/tar/create_tar.sh new file mode 100644 index 00000000..e68f5329 --- /dev/null +++ b/tar/create_tar.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# ------------------------------------------------------------------------------ +# Pi.Alert +# Open Source Network Guard / WIFI & LAN intrusion detector +# +# create_tar.sh - Create the installation file +# ------------------------------------------------------------------------------ +# Puche 2021 pi.alert.application@gmail.com GNU GPLv3 +# ------------------------------------------------------------------------------ + +PIALERT_VERSION=`awk '$1=="VERSION" { print $3 }' ../back/pialert.conf | tr -d \'` +PIALERT_DEV_PATH=/media/WD_4TB/dev + +# ------------------------------------------------------------------------------ +cd $PIALERT_DEV_PATH +pwd + +# ------------------------------------------------------------------------------ +ls -l pialert/tar/pialert*.tar +tar tvf pialert/tar/pialert_latest.tar | wc -l +rm pialert/tar/pialert_*.tar + +# ------------------------------------------------------------------------------ +tar cvf pialert/tar/pialert_$PIALERT_VERSION.tar --exclude="pialert/tar" --exclude="pialert/.git" pialert | wc -l + +ln -s pialert_$PIALERT_VERSION.tar pialert/tar/pialert_latest.tar +ls -l pialert/tar/pialert*.tar + diff --git a/install/pialert_2.56.tar b/tar/pialert_2.56.tar similarity index 99% rename from install/pialert_2.56.tar rename to tar/pialert_2.56.tar index ff322b9be100a53c0946b2d90491079c142e2710..45debe3081fea6884417772e50bfd43388873396 100644 GIT binary patch delta 7018 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 diff --git a/install/pialert_latest.tar b/tar/pialert_latest.tar similarity index 99% rename from install/pialert_latest.tar rename to tar/pialert_latest.tar index ff322b9be100a53c0946b2d90491079c142e2710..45debe3081fea6884417772e50bfd43388873396 100644 GIT binary patch delta 7018 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