No app store in NC 18

Hi There,
I have installed NC 18 on my linux system (Mint 19) and All the setup went fine except that on first start up, I check the box to install the calendar and other useful apps, but they don’t install. Also, when I go to the apps page it shows the installed and disabled apps, but none of the other apps in the app store. I think there is an issue with the link to the store somewhere in a config file, but I am not sure where this would be or how to fix it. I also am new to this so I am not sure what kind of config file or log would be helpful to post.
Any help would be appreciated.

edit - further research indicates there should be references to the app store in the config.php file. Mine has none of that. I have tried adding those parts from the sample config but still no luck.

Hi,

When I had this issue I had to remove the app store url from the config. Could you check that again? So don’t follow the example config here, that seems to rather cause issues, than solve it.

I thought I had it figured out. It looked like I had multiple versions of php, including 7.4 which apparently is not compatible. I did a reinstall from scratch with just 7.2 and it seemed to be fine, app store showed up. I did a little more tweaking, including an apt-get upgrade and update and now the app store is gone again, but checking php it seems to still be 7.2 only. Not sure what happened.
I checked the config.php and it doesn’t have any reference to the app store.

Further checking (this time in the log) reveals the following error whenever I try to access the app store:
Could not connect to appstore: cURL error 7: Failed to connect to apps.nextcloud.com port 443: No route to host (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

I have been trying to open ports 443 and 80 and although I have them configured in my router the still don’t seem to open. Occasionally they do open, but somehow I end up changing settings and messing it up. Any clear directions on linux command line steps to actually open the ports and have Nextcloud listen on them would be appreciated.

Actually PHP 7.4 is compatible with NC18. It was not compatible with NC17.x.

Can you provide the following data?

  • config.php (with the sensitive information removed/ replaced)
  • nextcloud.log
  • browser console output when you access the NC Apps overview
  • php log
  • webserver error log

Okay, you wrote first :smiley:

Usually, outgoing traffic is not blocked and there are no changes to the router or firewall necessary. When apps.nextcloud.com is listening on port 80 or 443, your server uses just any port (any port number higher than 1024) to connect to the other webserver’s port. So no need to manipulate anything on your side regarding these two ports.

Did you set up any firewall with rules for outgoing traffic? Are there any entries in /etc/hosts regarding the apps.nextcloud.com?
I’m actually not even sure that apps.nextcloud.com is the correct address for the store.
Can you please post your config.php (remove sensitive information like password and salts before posting)?

Also, please perform the following shell command from your nextcloud server (via ssh):
curl -vvv https://apps.nextcloud.com

Any error messages or does it show html code?

hope I didn’t delete any non sensitive helpful data:

<?php
$CONFIG = array (
  'instanceid' => 'xxxxxx',
  'passwordsalt' => 'xxxxxxxx',
  'secret' => 'xxxxxxxx',
  'trusted_domains' => 
  array (
    0 => '192.168.x.xxx',
    1 => 'xxxxxxxxxxxx',
  ),
  'datadirectory' => '/var/www/html/nextcloud/data',
  'dbtype' => 'mysql',
  'version' => '18.0.0.10',
  'overwrite.cli.url' => 'http://192.168.2.112/nextcloud',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost:80',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'xxxxxxx',
  'dbpassword' => 'xxxxxxx',
  'installed' => true,
);

I also used ufw to allow 80/tcp and 443/tcp as well as 22/tcp

nothing is in etc/hosts about app.nextcloud.com
I should mention I was trying to do a self signed certificate (the cloud is for my own use only) but the nextcloud.enable-ssh self-signed didn’t work (command not found)

Here is the curl output

  • Rebuilt URL to: https://app.nextcloud.com/

  • Trying 2a01:4f9:2b:29dc::153…

  • TCP_NODELAY set

  • Trying 95.217.53.153…

  • TCP_NODELAY set

  • Connected to app.nextcloud.com (2a01:4f9:2b:29dc::153) port 443 (#0)

  • ALPN, offering h2

  • ALPN, offering http/1.1

  • successfully set certificate verify locations:

  • CAfile: /etc/ssl/certs/ca-certificates.crt

CApath: /etc/ssl/certs

  • TLSv1.3 (OUT), TLS handshake, Client hello (1):

  • TLSv1.3 (IN), TLS handshake, Server hello (2):

  • TLSv1.2 (IN), TLS handshake, Certificate (11):

  • TLSv1.2 (IN), TLS handshake, Server key exchange (12):

  • TLSv1.2 (IN), TLS handshake, Server finished (14):

  • TLSv1.2 (OUT), TLS handshake, Client key exchange (16):

  • TLSv1.2 (OUT), TLS change cipher, Client hello (1):

  • TLSv1.2 (OUT), TLS handshake, Finished (20):

  • TLSv1.2 (IN), TLS handshake, Finished (20):

  • SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384

  • ALPN, server accepted to use http/1.1

  • Server certificate:

  • subject: CN=www.nextcloud.at

  • start date: Dec 10 04:00:30 2019 GMT

  • expire date: Mar 9 04:00:30 2020 GMT

  • subjectAltName does not match app.nextcloud.com

  • SSL: no alternative certificate subject name matches target host name ‘app.nextcloud.com

  • stopped the pause stream!

  • Closing connection 0

  • TLSv1.2 (OUT), TLS alert, Client hello (1):

curl: (51) SSL: no alternative certificate subject name matches target host name 'app.nextcloud.co

Hope this helps and thanks for all the help.
I am not sure why there are not line breaks in this.

Damn, my mistake. I forget the ‘s’ for ‘apps’ instead of ‘app’ in the URL. Could you please update your earlier post with the output for:
curl -vvv https://apps.nextcloud.com

I also updated my post to mention the domain which is really mentioned in the error message from your logs.

Here is the curl output. A similar error shows in the nextcloud logs.

  • Rebuilt URL to: https://apps.nextcloud.com/

  • Trying 88.198.160.138…

  • TCP_NODELAY set

  • connect to 88.198.160.138 port 443 failed: No route to host

  • Failed to connect to apps.nextcloud.com port 443: No route to host

  • Closing connection 0

curl: (7) Failed to connect to apps.nextcloud.com port 443: No route to host

This is the nextcloud log.

Could not connect to appstore: cURL error 7: Failed to connect to apps.nextcloud.com port 443: No route to host (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

Might it be a problem with my ufw setup? Earlier (before I set up ufw) I tested the ports and 80 was open, but now even if they are set on the router they show as closed on online port testers.

As mentioned before: when you access any webserver (which by default run on port 80 and 443) your client computer uses completely different ports and definitely not port 80 and 443. These are reserved ports - reserved for webservers.

Your Nextcloud server is the client when it requests the app list from apps.nextcloud.com and therefore also uses completely different ports and not 80 or 443.

So don’t worry about these ports for now :wink:

Real bad is, that your NC server has no route to the host. Your NC server is connected to the internet, right?

Can you run the following command and post the output?
tracepath -b apps.nextcloud.com

In case you don’t have tracepath installed, use a similar program which also starts with trace; don’t know traceroute …
And please check again, that your nextcloud server has an internet connection. Outgoing traffic should be allowed.

Here is the output on that command:
1?: [LOCALHOST] pmtu 1500
1: tardis (192.168.2.112) 3080.750ms !H
Resume: pmtu 1500

I know there is no connection to the internet. I can access it using the ip address when I am on the LAN, but outside there is not access (I do have a ddns setup but it isn’t working yet). How do I connect it to the internet?

Latest update. I checked on the actual computer the server is on (I usually just SSH’d into it0, and it was having some network connection issues, not sure exactly what, but on the browser some websites wouldn’t load. I fiddled a bit with the settings and got it working fine. I checked and the ports are open. I also created a self signed certificate for https. Things seem to be progressing in the right way. I still can’t log in using the dns names, just the ip address on the lan. I also notice that although the categories show up in the app store on the left side, when I click on them the circle turns for a bit and the it just stops with no apps to show. The log says there was a timeout. I feel like I’ve seen where you can lengthen the time before it times out but I don’t remember where.

I wouldn’t worry about this timeout bit - the apps.nextcloud.com server is up and running, and it responds in good time to any requests to it. The problem is that your computer isn’t getting an answer when it asks (via DNS) what apps.nextcloud.com’s IP address is.
Do you know what DNS servers your computer is set to use? I’d try setting them to a known-working public DNS service: Cloudflare 1.1.1.1, OpenDNS 208.67.222.222, or Google 8.8.8.8. See if your server can reach the apps server after that. It may also clear up your DDNS problem, depending how that is configured.

Terence_Van_Dam just to let you know you can do this with /etc/resolv.conf by replacing whatever nameserver line is already there with the line “nameserver 1.1.1.1” or “nameserver 8.8.8.8”

1 Like

Thanks for the suggestions. I tried the different nameservers. Cloudflare and OpenDNS was no different than my existing one (the left side menu shows up but the actual apps don’t show up. The Google one didn’t even show the left side menu.

I followed these instructions

and it appears to have solved the problem. I have access to the apps store. Thanks for everyone’s help.

1 Like

Thanks for mention it.