Introduction
Nextcloud is a file-sharing server that permits you to store your personal content, like documents and pictures, in a centralized location, much like Dropbox. The difference with Nextcloud is that all of its features are open-source. It also returns the control and security of your sensitive data back to you, thus eliminating the use of a third-party cloud hosting service.
In this tutorial, we will install and configure a Nextcloud instance on an Ubuntu 22.04 server.
To complete the steps in this guide, you will need the following:
- A non-root sudo-enabled user and firewall configured on your server: You can create a user with
sudo
privileges and set up a basic firewall
Step 1 – Installing Nextcloud
We will be installing Nextcloud using the Snap packaging system. This packaging system, available on Ubuntu 22.04 by default, allows organizations to ship software, along with all associated dependencies and configuration, in a self-contained unit with automatic updates. This means that instead of installing and configuring a web and database server and then configuring the Nextcloud app to run on it, we can install the snap
package which handles the underlying systems automatically.
To download the Nextcloud snap package and install it on the system, type:
$ sudo snap install nextcloud
The Nextcloud package will be downloaded and installed on your server. You can confirm that the installation process was successful by listing the changes associated with the snap:
$ snap changes nextcloud
Output
ID Status Spawn Ready Summary
4 Done today at 16:12 UTC today at 16:12 UTC Install "nextcloud" snap
Getting Additional Information About the Nextcloud Snap
If you’d like some more information about the Nextcloud snap, there are a few commands that can be helpful.
The snap info
The command can show you the description, the Nextcloud management commands available, as well as the installed version and the snap channel being tracked:
$ snap connections nextcloud
Interface Plug Slot Notes
network nextcloud:network :network -
network-bind nextcloud:network-bind :network-bind -
removable-media nextcloud:removable-media - -
$ cat /snap/nextcloud/current/meta/snap.yaml