The goal of this tutorial is to set up a minimalistic server on our Raspberry Pi that will be fine-tuned to our needs and run headless – no peripherals whatsoever, just the Pi plugged to your router and power. We will go through every stage needed to accomplish that in the most user-friendly way I can guide you in. I will try to explain everything as we go, but some tutorial parts you will have to just accept in the interest of being newbie friendly. You can research on your own at later time. Most of administration work is googling stuff anyways, seriously. It is good to know how to do it.
With a proper internet connection like good bandwidth, static IP and a domain you will be able to ditch Gmail, Dropbox and a few other services almost completely.
Purpose of this tutorial series
This websie serves two purposes
- To document everything I have been doing so far in case I need to do it again and forget a step or some code/script
- To help you set up a similar server for your own needs.
There is a multitude of such guides on the internet, but I am writing this one since none of the available guides are newbie friendly, complete and coherent. I was looking for one like that when starting my journey with Raspberry powered server. Other than that, it is just for my own benefit. If you happen to make use of it, great! I am happy for you, email me and tell me what helped you and what was too difficult to follow.
Tutorials are written in parts so that you can pick and choose which services you want on your server. I will try to make every part independent. Furthermore I will not double the information and will be sending you to a different part should the need arise.
Basic server setup tutorial
- Part 1 – Required hardware
- Part 2 – DNS configuration
- Part 3 – Installing a minimalistic server
- Part 4 – Basic security
- Part 5 – Port forwarding
Your server is ready when you complete the above steps. It might not have any service installed just yet. But it is a great foundation to build upon!
For use only on local network it is enough if you install the OS itself.
Services that can be set up
- Part 1 – FTP server
- Part 2 – Apache web server
- Part 3 – PHP
- Part 4 – MySQL tutorial
- Part 5 – WordPress
- Part 6 – SSL certificate
- Part 7 – Samba file sharing
- Part 8 – Nextcloud server
- Part 9 – Email server
- Part 10 – Webmail access for email
- Part 11 – Mumble VoIP server
General purpose tutorials
- Part 1 – Basic commands
- Part 2 – Useful tricks
- Part 3 – Running script
- Part 4 – Partitioning and formatting your drives
- Part 5 – Mounting external storage
A word of caution
Please bear in mind that using such a server for a large company to store sensitive data like payroll or invoices might not be the best idea out there – get yourself a professional who will do that for you, invest in your future a bit, and don’t be an idiot. Hackers more prolific than script kiddies and bots can be a bit of a problem. I am talking about actual hackers to whom your server will be exposed should it get enough visibility and not that one person who posted “I eat farts!” on your Facebook wall when you forgot to log out of that computer in the library. Keep that in mind when storing your data.
Expanding the knowledge
Remember that Raspbian is a fork of Debian. If you are stuck, need help with a particular command or just want to expand your knowledge regarding a particular step, a great place to start is the Debian Administrator’s Handbook by Raphaël Hertzog and Roland Mas.
The link will take you to handbook’s website where you can read it online. There are translations to various languages – some more complete than others. You can also download it as a pdf file or buy a physical copy. It is a great book and will help you a lot. I cannot recommend it enough! Even though it has 500 pages, it can at least serve as a supplicant of what is being told here.
If I am talking about, for example, packages you can jump to the respective book chapter and learn more. Tutorials have practical knowledge, the book has theory. It does not have all the answers though, you will still have to extensively search online regarding specific topics, but it will greatly expand on tutorials from this site.