NextCloud Setup – Raspberry Pi !

In this walk-through we will take you through the steps on how to install NextCloud on your Raspberry Pi.

This walk-through will include:

1) How-to format and mount an external usb disk for data storage.

2) How-to install and setup MariaDB for the SQL backend.

3) How-to instal the NextCloud Software.

Steps – Pdf NextCloud Setup – Raspberry Pi  or follow below.

NextCloud Setup – Raspberry Pi !

Url’s used: Rasbian


  • Raspberry Pi 3
  • 32 GB SD Card
  • USB Keyboard
  • Monitor with HDMI
  • 2TB External HDD (usb)


Setup your raspberry Pi

  1. Download the arm image from
  2. Extract the image from the file you have downloaded.
  3. Flash your SD Card with the image you extracted using Etcher. (Or your preferred tool)
  4. Remove the SD Card from your computer and insert it into the Raspberry Pi.
  5. Connect all the components to the Raspberry Pi and power it on
  6. Complete the usual installation / configuration steps. (
  7. Set a static IP. We will use for our lab demosud.
  8. ssh to your raspberry pi and follow the below sections.

Preparing the External HDD (usb)

  1. Before you plug in the usb disk, Tail the messages file with the command below:

~$ tail -f /var/log/messages | grep disk

Our output:

We now know that the disk is on ## /dev/sda

  1. Let us now create a partition.

~$ sudo fdisk /dev/sda

Our inputs used in order (m | d | F | n | y | w)

Visual below:

  1. Create the filesystem.

~$ sudo mkfs -t ext4 /dev/sda1

  1. Create a directory to test the mount.

~$ sudo mkdir /mnt/NCSTORE

  1. Verify the disk is able to mount

~$ sudo mount /dev/sda1 /mnt/NCSTORE

  1. list the currently mounted disks.

~$ df -lh

You should see the volume mounted:

Hendgrow Lab df

  1. If all working as expected, edit the /etc/fstab to make the mount permanent. As per our example we added the following line:

HendGrow Lab fstab pic

Update the installation.

~$ sudo apt-get update

~$ sudo apt-get upgrade

MariaDB Install & DB / User creation.

  1. Install MariaDB and secure it.

~$ sudo apt install mariadb-server

~$ sudo mysql_secure_installation

Our inputs used in order (y | y | y | y | y)

Don’t forget the password you set during this step!

Create the NextCloud Database & DB user

  1. Login to the SQL server and provide the password you set in the previous step.

~$ sudo mysql -u root -p

  1. Create the Database to be used by NexCloud


  1. Create the user we will use to access the DB we just created

CREATE USER ‘ncdbuser’@’localhost’ IDENTIFIED BY ‘yourpasswordhere’;

  1. Grant the user permissions to use the DB we created

GRANT ALL PRIVILEGES ON ncdb.* TO ‘ncdbuser’@’localhost’;

  1. Finalize the setting with


Install NextCloud

  1. Install Apache, PHP & PHP SQL Connector.

~$ sudo apt-get install apache2 php-mysql php7.3 php7.3-gd php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring

  1. Now restart Apache

~$ sudo service apache2 restart

  1. Fetch NextCloud and extract it.

At the time of this walk through version nextcloud-17.0.2. is the most current.

To view what is available see:

~$ cd /var/www/html

~$ curl | sudo tar -jxv

  1. We need to set the correct permissions

~$ sudo chown -R www-data:www-data /var/www/html/nextcloud/

~$ sudo chown -R www-data:www-data /mnt/NCSTORE

~$ sudo chmod 750 /mnt/NCSTORE

  1. Open your browser and navigate to your Raspberry pi ip/nextcloud

  1. Enter the details requested.