A step by step guide for free cloud storage:
A dedicated or virtual machine capable of running the most current version of Ubuntu Recommended requirements of ram 4 gigs, Dual core processor and enough drive space to dedicate for your personal cloud storage.
DISCLAIMER this guide assumes that you have a basic understanding on how operating systems work and how to perform an installation. Please note that caution should be taken to insure that you suffer no data loss – Make sure to Backup all data before proceeding as a matter of recourse if something fails. I take no responsibility for any data loss. Take the proper measures and if you are unsure ask questions.
Step1: (INSTALL UBUNTU)
Download and install the latest Ubuntu image onto either a Dedicated box or a VirtualMachine
I won’t be explaining the whole OS deployment process as it’s self-explanatory.
Make certain you update and upgrade packages after reboot installation, Use the following commands in the terminal: (You may be promoted for elevated user password, this is the one you entered when you installed Ubuntu)
- sudo apt-get update && sudo apt-get upgrade
Step2: (INSTALL NEXTCLOUD)
Onto step two, we will now type the following command to install Nextcloud from the terminal:
Nextcloud is free and open source for anyone wanting to install and host their own private cloud server. They do also have a paid for Enterprise version if you are interested which will obviously be more geared towards Business Enterprises and have a bunch more features.
- sudo snap install nextcloud
Nextcloud should be installed onto our hosted machine, to verify go to your browser and type your IP address (you can view your IP address by going into your terminal and typing ifconfig, if you are unable to do this you might require net-tools to be installed, if that is the case type the following command:
- sudo apt install net-tools, then re-run the ifconfig
Create an Admin account and password. (follow best practices for password and username configuration – Admins can create and delete users, also set disk quota size)
I would suggest configuring a secondary account as well, this can be done once logged into Nextcloud. (Multiple accounts can be created for different users and disk quota sizes can be set for each if you wish to do so)
Follow the directional arrow and select the start using Nextcloud tab
Click the upper right hand corner for the drop down, and select Users. (We will create an additional user here and set disk quota.)
After we have created a user we can move onto the next step
Step 3: (INSTALL ZEROTIER)
Now we can install and register with Zerotier. Zerotier uses a combination of VPN and SD-Wan technologies to help us connect to our hosted server. The great thing about Zerotier is that we don’t need to open any ports up on the router for traffic or mess about with firewall settings in this instance.
Zerotier provides us with a 256 bit end to end encryption of traffic. As with Nextcloud we will be leveraging the free service that they offer. They have an additional paid for offering, however for our purpose the free tier is perfect.
Install Zerotier onto our terminal using the following command:
- Sudo apt install curl
- curl -s ‘https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg’ | gpg –import && \
if z=$(curl -s ‘https://install.zerotier.com/’ | gpg); then echo “$z” | sudo bash; fi
Let’s move on and signup on Zerotier website
Once you have signed up you should receive a verification email!
You can now log into Zerotier once verified with your credentials, located on their website.
Click on the Create a Network once logged in.
Take note of the network ID this will become important later on. Hover on it and left click.
You may change the Name if you wish, make sure that access control remains PRIVATE as you do not want to expose your server to the public.
Before we go any further down let’s perform the following:
We need to complete a few more steps in order to link our Nextcloud server with Zerotier. To accomplish that we need to type the following into the terminal:
- Sudo zerotier-cli status join <NetworkID>
Remember that NetworkID that I told you to take note of we will use it here
Log back into your Zerotier account and scroll down till you see the below (If you don’t see anything here yet just wait a little while mine took about an hour to populate)
Scroll down to members, you will need to check the Auth? Box to authorize connectivity to your hosted server.
Make sure you give a descriptive name to what they are, for instance Host Server and all the other devices that you may connect later
The Hosted Server should be the one with the below number
Once you have checked the empty boxes you will wait a few seconds and the managed IP’s should populate with an IP address
Because you have Zerotier running on the server let us test to see if we can connect to Nextcloud on that Server. Use that Managed IP address that is given and enter it into your browser address bar
We are connected however it is stating that this is access through an untrusted domain and we can’t get any further
To overcome this, type the following into the terminal command window: (If we add other devices we need to make sure that they are trusted as well, you need to do the same as below and just increment the number by trusted_domains E.g trusted_domains 1 –-value=x.x.x.x , trusted_domains 2 –value=x.x.x.x etc)
- sudo snap run nextcloud.occ config:system:set trusted_domains 1 –value=<managementipaddress>
Reenter / refresh the management IP in your browser bar and you should now be greeted with the below:
Enter your credentials and you should now have access.
If you wish to add other device to connect to your cloud server it’s pretty simple.
Go to Zerotier click download select the platform, Download the Zerotier software on the device.
Windows example above
Select join network type in the networkID then on Zerotier portal check Auth (Remember you are connecting to the Hosted Server Managed IP address)
Just remember to add the NetworkID and to authorize it on the members section of Zerotier.
With mobile devices you can install the Zerotier app from the playstore, as with above add the NetworkID and Auth the member.
Mobile example above make sure Zerotier is running
You may wish to install Nextcloud standalone to sync with the server. Or just gain access over the IP directly to the server as I did. The choice is yours!
If you do install Nextcloud on a mobile device remember to take into account mobile carrier costs for data when syncing to your Server. (You may wish to disable mobile connections and just rely on wireless connectivity of your network)
This completes the tutorial on how to build your own personal cloud based storage for free.