Install Nextcloud (fork of ownCloud) – Next generation Enterprise file sharing Server on Debian/Ubuntu

Nextcloud is a Free & open source next generation Enterprise file hosting solution which allows the users to Access & share your files, calendars, contacts, documents, appointments, bookmarks, music, mail, audio call, video call, text chat & more from any device to nextcloud server & keeps your data safe. Nextcloud was started by ownCloud inventor Frank Karlitschek.

Nextcloud is developed in a transparent way with help of the open source community & keeps your files safe, secure and private. Nextcloud is extensible with new functionality to provide all you need to live your digital life & access your own data using an easy to use interface.

Nextcloud Features

  • File access & sharing
  • Security & control
  • Mobile & desktop clients
  • External storage
  • Calendar & Contacts
  • Secure audio & video calls
  • Collabora Online Office
  • Videos of Nextcloud in action


Make sure you have to install LAMP or LEMP as per your requirements before proceeding Nextcloud installation because its required Web Server, PHP & database server.

How to install LAMP Stack on Linux Distribution

How to install LEMP Server on Linux Distribution

Install Additional PHP modules

By default few PHP modules are installed with LAMP or LEMP but Nextcloud required more PHP modules, so install required additional PHP modules & other prerequisites too.

[PHP 7.0 supported system]
$ sudo apt-get -y install php-cli php-json php-curl php-imap php-gd php-mysql php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring wget bzip2 

[older (PHP5) systems]
$ sudo apt-get -y install php5-cli php5-json php5-curl php5-imap php5-gd php5-mysql php5-xml php5-zip php5-intl php5-mcrypt php5-imagick php5-mbstring wget bizp2

Modify PHP setting as per Nextcloud recommendation. Initially find the loaded php.ini file by firing the below command. This will print the loaded php.ini configuration file location.

$ php -i | grep "Loaded Configuration File"
Loaded Configuration File => /path to/php.ini

Modify the php.ini settings, PHP 7 supported system based on Nextcloud recommendation. Make sure, you have to take a backup of php.ini file before modification for best practice.

$ sudo cp /etc/php/7.0/apache2/php.ini /etc/php/7.0/apache2/php.ini.bk
$ sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.0/apache2/php.ini
$ sudo sed -i "s/;date.timezone.*/date.timezone = Asia/Kolkata/" /etc/php/7.0/apache2/php.ini
$ sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 200M/" /etc/php/7.0/apache2/php.ini
$ sudo sed -i "s/post_max_size = .*/post_max_size = 200M/" /etc/php/7.0/apache2/php.ini

Magesh Maruthamuthu

Love to play with all Linux distribution

You may also like...