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.

[ac-button size=”large” color=”orange” style=”flat” icon=”fa-link” url=”” target=”_blank”]How to install LAMP Stack on Linux Distribution[/ac-button]

[ac-button size=”large” color=”green” style=”flat” icon=”fa-link” url=”” target=”_blank”]How to install LEMP Server on Linux Distribution[/ac-button]

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

About Magesh Maruthamuthu

Love to play with all Linux distribution

View all posts by Magesh Maruthamuthu

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

    1. Keep nextcloud files in domain home directory instead of sub directory to access

      If you want to enable self-signed certificate, just use following commands for Ubuntu based systems.

      a2enmod ssl
      a2ensite default-ssl

      service apache2 reload

Leave a Reply

Your email address will not be published. Required fields are marked *