mirror of
https://gitlab.com/hacklab01/pivilion.git
synced 2025-04-29 16:47:17 +00:00
Update pivilion manual setup
parent
28163245de
commit
65baf5b67d
@ -10,12 +10,12 @@ The base methodology of achieving this is allowing less experienced and communit
|
|||||||
By removing the gallery sites from the blogs and domains to a physical gadget of the Pi - Pivilion engages & connects users on two levels of interaction - virtual and physical, ideological and technical.
|
By removing the gallery sites from the blogs and domains to a physical gadget of the Pi - Pivilion engages & connects users on two levels of interaction - virtual and physical, ideological and technical.
|
||||||
The interaction with Pivilion could further concepts of freedom, education and spark collaborative potentials of one’s communities.
|
The interaction with Pivilion could further concepts of freedom, education and spark collaborative potentials of one’s communities.
|
||||||
|
|
||||||
It runs on top of Raspberry Pi 1, 2, 3 or Zero hardware and is built on top of Raspbberry Pi OS GNU/Linux. It has Lighty server and Tor networking built in and uses the Tor network to host exhibitions out of the box.
|
It runs on top of Raspberry Pi 1, 2, 3 or Zero hardware and is built on top of Raspbberry Pi OS GNU/Linux. It has Apache server and Tor networking built in and uses the Tor network to host exhibitions out of the box.
|
||||||
The entire system and documentation is available for download on a central website, hosted both on clearnet and on the Tor network and distributed as SD card images available for free download. The website serves as both a central point for deployment of the system and for the announcement of global exhibitions running on nodes. It is designed so that the user-curator can use any network (even public networks behind firewalls) to host an exhibition.
|
The entire system and documentation is available for download on a central website, hosted both on clearnet and on the Tor network and distributed as SD card images available for free download. The website serves as both a central point for deployment of the system and for the announcement of global exhibitions running on nodes. It is designed so that the user-curator can use any network (even public networks behind firewalls) to host an exhibition.
|
||||||
Each Pivilion device receives a Tor onion domain automatically the first time it’s activated. The system provides the user with backend access to a system for publishing images, videos or websites within a gallery. The gallery runs on a CMS designed specially for hosting online gallery events, with features such as different rooms, complete with Mozilla’s Togetherjs integrated into each seperate room.
|
Each Pivilion device receives a Tor onion domain automatically the first time it’s activated. The system provides the user with backend access to a system for publishing images, videos or websites within a gallery. The gallery runs on a CMS designed specially for hosting online gallery events, with features such as different rooms, complete with Mozilla’s Togetherjs integrated into each seperate room.
|
||||||
|
|
||||||
## About This Manual
|
## About This Manual
|
||||||
This manual shows how to install Pivilion on your Raspberry Pi from scratch and use it as a portable darknet gallery. It installs Tor with Lighttpd (Lighty) as a hidden service and runs a simple PHP based gallery system.
|
This manual shows how to install Pivilion on your Raspberry Pi from scratch and use it as a portable darknet gallery. It installs Tor with Apache as a hidden service and runs a simple PHP based gallery system.
|
||||||
It's recommended to read through the entire manual, before attempting to install it on a Raspberry Pi.
|
It's recommended to read through the entire manual, before attempting to install it on a Raspberry Pi.
|
||||||
|
|
||||||
Tor is free software for enabling anonymous communication and censorship circumvention. However, Pivilion doesn't use Tor for its anonimity features (but Tor still provides them). Tor is used to host a HTTP server as a hidden service. We make extensive use of its NAT punching capabilites to enable us to host a gallery behind NATs and firewalls. Keep in mind that this may or may not break your ISP contract if you do it from home. Using public WiFi to host hidden services, while not technically illegal if you were provided with the password by the owner of the WiFi, may present certain issues with their ISP. Since we're using Tor there is no way for you to get *caught*. With great power comes great responsibility. Be responsible in what you host and do on the darknet while using Pivilion.
|
Tor is free software for enabling anonymous communication and censorship circumvention. However, Pivilion doesn't use Tor for its anonimity features (but Tor still provides them). Tor is used to host a HTTP server as a hidden service. We make extensive use of its NAT punching capabilites to enable us to host a gallery behind NATs and firewalls. Keep in mind that this may or may not break your ISP contract if you do it from home. Using public WiFi to host hidden services, while not technically illegal if you were provided with the password by the owner of the WiFi, may present certain issues with their ISP. Since we're using Tor there is no way for you to get *caught*. With great power comes great responsibility. Be responsible in what you host and do on the darknet while using Pivilion.
|
||||||
@ -23,31 +23,31 @@ Tor is free software for enabling anonymous communication and censorship circumv
|
|||||||
## What You Will Need
|
## What You Will Need
|
||||||
### Hardware
|
### Hardware
|
||||||
1. Raspberry Pi
|
1. Raspberry Pi
|
||||||
1. Micro USB power adapter (check RPi requirements, but ideally 2.5A) - a cable is also fine (you can connect to any USB port)
|
1. Micro USB power adapter (check RPi requirements, but ideally 2.5A or 3A for Pi4) - a cable is also fine (you can connect to any USB port)
|
||||||
1. Min 8 GB (micro)SD card
|
1. Min 8 GB (micro)SD card
|
||||||
1. SD card reader (and a microSD to SD adapter if necessary)
|
1. SD card reader (and a microSD to SD adapter if necessary)
|
||||||
1. Ethernet cable
|
1. Ethernet cable (or proper wpa_supplicant.conf to connect to WiFi with Pi Zero - generate one [here](https://wifi.pivilion.net/))
|
||||||
1. HDMI cable - optional
|
1. HDMI cable - optional
|
||||||
|
|
||||||
You can connect the RPi to a HDMI screen (with a USB mouse + keyboard) and connect it to WiFi as you would any computer. However, this setup is meant to be made over SSH - consider your Pi a server (even though it's on a table next to you :)). You can connect it to a display and once you input the WiFi password, just connect to the Pi via SSH from a different computer.
|
You can connect the RPi to a HDMI screen (with a USB mouse + keyboard) and connect it to WiFi as you would any computer. However, this setup is meant to be made over SSH - consider your Pi a server (even though it's on a table next to you :)). You can connect it to a display and once you input the WiFi password, just connect to the Pi via SSH from a different computer.
|
||||||
|
|
||||||
### Software
|
### Software
|
||||||
1. [Raspberry Pi OS image](https://www.raspberrypi.org/software/) - the "lite" image is reccomended for Pivlion - note that this version doesn't have a graphical user interface installed - you can only use the terminal interface if you connect the Pi to a screen with a HDMI cable
|
1. [Raspberry Pi OS Legacy image](https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-legacy) - the "lite" image is recomkended for Pivlion - note that this version doesn't have a graphical user interface installed - you can only use the terminal interface if you connect the Pi to a screen with a HDMI cable. We are using the Legacy image while we iron out some trouble with captive portal mode.
|
||||||
1. [Tor Browser](https://www.torproject.org/download/download-easy.html.en) - used only for checking if the gallery works on Tor (not for generating galleries)
|
1. [Tor Browser](https://www.torproject.org/download/download-easy.html.en) - used only for checking if the gallery works on Tor (not for generating galleries)
|
||||||
1. A network scanning tool like [Nmap](https://nmap.org/) or Fing (avaliable for iOS and Android) **Be careful with network scanning software - scanning networks that are not yours may be illegal in your country!**
|
1. A network scanning tool like [Nmap](https://nmap.org/) or Fing (avaliable for iOS and Android) **Be careful with network scanning software - scanning networks that are not yours may be illegal in your country!**
|
||||||
1. [Putty SSH client](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) - Windows only
|
1. [Putty SSH client](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) - Windows only
|
||||||
1. [Filezilla sFTP client](https://filezilla-project.org/) - optional, for backing up and uploading files to the Pi
|
1. [Filezilla sFTP client](https://filezilla-project.org/) - optional, for backing up and uploading files to the Pi
|
||||||
|
|
||||||
## Software Installation
|
## Software Installation
|
||||||
Pivilion runs on top of libre / free software which is avaliable in the Raspbberry Pi OS repositories. To download and install software we will use APT. Advanced Package Tool, or APT, is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian, Ubuntu, and related Linux distributions.
|
Pivilion runs on top of libre / free software which is avaliable in the Raspbberry Pi OS repositories. To download and install software we will use APT. Advanced Package Tool. Apt is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian, Ubuntu, and related Linux distributions.
|
||||||
|
|
||||||
### Installing Raspbperry Pi OS
|
### Installing Raspbperry Pi OS
|
||||||
Always get a current Raspbperry Pi OS image before installing Pivilion. It will drastically speed up the update / upgrade step of the manual. Use [this guide](https://www.raspberrypi.org/documentation/installation/installing-images/README.md) from Raspberry Pi's official website. You can use either the full or the lite image, it’s up to you. Choose your system. We’ll be using Linux + dd.
|
Always get a current Raspbperry Pi OS Legacy image before installing Pivilion. It will drastically speed up the update / upgrade step of the manual. Use [this guide](https://www.raspberrypi.org/documentation/installation/installing-images/README.md) from Raspberry Pi's official website. You can use either the full or the lite image, it’s up to you. Choose your system. We’ll be using Linux + dd.
|
||||||
|
|
||||||
### Enabling SSH on Your Pi
|
### Enabling SSH on Your Pi
|
||||||
SSH access is turned off by default for security. We need to do a simple extra step to enable it.
|
SSH access is turned off by default for security. We need to do a simple extra step to enable it.
|
||||||
|
|
||||||
The boot partition on a Pi should be accessible from any machine with an SD card reader, on Windows, Mac, or Linux. If you want to enable SSH, all you need to do is to put a file called ssh in the boot partition. The contents of the file don’t matter: it can contain any text you like, or even nothing at all. When the Pi boots, it looks for this file; if it finds it, it enables SSH and then deletes the file. SSH can still be turned on or off from the Raspberry Pi Configuration application or raspi-config; this is simply an additional way to turn it on if you can’t easily run either of those applications.
|
The boot partition on a Pi should be accessible from any machine with an SD card reader, on Linux, Windows or Mac. If you want to enable SSH, all you need to do is to put a file called ssh in the boot partition. The contents of the file don’t matter: it can contain any text you like, or even nothing at all. When the Pi boots, it looks for this file; if it finds it, it enables SSH and then deletes the file. SSH can still be turned on or off from the Raspberry Pi Configuration application or raspi-config; this is simply an additional way to turn it on if you can’t easily run either of those applications.
|
||||||
|
|
||||||
### Connecting to the Pi
|
### Connecting to the Pi
|
||||||
Once that’s done, connect your RPi to a DHCP network and power it on. Depending on your network configuration, you can login to your RPi using it's hostname "raspberry", or use a network discovery tool to find it's IP address.
|
Once that’s done, connect your RPi to a DHCP network and power it on. Depending on your network configuration, you can login to your RPi using it's hostname "raspberry", or use a network discovery tool to find it's IP address.
|
||||||
@ -115,11 +115,11 @@ If so, skip [here](#lazy-mode).
|
|||||||
|
|
||||||
`sudo apt update && sudo apt upgrade -y`
|
`sudo apt update && sudo apt upgrade -y`
|
||||||
|
|
||||||
### Installing Lighttpd
|
### Installing Apache
|
||||||
|
|
||||||
Lighttpd (pronounced "lighty") is an open-source web server optimized for speed-critical environments while remaining standards-compliant, secure and flexible.
|
Apache is a free and open-source cross-platform web server software, released under the terms of Apache License 2.0. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.
|
||||||
|
|
||||||
`sudo apt install lighttpd -y`
|
`sudo apt install apache2 -y`
|
||||||
|
|
||||||
You can now navigate to your RPi's IP (or hostname - raspberry) using a browser.
|
You can now navigate to your RPi's IP (or hostname - raspberry) using a browser.
|
||||||
|
|
||||||
@ -127,26 +127,12 @@ You will see lighttpd's placeholder page.
|
|||||||
|
|
||||||
### Installing PHP and Modules
|
### Installing PHP and Modules
|
||||||
|
|
||||||
`sudo apt install php-cgi -y`
|
`sudo apt install php -y`
|
||||||
|
|
||||||
PHP (Hypertext Preprocessor) is a server-side scripting language designed primarily for (but not limited to) web development. We use it to run our basic gallery generation script.
|
PHP (Hypertext Preprocessor) is a server-side scripting language designed primarily for (but not limited to) web development. We use it to run our basic gallery generation script.
|
||||||
|
|
||||||
php-cgi is a PHP to CGI interpreter. CGI (Common Gateway Interface) offers a standard protocol for web servers to interface with executable programs running on a server that generate web pages dynamically. The interpreter is how Lighty handles PHP.
|
|
||||||
|
|
||||||
Apt will install all required dependencies.
|
Apt will install all required dependencies.
|
||||||
|
|
||||||
### Enabling PHP Support in Lighty
|
|
||||||
|
|
||||||
Enable the fastcgi module and the php configuration with
|
|
||||||
|
|
||||||
`sudo lighty-enable-mod fastcgi`
|
|
||||||
|
|
||||||
`sudo lighty-enable-mod fastcgi-php`
|
|
||||||
|
|
||||||
Reload the lighttpd daemon
|
|
||||||
|
|
||||||
`sudo service lighttpd force-reload`
|
|
||||||
|
|
||||||
### Installing Hostapd
|
### Installing Hostapd
|
||||||
|
|
||||||
`sudo apt install hostapd -y`
|
`sudo apt install hostapd -y`
|
||||||
@ -204,7 +190,7 @@ We also need to set the permissions to our www directory so that PHP can write /
|
|||||||
|
|
||||||
`sudo chown -R www-data:www-data /var/www/`
|
`sudo chown -R www-data:www-data /var/www/`
|
||||||
|
|
||||||
This command sets Lighty's user "www-data" from the group "www-data" as the owner of /var/www (the webserver root directory)
|
This command sets Apache's user "www-data" from the group "www-data" as the owner of /var/www (the webserver root directory)
|
||||||
|
|
||||||
`sudo chmod -R 775 /var/www`
|
`sudo chmod -R 775 /var/www`
|
||||||
|
|
||||||
@ -302,7 +288,7 @@ The gallery generator takes in some basic data such as the name, description, ti
|
|||||||
|
|
||||||
If you need to upload larger files, or more files at once, you can edit the file /etc/php/7.3/cgi/php.ini with
|
If you need to upload larger files, or more files at once, you can edit the file /etc/php/7.3/cgi/php.ini with
|
||||||
|
|
||||||
`sudo nano /etc/php/7.3/cgi/php.ini`
|
`sudo nano /etc/php/*version_number*/cgi/php.ini`
|
||||||
|
|
||||||
There you will find options such as
|
There you will find options such as
|
||||||
|
|
||||||
@ -312,7 +298,7 @@ There you will find options such as
|
|||||||
|
|
||||||
You can observe their values and read the comments around them to figure out what they do and what inputs they take. After it's adjusted you need to restart Lighty with
|
You can observe their values and read the comments around them to figure out what they do and what inputs they take. After it's adjusted you need to restart Lighty with
|
||||||
|
|
||||||
`sudo service lighttpd force-reload`
|
`sudo service apache2 force-reload`
|
||||||
|
|
||||||
### Custom HTML
|
### Custom HTML
|
||||||
|
|
||||||
@ -372,7 +358,7 @@ You can also download the complete pre-installed appliance image and run Pivilio
|
|||||||
If you don't feel like learning about the various components used to build a Tor hidden service, you can just use lazy mode to bundle up individual installations.
|
If you don't feel like learning about the various components used to build a Tor hidden service, you can just use lazy mode to bundle up individual installations.
|
||||||
All you need to do is paste the following line into your terminal and hit Enter. It will take a couple of minutes to finish.
|
All you need to do is paste the following line into your terminal and hit Enter. It will take a couple of minutes to finish.
|
||||||
|
|
||||||
`sudo apt update; sudo apt upgrade -y; sudo apt install lighttpd php-cgi hostapd dnsmasq git tor -y; sudo lighty-enable-mod fastcgi; sudo lighty-enable-mod fastcgi-php; sudo service lighttpd force-reload; cd /; sudo git init; sudo git remote add origin https://gitlab.com/hacklab01/pivilion.git; sudo git fetch origin; sudo git checkout -f --track origin/master; sudo chown -R pi:pi /home/pi; sudo chown -R www-data:www-data /var/www/; sudo chmod -R 775 /var/www; sudo usermod -a -G www-data pi; sudo reboot`
|
`sudo apt update; sudo apt upgrade -y; sudo apt install apache2 php hostapd dnsmasq git tor -y; cd /; sudo git init; sudo git remote add origin https://gitlab.com/hacklab01/pivilion.git; sudo git fetch origin; sudo git checkout -f --track origin/master; sudo chown -R pi:pi /home/pi; sudo chown -R www-data:www-data /var/www/; sudo chmod -R 775 /var/www; sudo usermod -a -G www-data pi; onion; sudo reboot`
|
||||||
|
|
||||||
The system will reboot automatically and all you need to do is run
|
The system will reboot automatically and all you need to do is run
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user