Raspberry Pi home server: Difference between revisions
Line 33: | Line 33: | ||
sudo echo "deb http://httpredir.debian.org/debian stretch main contrib non-free" | sudo 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 update -y | |||
sudo apt-get install php7.0-fpm php7.0-curl php7.0-gd php7.0-cli php7.0-mcrypt php7.0-mysql -t stretch | sudo apt-get install 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:34, 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
First the 'easy' stuff. Answer all install questions wisely!
sudo apt-get install nginx php-apc mysql-server
Then, 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 update -y sudo apt-get install 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
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.