WELCOME TO MY WEBSITE. ENJOY YOUR STAY. HOPEFULLY LINUX WORLD IS NOT THAT SCARY AS THEY SAY.

BROUGHT ТО YOU WITH LINUX, IIS 5.0, MYSQL, PHP, WORDPRESS AND PASSION.

Single Linux Task

Harness the power of Raspberry PI and Linux

Intro:

What are the basics of having a simple website up and running? Can a micro computer do this? Add another 10-20 questions and a small hobby project can start.

To have a website up and running one would need: 1. A Working web-server  2. A valid html file in the root directory of the web server. 3. A nice extra would be a public IP.

That is the bare minimum to see a hyper text markup language file outside the text editor served as a website.

More details:

Covering a minimum should be sweet but it’s not enough. Websites feel so much fancier when coupled with domain names  – grabbing a domain name these days is a trivial task (unlike 20 years ago). 

Setting A (for address) records , maybe MX (for email) , maybe an additional TXT record (verify domain ownership with search engines) is a nice start.

Once the domain name is correctly pointed to the public IP of the web server hosting the site everything is good. If the hosting hardware (pc , micro pc, potatoe, tomato etc.) is behind a firewall/router ports 80 and 443 should be forwarded properly.

 

Raspberry Pi 3 (a.k.a. rpi3) setup:

Tiny micro computer (advertised as credit card sized board) ,  4 core arm cpu, 1gb ram , poor usb 2.0 implementation, 100mbit ethernet, to avoid coarse language I will not go into details about its wifi or bluetooth.

Rpi3 is best known to work with Raspbian – debian linux based distribution designed for that board by the Foundation – cool. Haven’t used that for ages. Instead, I bootstrap a debian server armhf distro from https://github.com/drtyhlpr/rpi23-gen-image

It works fine, especially when used with the rpi-update tool to get latest rpi3 kernel.

Add nginx php mariadb (yes, it is 2019, in Debian world mysql = mariaDB , apt-get = apt) and a wordpress installation (basically placing files and permission in the right folder).

 

 

Deglazing the setup:
NGINX: a web server software which I (and maybe others) prefer to apache and lighttpd (lighty).

Optimize its config for speed, cpu & ram usage with respect to the hardware it’s running on (rpi3), make it use ssl, redirect non ssl requests to ssl, handle www and non-www requests properly, let is properly use the php-fpm software etc.  

PHP7 is the preporcessor we need to… maybe preprocess php code in websites. Its php.ini config file should be modified according to the needs of the task  – higher limits, enabled compression etc.

MARIADB is the database server that will store boring things in boring format to make the world a funnier place to live, basically run the securing module first, create db & user for wordpress , let it be.

WORDPRESS: enter database details from previous step, run initial config and you have your brand new wp install up & running. Now hold on for a sec, Do all the security hardening tweaks you know from linux level, via nginx, via php to mariadb and install a security module in wp too – won’t hurt. WP is exploitable (as many other things) so you know you’ve done your best to avoid accidents. Install a theme , import demo content, edit things and you will have a website, hobbyst level, far from professional but still a website.

This website is pretty much a result of all the above mentioned + some secret ingredients.

 

PROJECT SUMMARY:

Scroll to top