NextCloud is a free and open source file sharing application like Dropbox. You can securely share files, folders, documents, emails, contacts, bookmarks and appointments using NextCloud. NextCloud provides user friendly web interface, so you can easily access your files through web browser from public and private network or from any device.
It is fully open source, but it charges fee for support. NextCloud also allows you to share your files with other users, to create password protected links, to allows other users to upload files to your cloud.
In this tutorial, we will see how to install and use NextCloud on Ubuntu 16.04 server.
A server running Ubuntu 16.04.
A non-root user with sudo privileges setup on your server.
A static IP address 192.168.15.110 configure on your server.
Update the System
First, update your system to the latest stable version by running the following command:
sudo apt-get update -ysudo apt-get upgrade -y
Once your system is up to date, you can proceed to the next step.
Install LAMP Stack
Before starting, you will need to install Apache, MariaDB, PHP7 and other required PHP modules on your system.
You can install them by running the following command:
Next, you will need to tweak some php settings in order to make Nextcloud work properly. You can do this by editing php.ini file:
sudo nano /etc/php/7.0/apache2/php.ini
Change the following values:
memory_limit = 1000M
date.timezone = Asia/Kolkata
upload_max_filesize = 200M
post_max_size = 200M
Save and close the file when you are finished, then you can proceed to the next step.
Configure Database for NextCloud
By default MariaDB installation is not secured, so you will need to secure it first.
You can secure it by running the mysql_secure_installation script.
Answer all the questions as shown below:
Enter current password for root (enter for none):
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Next, login to MariaDB console and create a database for the NextCloud:
mysql -u root -p
Enter your MariaDB root password and hit enter. Once you are logged in to your database, you need to create a database for NextCloud:
Run the following command to create a database for NextCloud:
MariaDB [(none)]> CREATE DATABASE nextclouddb;
Next, create a new database user and provide the appropriate privileges to your database user over the database you have created.
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouddb'@'localhost' IDENTIFIED BY 'password';
Next, run the following command to immediately apply the changes on the database privileges:
MariaDB [(none)]> FLUSH PRIVILEGES;
Next, exit from the Mysql with the following command:
MariaDB [(none)]> \q
You can download the latest version of the NextCloud from the URL https://download.nextcloud.com/server/releases/.
Otherwise run the following command to download it using terminal:
Database user : nextcloud
Database password : password
Database name : nextclouddb
Once you have finished, click on the Finish setup button to sign into Nextcloud.
Congratulations! You have successfully installed NextCloud on your Ubuntu 16.04 server. You can now easily play around with NextCloud, and also deploy it on your production environment. You can also explore the interface and for additional functionality by installing plugins using Nextcloud's app store.
Truth be told, it’s difficult for a web application that doesn’t have some kind of identification, even if you don’t see it as a security measure in and of itself. The Internet is a kind of lawless land, and even on free services like Google’s, authentication ensures that abuses will...
Although data persistence is almost always a fundamental element of applications, Node.js has no native integration with databases. Everything is delegated to third-party libraries to be included manually, in addition to the standard APIs. Although MongoDB and other non-relational databases are the most common choice with Node because if you...