Homepage    |    GitHub    |    API    |    FAQ

Joplin with Apache2 WebDav

Joplin version 2.1.8 (production version, Linux)


I am trying to install Joplin Desktop on Debian Buster. I have installed Joplin via snap. Joplin Desktop launches without any issue. The problem I have is with my Apache2 WebDav configuration.

I am using the packaged version of the apache2 web server that comes with the Debian 10 installer. I am not installing apache2 manually, although I do need to configure web dav for my apache2 web server.

I currently have web dav cofigured but Joplin cannot sync to the webdav target.

I have a web page configured in my /var/www/joplin, and this web page works.

The packaged version of apache2 with Debian comes with virtual hosts configured. My custom 000-default.conf looks like the following:

NameVirtualHost *
<VirtualHost *:80>
ServerAdmin webmaster@localhost

    DocumentRoot /var/www/joplin
    <Directory /var/www/joplin>
            Options Indexes MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    Alias /webdav /var/www/joplin

    <Location /webdav>
       DAV On
       AuthType Basic
       AuthName "webdav"
       AuthUserFile /var/www/joplin/passwd.dav
       Require valid-user

In Joplin, my Synchronization Target is set to WebDav. I have filled the WebDav username and WebDav password with what I believe are the correct credentials. When I click "Check Synchronization Target" I get the following error message:

Error. Please check that URL, username, password, etc. are correct and that the sync target is accessible. The reported error was:

PROPFIND : Unknown error 2 (405): 405 Method Not Allowed

Method Not Allowed

The requested method PROPFIND is not allowed for this URL.

Apache/2.4.38 (Debian) Server at localhost Port 80 (Code 405)

error.log log file:

[Wed Jul 21 13:38:49.856395 2021] [core:notice] [pid 2455:tid 140224171467904] AH00094: Command line: '/usr/sbin/apache2'
[Wed Jul 21 13:40:59.393297 2021] [auth_basic:error] [pid 2457:tid 140224153253632] [client ::1:49892] AH01618: user www-data not found: /webdav/
[Wed Jul 21 13:41:25.822691 2021] [auth_basic:error] [pid 2457:tid 140224128075520] [client ::1:49894] AH01618: user user-1 not found: /webdav/
[Wed Jul 21 13:41:45.698726 2021] [auth_basic:error] [pid 2457:tid 140223719642880] [client ::1:49900] AH01618: user root not found: /webdav/
[Wed Jul 21 13:42:00.371338 2021] [auth_basic:error] [pid 2458:tid 140223904216832] [client ::1:49902] AH01618: user root not found: /webdav/
[Wed Jul 21 13:48:50.913308 2021] [auth_basic:error] [pid 2458:tid 140223895824128] [client ::1:49992] AH01618: user root not found: /webdav/
[Wed Jul 21 13:49:17.892753 2021] [auth_basic:error] [pid 2457:tid 140223627388672] [client ::1:49996] AH01618: user www-data not found: /webdav/
[Wed Jul 21 13:58:24.373699 2021] [mpm_event:notice] [pid 2455:tid 140224171467904] AH00491: caught SIGTERM, shutting down

I use Apache2's WebDAV with Joplin for various experiments and it syncs fine using this config (keeping only the important lines here):

<VirtualHost *:8080>
        ServerName ...

        Alias /webdav /var/www/webdav

        <Directory /var/www/webdav>
            DAV On

1 Like

Hasn't worked yet. But I will continue working through it.

Thank you.

It seems you have set the user under which Apache runs as www-data. However, it looks like the user does not exist on that system.

Your entire Apache config is off. So all your files are world readable?