Security, security,,,, privacy, privacy, ipv6 leaks, big brother yada yada yada … Lets build VPN.
So why Nginx and MariaDB ?
Nginx will replace our Apache server. But why ? Short answer is performance. Bit longer answer is that Nginx is Asynchronous server which means it can perform several actions at the same time, without waiting previous to end. Nginx responds faster and consumes less RAM then Apache and this is my main reason for switching to Nginx. There are of course differences. Nginx doesn’t support .htaccess files and sometimes the are differences how Nginx handles PHP.
And MariaDB is drop in replacement to MySQL. MySQL was brought by oracle some time ago and since then the MySQL has problems with including community in development process and distrust from community for having competing products, open source MySQL and proprietary OracleDB. So the original developer of MySQL created a new projects MariaDB and it is fully open source, has strong community and is being actively developed.
Syncthing is amazing alternative to things like Dropbox or Google Drive plus you control your data. Now it works little differently than usual cloud storage solutions. Instead of one central server Syncthing uses peer to peer sharing. Also Syncthing is quite flexible for sharing files between your different devices or between people. I will not go into details of Syncthing features and options because probably if you are already here you want to know how to install it so here goes …
Until now I have used Raspberry Pi with micro SD card and while it works for some times I have had lot of corruptions. Not shutting Pi properly down plus unstable power wreak havoc on the SD card. And as you may have read from my previous tutorials I like to run servers on my Raspberry Pi so yeah SQL + logging = high read write are no way to treat small SD cards.
So for loads like that there should be more robust solution.
And for that here is small write up how to use USB thumb drive or USB hard drive as your Raspberry Pi-s root drive. You still need SD card for boot but as you learn from this tutorial it is much easier to replace the static boot drive then whole system, especially if you haven’t backed up your system 10 seconds prior to failure.
It’s bad idea to run MySQL server on microSD card because usually this type of application will be heavy on read/write cycles and this will effect the lifespan of the sd card. Plus depending on the type of card you are using the external hard drive will be faster. There are two ways to do it. First move files to external drive and change data dir variable or creating symlink. We will use the latter (How to set up MySQL on Raspberry Pi).
Here are some screenshots of the upgraded dashboard. And at the bottom is the full Node Red code.
In previous two tutorials we learned how to set up ESP8266 with arduino IDE as temperature sensing node. Now we gonna look Node Red side of things and will create dashboard for displaying the data.
In this part of the tutorial we will look closer the esp8266 sketch that will send the temperature info to our server.
Well F.. Nothing works. Hmm lets reboot. Nothing. Maybe its issue with external hard drive. Lets take the RPi Sd card and change the fstab file manually from different computer. While trying to open the /etc/ folder I’m greeted with following error:
So here is how you can maybe fix it.