Infinite Storage with Nextcloud and Object Storage

Nextcloud Overview

Nextcloud is an open source, self-hosted file share and communication platform.

Combining Nextcloud with Object Storage gives you infinite storage space for your personal cloud.

Requirements:

Installing Nextcloud

1 . Connect yourself to your server via SSH.

2 . Update the apt-sources and the already installed software on the server:

apt update && apt upgrade -y

3 . Install the required software from the apt repositories:

apt install apache2 mariadb-server libapache2-mod-php7.2
apt install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php-imagick php7.2-xml php7.2-zip

4 . Download Nextcloud:

wget https://download.nextcloud.com/server/releases/nextcloud-14.0.3.tar.bz2

5 . Extract the archive:

tar -xjf nextcloud-14.0.3.tar.bz2

6 . Copy the Nextcloud directory to the document root of Apache:

cp -r nextcloud /var/www

7 . Create a Apache configuration file for Nextcloud:

nano /etc/apache2/sites-available/nextcloud.conf

And put the following content into it:

Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/nextcloud
 SetEnv HTTP_HOME /var/www/nextcloud

</Directory>

8 . Enable the configuration and reload Apache to activate the site:

a2ensite nextcloud.conf
systemctl reload apache2

9 . Enable SSL. Apache provides a self-signed certificate to encrypt the connection to your server. You can activate it with the following commands:

a2enmod ssl
a2ensite default-ssl
service apache2 reload

Optional: A self signed certificate may have some drawbacks if you want to make your Nextcloud installation publicly available, a warning may appear in the browser. If required, you can request a free signed certificate from Let’s Encrypt.

10 . Set the file permissions to the Apache user:

chown -R www-data:www-data /var/www/nextcloud/

11 . Create an empty database for Nextcloud.

Note that you should have configured your MariaDB server before you run this commands

Connect to the server:

mysql -u root -p

Create the Database:

CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'password';
FLUSH privileges;
EXIT;

12 . Run the installation wizzard by opening your web browser and accessing Nextcloud at https://YOUR_SERVER_IP/nextcloud Remember to replace YOUR_SERVER_IP with the IP address of your server.

13 . Fill out the setup form with the credentials for the admin user and the database settings that you have configured in the previous step.

14 . Log into your Nextcloud to configure the Object Storage bucket.

Configuring Object Storage in Nextcloud

You can use Nextcloud as a client for Object Storage. This gives you the possibility to store inifite data in your personal cloud.

1 . From the Nextcloud interface, click on Apps in the drop-down menu to access the list of available apps:

Nextcloud Apps

2 . Enable the External Storage Service by clicking on Enable:

Nextcloud Apps

3 . Click on Settings in the drop-down menu, then on External Storages in the Administration section of the page:

Nextcloud Apps

4 . Configure the credentials for your bucket:

Nextcloud Config

  • Bucket = The Name of your bucket
  • Hostname = The hostname of the bucket (For Scaleway Object Storage in Amsterdam: s3.nl-ams.scw.cloud, for Scaleway Object Storage in Paris: s3.fr-par.scw.cloud)
  • Port = The port for your bucket, leave this empty
  • Region = The geographical region of your bucket (Either: nl-ams for Amsterdam, The Netherlands or fr-par for Paris, France)
  • Enable SSL = Activate this checkbox to encrypt the connection between your Nextcloud and the Bucket
  • Access Key = The access key of your token
  • Secret Key = The secret key of your token

Once you have entered all details, click on the checkmark to validate your configuration. If everything works well, a green dot will appear on the left.

5 . Click on the file icon, then on External Storages to access your bucket:

Nextcloud External Storage Files

You can now upload and manage the files in your bucket directly from Nextcloud.

Discover a New Cloud Experience

Deploy SSD Cloud Servers in seconds.