External requests stop at Apache test page

Just setup a new Nextcloud (version 24) instance on Ubuntu server (22.04) on a home server using residential ISP (so ports 80 and 443 are blocked of course, but that should be okay since I’m port forwarding anyway).

Got everything working fine internally, all good there. Let’s Encrypt cert installed and using DuckDNS, etc.

All good except that external requests are going to the Apache server test page and go no further.

I thought I could have requests directed from apache server by creating a nextcloud.conf file in etc/apache2/sites-available/. I pointed the nextcloud.conf to the NC web server location in /var/www/html/nextcloud/, then reloaded Apache, however requests are still landing on Apache test server.

I guess I don’t understand what I am missing here, or perhaps I made a simple mistake. How do I tell Apache to route external requests to the Nextcloud server? :thinking:


Hard to say without seeing your Apache config, but take a look at my example here to compare. Also make sure to read and follow the reverse proxy instructions in the documentation if you’re doing that.

Thanks for the guide. Sorry to say I don’t have the prerequisite understanding to know what to do next, however. So the guide doesn’t help in this case.

My Apache config appears to be default, which explains why it’s not going anywhere. I just haven’t found any details on exactly what I need to put in there, or what other changes need to be made to the nexcloud conf (if anything). So far I haven’t found any details on how this is accomplished.

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf

Start here:


I edited the index.html file in var/www/html/ and pointed it to /nextcloud. That bypasses the Apache page, but the Nextcloud page shows ‘Untrusted Domain’, so I reverted those changes as that clearly isn’t the way to do it.

I will RTFM instead of relying on random instruction sets from the interwebs. Thank You.

I pointed you to the Nextcloud administration documentation page. It includes fairly complete instructions on getting Nextcloud up and running… including configuration of a web server… nginx instead of apache… However, since you don’t seem familiar with apache, it’s not a bad idea to begin with nginx anyway - since that’s what all the cool kid are using today.

However, if you want to read the apache manual… here it is:


You have some choices ahead of you in deciding whether to have subdomains for your installation or a simple location…

something like:




Both apache and nginx can be configured either way.

However, it’s unlikely anyone is going to spend a few hours walking through a complete configuration… it’s a good idea to begin reading and trying things out.

I would recommend getting everything working locally before deploying to the Internet.

Much appreciated. Thanks for the info.