How to install Nextcloud with ISPConfig 3.1

This tutorial describes the steps to install Nextcloud for ISPConfig users.

Prerequisites

  • A Linux server with Apache, MariaDB and PHP installed
  • ISPConfig 3.1+ installed (The Perfect Server Tutorial)
  • A (sub)domain pointing to your server. I will use nextcloud.example.com in this tutorial

Add the site

In ISPConfig navigate to Sites and add a new website

Domain: nextcloud.example.com
Harddisk Quota: Set quota for the file storage if necessary, or use -1 for unlimited.
Auto-subdomain: None
Let's Encrypt SSL: <-- Check this to receive a free SSL certificate from Let's Encrypt.
PHP: Fast-CGI

Go to Options

Add custom php.ini settings:

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.save_comments=1
memory_limit = 512M

And hit save!

Add the database

NOTE: All my database get the client ID in front of them, so the database (user) for client 8 would be named "c8nextcloud". This may be different in your system.

Go to database users and add a new user

Client: Select the client
Database user: nextcloud
Password: Generate a password and save this in a (temporary) txt file.

Save the new user.

Then, go to databases and add a new database

Site: nextcloud.example.com
Database name: nextcloud
Database user: Select the database user you just created

And hit save!

Add an FTP user

Go to FTP-Accounts

Website: nextcloud.example.com
Username: nextcloud (ISPConfig will eventually add a prefix to this username)
Password: Generate a password and save it in the (temporary) txt file you created earlier.

Save the new user

Install Nextcloud

Download the Nextcloud Web Installer on nextcloud.com/install/#instructions-server (under Web Installer)

Login to your server with your FTP program using the FTP user you just made (you can find the name of your FTP user under FTP-Accounts)  and upload setup-nextcloud.php to the web folder.

Go to nextcloud.example.com/setup-nextcloud.php

Click next

Replace

nextcloud 

with

.

Click next

Username: The username for your admin user

Password: The password for your admin user (use a strong password!)

Click on Storage & database

Data folder:

/var/www/clients/client8/web16/private/data

All of the files you place in Nextcloud will now be saved outside of the /web folder, which is more secure.

Note: Replace client8 and web16 with the correct client and web id. You can find these under your website settings -> document root.

Select MySQL/MariaDB

Username: c8nextcloud
Password: The first password you wrote down in your txt file
Database name: c8nextcloud

Note: You can find the database (user) name under ISPConfig-> Sites -> Databases.

Hit Finish setup, and we're done! The only thing left to do is configuring Nextcloud to your needs and eventually install some apps.

Share this page:

Suggested articles

5 Comment(s)

Add comment

Comments

By: Milly

Hello and thanks for the tutorial. I have done two clean installations with the tutorial of The Perfect Server - Debian 10 Apache. But when you add the configuration in the php.ini option the web page is blank, either in https or http. If I delete the php.ini configuration it works. Do you have any advice? Thank you

By: Telekomiker

Hello

I did everything as described and unfortunately the following problems:

1. When called for the first time, the Nextcloud denial message "Untrusted Domain" appeared. How should I come from a trusted domain at this time?

2. When called up again, only a white page appears, nothing else. How can this be fixed and how can I get the setup script to run?

3. How can I migrate an existing and running NextcloudPi installation to the new website (user, calendar, etc.)?

 

Thanks in advance for your help !

 

Telekomiker from Germany

By: 30uke

Thanks. This works. I did download the php file with wget, so i don't need to create a FTP user. Just had to change the owner and group.

The only thing I am facing at the moment is e-mail. I did add my IMAP mailbox and it seems to take ages to load. I did notice a bug report about this but it should be solved by now. I am able to look through the already fetched folders; but the inbox itself is still loading. I'll have a look tomorrow; might just need some time.

Over all this looks fine and the install time was < 15 minutes. 

By: Luis Guzman

Do you know how to show the disk space assigned to the site rather than the whole storage capacity?

Regards

By: MarkM

Worked like charme! Do you know how to get ride of the index.php in the sharing link of Nextcloud in ISPC?

https://nextcloud.domain.com/index.php/s/xxxxxxxxxx

to

https://nextcloud.domain.com/s/xxxxxxxxxx

 

There is a way if you have a nextcloud server Installation, but I do not know if I can go this path, do not want to destroy my ISPC Server.