In this segment we are going to "Install NextCloud on Raspberry Pi B Plus"
What is NextCloud ?
Nextcloud is a suite of client-server software for creating and using file hosting services. It is functionally similar to Dropbox, although Nextcloud is free and open-source, allowing anyone to install and operate it on a private server.
In contrast to proprietary services like Dropbox, the open architecture allows adding functionality to the server in the form of applications and enables users to have full control of their data.
The original ownCloud developer Frank Karlitschek forked ownCloud and created Nextcloud, which continues to be actively developed by Karlitschek and other members of the original ownCloud team.
Raspberry Pi 3 Model B +
Micro SD Card "Minimum 4 GB"
Ethernet Cord for LAN Connection
Raspberry Pi Case
Raspbian OS Installation
Download Raspbian OS from Official Website : raspberrypi.org
Then write the image to the SD Card using : Etcher
Now, Boot the Raspberry Pi with this SD Card, Follow the On-Screen Instructions and then open Terminal.
Apache and PHP Installation
Updating and Upgrading OpenMediaVault
Installing Apache Web Server
To check the status of Apache Web server, We will type OpenMediaVault Ip Address in the address bar.
If we see this screen that mean the Apache Web Server is working Fine.
Installing Mariadb DataBase
Installing PHP Packages
After that installation will complete setup. We will restart the Apache Web Server.
Restarting Apache Web Server
Navigate to HTML Directory
Downloading and Extracting NextCloud using Curl command
Please, Change the Nextcloud version from its official website. Right now it is on 15.0.5.
Creating Data Directory for NextCloud to save the Information
Providing Control of NextCloud folder to Correct User and Group.
Providing right permissions to NextCloud DATA folder.
Now the process of NextCloud installation is finished. Now, we can finally move to NextCloud login process.
To begin go to your Raspberry Pi’s IP address/nextcloud. For example, In my case:
> Once you type the correct address you will be redirected to NextCloud Login Screen.
Here you can type your username and password that you want to use as a Admin Account.
If you want to use the NextCloud from outside your network, we recommend you to choose a strong password.
Once you are happy with your settings, press the "Finish Setup" button, to finalize the setup process.
It might take some time to finish the setup. So, please wait and don't refresh the page.
Access NextCloud from Internet
To access the NextCloud from Internet, we need to complete 3 steps.
- 1. Port Forwarding
- 2. Setup Dynamic DNS [In case you don't have a Static Public IP Address]
- 3. Add website to Trusted Domains
Setting up Port Forwarding on Router
To forward the port on the router, we need to know the IP Address of our router.
To check the router IP Address we can use the Wireless Network Watcher.
It will display the router IP Address as shown below.
Type this IP Address to your browser and it will open the login page for your router.
Now, you need to enter the username and password and login to your router.
If you don't know the username and password of your router you can always ask your ISP.
For personal routers you can always check online for default username and password for the router.
In my case i need to navigate to services and then move to Port Forwarding, Your's might be different.
Then you need to forward Port 80 and 443, to the Raspberry Pi IP Address.
Setting up Dynamic DNS
First of all we need to visit DUCKDNS website to create a Free Dynamic DNS Domain for us.
You can use any of the above method to login to DUCKDNS website and create a sub-domain for your website.
Once you logged in then create a sub-domain for your NextCloud and can visit NextCloud by that address.
For example in my case i have created omvpcmac as my subdomain.
So, i can access it as omvpcmac.duckdns.org.
You can create 5 subdomains on Duck DNS account for free.
Add website to Trusted Domains
To add our website to Trusted Domain's we need to edit NextCloud Configuration file.
We can either use WinSCP and we can use nano command to edit the file.
Edit NextCloud’s Configuration File
Now, we will see the Configuration file and we need to add our website to the Trusted Domains.
In my case, I have added my duckdns.org sub-domain to NextCloud Trusted Domain.
So, we need to make another entry by increment the array ID.
Now we can save and quit out of the file by pressing Ctrl+X then pressing Y and then Enter.
If you follow the video and the tutorial correctly, your NextCloud should work now.
Add External HDD to NextCloud
Connect the External HDD to Raspberry Pi
From the NextCloud Menu select Apps and then enable "External Storage Support".
After that we need to open Putty, login with root user and type these commands.
You can find the path to Local Drive from File System options in OpenMediaVault.
Now, you can go ahead and mount your External HDD in NextCloud.
You need to navigate to "Settings--Administration--External Storages" and configure the path of HDD.
Now, You are ready to use NextCloud on your Raspberry Pi.
If you come across any issues or have some feedback related to this tutorial, Please share your thoughts.