[SOLVED] Pydio Sync Client not working with Pydio

Hello,

This is not the best place, but maybe someone of you have installed Pydio in your DietPi and have faced this issue. If this is the case, please help me!

I’ve installed Pydio on my Odroid C2, DietPi v119, installed using dietpi-software.
I have an NoIP domain, let’ say xxx.ddns.net
I have a OpenWRT router/DNS server (local IP 192.168.1.1) that knows that xxx.ddns.net is my local IP 192.168.1.12, where I have my DietPi, configured using dnsmasq. All the computers connecting at home get their IPs from this router and they know DNS server is the router, with the IP 192.168.1.1
I can go to http://xxx.ddns.net/pydio/ using Firefox or Chrome and I go into my Pydio web interface, so my computers are getting the DNS resolution from my router, OK.

THE PROBLEM:
But when I try to get into my Rasp Pydio using te Sync Client (I’m on OS X El Capitan), I get this message:

Error while trying to connect to http://xxx.ddns.net/pydio/ :
Server not found (404), is it up and has it Pydio installed ?

If I try to use http://192.168.1.12/pydio/ I get the same message.

What’s the problem? Maybe the sync client is using another DNS server by default, not my router’s DNS dnsmasq server, maybe Google’s 8.8.8.8 or whatever?

Thank you very much for your help,

This morning I have checked what happened “from the outside” of my LAN. In web browser on my Android smartphone I can get into the Pydio webpage but when I try to get into it using the Android Sync Client I get the same error message.

Do you know if No-IP Dynamic DNS service is not compatible with Pydio? Has anybody tried to do the same as me before? Which results?

Thank you,

Solved.

1- I’ve deleted the pydio folder on /www/var/.
2- I’ve followed this tutorial:
https://pydio.com/en/docs/kb/system/installing-debiannginx
The only difference I’ve downloaded Pydio directly from the terminal:

wget http://downloads.sourceforge.net/project/ajaxplorer/pydio/stable-channel/6.4.1/pydio-core-6.4.1.zip

After that, I’ve created a self-signed SSL certificate as explained in:
http://martin-denizet.com/nginx-configuration-for-pydio-with-ssl/

I’ve done this because LetsEncrypt doesn’t give SSL certificates for NO-IPs domains (mine is xxx.ddns.net).

After that, I’ve installed everything as Fourdee describes in its guide, using the same MySQL database, and so on.

Finally, my OS X Pydio Client Sync has worked, and I don’t have any of the warnings I had the first time I installed Pydio

Conclusion: The problem was not a DNS related theme, but the way Pydio was installed on my Odroid C2. After many tests, I realised the problem was API was not working properly. Reinstalling Pydio, problem got solved.

I hope this can help anybody.

Hi Skyfly,

Bizzare, I was able to get a LetEncrypt SSL cert for fuzon.co.uk a while back, although, this was for a NoIp managed dns. Was your NoIp url one of the free ones?

Hello, Fourdee, Thank you for your feedback.

Yes, I have to say I’m using a free No-IP domain, not a managed one. If I had a managed one, it could be xxx.com and I could have a LetsEncrypt certificate, but because my domain is a xxx.ddns.net, and somebody before me has asked to LetsEncrypt an SSL cert for his whatever.ddns.net domain, I cannot get one.

This is the handicap of free No-IP dynamic domains.

Ah, yes, LetEncrypt has a limit on how many certs you can do a month. I believe it was 5 certs when I was testing it. So Letencrypt must only be checking the base domain (*.ddns.net).

It may be worth creating a git ticket for LetsEncrypt (now certbot): https://github.com/certbot/certbot/issues
Maybe other users have the same issue with NoIp free domains, should give it some traction.

I’ve tried to install Pydio twice - on RPi3 and on VirtualBox image of the latest DietPi. Both times it installed just fine, but I can’t use Pydio Sync on Windows - Error while trying to connect to http://192.168.1.23/pydio :
Server not found (404), is it up and has it Pydio installed ?

I don’t have HTTPS, just plain HTTP and everything else is default DietPi configs.

Any help, please?

By “use Pydio Sync on Windows” you mean accessing the webUI via browser form remote Windows system?

Which webserver did you choose/install?
I just tried install on Stretch VM with default Lighttpd and it works well and webUI shows up. It shows a warning an an error about output buffering and direct accessible data directory. This is because we currently only actively configure Apache: https://github.com/Fourdee/DietPi/issues/1913
But this does not break access.

No, web access is fine. I’m trying to use sync client apphttps://pydio.com/en/get-pydio/downloads/pydiosync-desktop-app.
I haven’t changed default web server, so I guess it is Lighttpd.

Ah jep, just found that. Will test as well.

I’ve updated DietPi to the latest version today and found that it has some fixes for Pydio service. Tried Windows Sync app - still no go :frowning:

Have to test here. Perhaps this is a network issue, non with the server.

Hmm, but I’m in the same LAN, I can ping and use other services just fine.

What was the solve?

No solution yet. MichaIng, any updates?

Okay played and tested around:

  • The Pydio clients seem to need rewrite engine being enabled: Access to Pydio PHP pages via “domain.org/pydio/whatever” instead of “domain.org/pydio/index.php/whatever
  • Actually on Lighttpd URLs (in browser) by default already show up pretty without /index.php/, even without rewrite module enabled.
  • However I recognized that reloading such an URL does NOT work, so the rewrite seems to be just done for server answers, but not for requests.
  • I enabled mod_rewrite, but that alone does not change something.
  • Check Pydio Lighttpd docs: https://pydio.com/en/docs/kb/system/installing-fedora-lighttpd
  • No rewrite statement shown, however on Fedora. Only for WebDAV access, which is a different thing, out of usual base URL rewrite.

I’m currently installing Nextcloud to verify that it is the same there, as I always thought nothing is required (besides rewrite module enabled).
… jep on Nextcloud even on output, no rewrite is done. We need to add pretty URLs for Lighttpd.

Ah lol, found open topic about this, totally forgot meanwhile: https://github.com/Fourdee/DietPi/issues/1634

Testing for Pydio…

MonZon
Okay I figured out how to enable sync client support on Lighttpd:

lighttpd-enable-mod rewrite
sed -i '/^}$/d' /etc/lighttpd/conf-available/99-dietpi-pydio.conf
echo '
	# Rewrite to pretty URLs, which is required for sync clients
	url.rewrite-if-not-file = ( "^/pydio/([^.]+)/?$" => "/pydio/index.php/$1" )

}' >> /etc/lighttpd/conf-available/99-dietpi-pydio.conf
systemctl restart lighttpd
systemctl restart php7.0-fpm

Would be great if you could test, since with all the features you use, web UI file downloads and such :slight_smile:.

Thanks for the great news, but:

root@MZCloud:~# sed -i '/^}$/d' /etc/lighttpd/conf-available/99-dietpi-pydio.conf
sed: can't read /etc/lighttpd/conf-available/99-dietpi-pydio.conf: No such file or directory
root@MZCloud:~# cd /etc/lighttpd/
root@MZCloud:/etc/lighttpd# ls -r *
lighttpd.conf

conf-enabled:
99-dietpi-nextcloud.conf     15-fastcgi-php.conf  10-fastcgi.conf
99-dietpi-dav_redirect.conf  10-rewrite.conf

conf-available:
README                               10-status.conf         10-fastcgi.conf
99-dietpi-nextcloud.conf.dietpi-new  10-ssl.conf            10-expire.conf
99-dietpi-nextcloud.conf             10-ssi.conf            10-evhost.conf
99-dietpi-dav_redirect.conf          10-simple-vhost.conf   10-evasive.conf
90-debian-doc.conf                   10-rrdtool.conf        10-dir-listing.conf
15-fastcgi-php.conf                  10-rewrite.conf        10-cgi.conf
11-extforward.conf                   10-proxy.conf          10-accesslog.conf
10-usertrack.conf                    10-no-www.conf         05-auth.conf
10-userdir.conf                      10-flv-streaming.conf

Ah jep sorry, forgot that we just added this with v6.18.

Okay then do the following:

echo '$HTTP["url"] =~ "^/pydio($|/)" {
	# Deny access to pydio/data dir
	$HTTP["url"] =~ "^/pydio/data" {
		url.access-deny = ("")
	}

	# Rewrite to pretty URLs, which is required for sync clients
	url.rewrite-if-not-file = ( "^/pydio/([^.]+)/?$" => "/pydio/index.php/$1" )

	# Disable PHP output buffering, recommended by Pydio
	setenv.add-environment += (
		"PHP_ADMIN_VALUE" => "output_buffering=Off",
	)

}' > /etc/lighttpd/conf-available/99-dietpi-pydio.conf
lighttpd-enable-mod dietpi-pydio
systemctl restart lighttpd

This also resolves the warnings on pydio setup about output buffering and data dir access permissions. If you resolved this already somewhere else, you should remove one of the directives.

Whoopsie, wrong copy&paste, should be /pydio/ dir, not /nextcloud/ of course. Corrected it above.