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
Prerequisites
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=”https://www.2daygeek.com/category/lamp/” target=”_blank”]How to install LAMP Stack on Linux Distribution[/ac-button]
[ac-button size=”large” color=”green” style=”flat” icon=”fa-link” url=”https://www.2daygeek.com/category/lemp/” 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
Thank you for your detailed manual.
How to use https://… instead of http://…? I.e., how to add SSL option here?
And I’d like to open site like https://my_domain_name/ instead of https://my_domain_name/nextcloud. What do I need to change in Apache config file?
Keep nextcloud files in domain home directory instead of sub directory to access http://www.mydomain.com
If you want to enable self-signed certificate, just use following commands for Ubuntu based systems.
a2enmod ssl
a2ensite default-ssl
service apache2 reload
Thank you.