In today’s world, many organizations are worried about their data being handled by third parties, especially with the emerging data privacy leaks.
With this emerging need, NextCloud serves to solve the issue by allowing you to have on-premise cloud storage for your data. Just as Google Drive and Dropbox but in this case, you have 100% control over your data.
NextCloud is a cool client-server file synchronization software solution with many features and advantages including:
- Allow for management of user and group using OpenID or LDAP
- Allow you to access, synchronize and share your existing data on Dropbox, FTP, and NAS
- List connected browsers/devices in the personal settings page. Allows the user to disconnect browsers/devices
- Supports Two Factor authentication systems.
- Allow sharing of files with other users, create and send password protected public links.
- Notifying users via phone and desktop when someone on server shares files directly with them
- Monitoring capabilities, Kerberos authentication and audio/video conferencing
- Synchronize files with the Nextcloud server from Desktop clients and Mobile clients
- Security which is enforced by use of security technologies to help prevent brute force attacks and also data privacy through end to end and client-end encryption
- Its open source nature of course provides a free alternative to paid equivalents. The open software architecture also allows one to modify the software however they want hence more user focus
- A VPS or Dedicated Server running CentOS 7
- A non root user with sudo privileges given
- Already installed LAMP Stack. If you haven’t yet installed it, you can learn How to Install the LAMP Stack on Your CentOS 7 VPS or Dedicated Server.
Update system packages
$ sudo yum update -y && sudo yum upgrade -y
Install required dependencies
Alongside other required dependencies, install the required PHP packages necessary for the software to run.
$ sudo yum install php-xml php-cgi php-cli php-mysql php-mbstring php-gd php-curl php-zip wget zip
Download and install NextCloud
Get the software from the NextCloud official website. The current stable version as per the time this tutorial is being written is version 14.0.3.
$ wget https://download.nextcloud.com/server/releases/nextcloud-14.0.3.zip
Extract the downloaded file and move it into your webroot directory i.e. /var/www/
$ unzip nextcloud-14.0.3.zip $ mv -r nextcloud-14.0.3 /var/www
Now recursively change the ownership of the moved folder so as to enable access.
$ sudo chown -R apache:apache /var/www/nextcloud $ sudo chmod -R 755 /var/www/nextcloud
To install NextCloud, we need to open it on the browser at http://IP_ADDR:8090 while replacing IP_ADDR with your appropriate IP address. You should see a similar screen as below.
Configure as desired when following the prompts. Depending on the database you want to connect to, you should use the admin credentials to the database. The server should be left as localhost.
After you successfully install the software, you can log into the dashboard now using your created credentials. It is vital that you protect your NextCloud installation.
A recommended best practice is use of an SSL certificate to connect to the management dashboard. To learn more about the product you can take a look comprehensively at the documentation here.