Raspberry Pi home server: Difference between revisions

From munkjensen.net/wiki
Line 28: Line 28:
Because PHP 7 is not available in jessie repo I get it from the new stretch repo:
Because PHP 7 is not available in jessie repo I get it from the new stretch repo:


  sudo echo "deb http://httpredir.debian.org/debian stretch main contrib non-free" | tee /etc/apt/sources.list.d/debian-stretch.list
  sudo echo "deb http://httpredir.debian.org/debian stretch main contrib non-free" | sudo tee /etc/apt/sources.list.d/debian-stretch.list
  sudo apt-get install nginx php7.0-fpm php7.0-curl php7.0-gd php7.0-cli php7.0-mcrypt php7.0-mysql -t stretch
  sudo apt-get install nginx php7.0-fpm php7.0-curl php7.0-gd php7.0-cli php7.0-mcrypt php7.0-mysql -t stretch
  sudo rm /etc/apt/sources.list.d/debian-stretch.list
  sudo rm /etc/apt/sources.list.d/debian-stretch.list

Revision as of 23:25, 15 April 2017

About this page.

This page contains explanation of the things i did to make different projects live together on a single Raspberri Pi.

https://www.pestmeester.nl/ is the base inspiration for my Home Server.
https://github.com/pi-hole/ provides super easy installation of an AdBlocking Domain Name Server functionality.
https://github.com/pivpn/ provides super easy installation and administration of OpenVPN Server funnctionality.

Hardware

Raspberry Pi 3 Model B, 1GB Ram
4 Gb MicroSD card.
USB Harddrive, 500 Gb SSHD
Raspberry Pi Camera Board v2.

Basic installation

Download and write Raspian Lite to the MicroSD card

Raspi-config

Go thrugh all the menu points of the Rapsberry Pi SOftware Configuration Tool, and change the basic configuration to fit the needs of this Home Server.

Hardening + SSH

Follow the guide: Hardened SSH daemon using the 'sudo' command when root powah is required.

Add USB HD

I configured /dev/sdb1 to be mounted on /data, not the strange UUID..

Nginx, PHP7, MySQL

Because PHP 7 is not available in jessie repo I get it from the new stretch repo:

sudo echo "deb http://httpredir.debian.org/debian stretch main contrib non-free" | sudo tee /etc/apt/sources.list.d/debian-stretch.list
sudo apt-get install nginx php7.0-fpm php7.0-curl php7.0-gd php7.0-cli php7.0-mcrypt php7.0-mysql -t stretch
sudo rm /etc/apt/sources.list.d/debian-stretch.list
sudo apt-get update -y

And then the last two

sudo apt-get install php-apc mysql-server

Answer all questions wisely!

LetsEncrypt

OwnCloud

PiHole DNS

This must be installed using the option to NOT install the normally included webinterface, because that will require lighttpd, wich is not compatible with OwnCloud ;-)
All PiHole administration must consequentially be done using terminal commands.

PiVPN server

WebCam, Htaccess password protected

Public accesible webpage.