Is there a multi-user webdav server available for linux?
Clash Royale CLAN TAG#URR8PPP
up vote
9
down vote
favorite
I'm looking to completely decommission my SMBA service and replace it with a WebDav service.
All the google searches so far have pointed me to using Apache / Webdav. This is close to what I need but as far as I read it requires Apache to have access to my user's files and worse; if it creates a file the new file will be owned by Apache (not the user). Note that having files with the correct Unix ownership and permissions is a requirement as some users have direct SSH access.
So I'm quite simply looking for a way to either make Apache / Webdav work "correctly" with multi-users (that is change unix user to the logged in user before attempting to serve the file) or find a complete alternative to Apache / Webdav.
So far searches haven't turned anything up.
multiuser webdav
 |Â
show 1 more comment
up vote
9
down vote
favorite
I'm looking to completely decommission my SMBA service and replace it with a WebDav service.
All the google searches so far have pointed me to using Apache / Webdav. This is close to what I need but as far as I read it requires Apache to have access to my user's files and worse; if it creates a file the new file will be owned by Apache (not the user). Note that having files with the correct Unix ownership and permissions is a requirement as some users have direct SSH access.
So I'm quite simply looking for a way to either make Apache / Webdav work "correctly" with multi-users (that is change unix user to the logged in user before attempting to serve the file) or find a complete alternative to Apache / Webdav.
So far searches haven't turned anything up.
multiuser webdav
As webdav is based on the HTTP protocol, I would say it's not existing except under the form of an HTTP server. And if you find product that offer webdav trhey will usually offer more than that
â Kiwy
Apr 3 '14 at 18:50
It looks like there may be something promising in the latest version of MPM ITK. mpm-itk.sesse.net I'll have a try with this and see ifAssignUserIDExpr
will accept the logged in user. It may not sinceAssignUserID
appears to kick in before the user authenticates.
â couling
Apr 7 '14 at 11:09
There are standalone webdav servers like code.google.com/p/opendav or libraries like PyWebDAV that don't require apache.
â Jan
Aug 21 '14 at 7:58
@jan That may turn out to to be the best answer. Apache is running on the server already and webdav should be a subdirectory on the site but I can set that up as a proxy pass through and use Apache's SSL to provide the encryption.
â couling
Aug 25 '14 at 22:37
1
Should be moved to Software Recommendations.SE.
â William Edwards
Oct 18 '14 at 19:55
 |Â
show 1 more comment
up vote
9
down vote
favorite
up vote
9
down vote
favorite
I'm looking to completely decommission my SMBA service and replace it with a WebDav service.
All the google searches so far have pointed me to using Apache / Webdav. This is close to what I need but as far as I read it requires Apache to have access to my user's files and worse; if it creates a file the new file will be owned by Apache (not the user). Note that having files with the correct Unix ownership and permissions is a requirement as some users have direct SSH access.
So I'm quite simply looking for a way to either make Apache / Webdav work "correctly" with multi-users (that is change unix user to the logged in user before attempting to serve the file) or find a complete alternative to Apache / Webdav.
So far searches haven't turned anything up.
multiuser webdav
I'm looking to completely decommission my SMBA service and replace it with a WebDav service.
All the google searches so far have pointed me to using Apache / Webdav. This is close to what I need but as far as I read it requires Apache to have access to my user's files and worse; if it creates a file the new file will be owned by Apache (not the user). Note that having files with the correct Unix ownership and permissions is a requirement as some users have direct SSH access.
So I'm quite simply looking for a way to either make Apache / Webdav work "correctly" with multi-users (that is change unix user to the logged in user before attempting to serve the file) or find a complete alternative to Apache / Webdav.
So far searches haven't turned anything up.
multiuser webdav
multiuser webdav
edited May 31 '16 at 9:06
asked Apr 3 '14 at 18:05
couling
228210
228210
As webdav is based on the HTTP protocol, I would say it's not existing except under the form of an HTTP server. And if you find product that offer webdav trhey will usually offer more than that
â Kiwy
Apr 3 '14 at 18:50
It looks like there may be something promising in the latest version of MPM ITK. mpm-itk.sesse.net I'll have a try with this and see ifAssignUserIDExpr
will accept the logged in user. It may not sinceAssignUserID
appears to kick in before the user authenticates.
â couling
Apr 7 '14 at 11:09
There are standalone webdav servers like code.google.com/p/opendav or libraries like PyWebDAV that don't require apache.
â Jan
Aug 21 '14 at 7:58
@jan That may turn out to to be the best answer. Apache is running on the server already and webdav should be a subdirectory on the site but I can set that up as a proxy pass through and use Apache's SSL to provide the encryption.
â couling
Aug 25 '14 at 22:37
1
Should be moved to Software Recommendations.SE.
â William Edwards
Oct 18 '14 at 19:55
 |Â
show 1 more comment
As webdav is based on the HTTP protocol, I would say it's not existing except under the form of an HTTP server. And if you find product that offer webdav trhey will usually offer more than that
â Kiwy
Apr 3 '14 at 18:50
It looks like there may be something promising in the latest version of MPM ITK. mpm-itk.sesse.net I'll have a try with this and see ifAssignUserIDExpr
will accept the logged in user. It may not sinceAssignUserID
appears to kick in before the user authenticates.
â couling
Apr 7 '14 at 11:09
There are standalone webdav servers like code.google.com/p/opendav or libraries like PyWebDAV that don't require apache.
â Jan
Aug 21 '14 at 7:58
@jan That may turn out to to be the best answer. Apache is running on the server already and webdav should be a subdirectory on the site but I can set that up as a proxy pass through and use Apache's SSL to provide the encryption.
â couling
Aug 25 '14 at 22:37
1
Should be moved to Software Recommendations.SE.
â William Edwards
Oct 18 '14 at 19:55
As webdav is based on the HTTP protocol, I would say it's not existing except under the form of an HTTP server. And if you find product that offer webdav trhey will usually offer more than that
â Kiwy
Apr 3 '14 at 18:50
As webdav is based on the HTTP protocol, I would say it's not existing except under the form of an HTTP server. And if you find product that offer webdav trhey will usually offer more than that
â Kiwy
Apr 3 '14 at 18:50
It looks like there may be something promising in the latest version of MPM ITK. mpm-itk.sesse.net I'll have a try with this and see if
AssignUserIDExpr
will accept the logged in user. It may not since AssignUserID
appears to kick in before the user authenticates.â couling
Apr 7 '14 at 11:09
It looks like there may be something promising in the latest version of MPM ITK. mpm-itk.sesse.net I'll have a try with this and see if
AssignUserIDExpr
will accept the logged in user. It may not since AssignUserID
appears to kick in before the user authenticates.â couling
Apr 7 '14 at 11:09
There are standalone webdav servers like code.google.com/p/opendav or libraries like PyWebDAV that don't require apache.
â Jan
Aug 21 '14 at 7:58
There are standalone webdav servers like code.google.com/p/opendav or libraries like PyWebDAV that don't require apache.
â Jan
Aug 21 '14 at 7:58
@jan That may turn out to to be the best answer. Apache is running on the server already and webdav should be a subdirectory on the site but I can set that up as a proxy pass through and use Apache's SSL to provide the encryption.
â couling
Aug 25 '14 at 22:37
@jan That may turn out to to be the best answer. Apache is running on the server already and webdav should be a subdirectory on the site but I can set that up as a proxy pass through and use Apache's SSL to provide the encryption.
â couling
Aug 25 '14 at 22:37
1
1
Should be moved to Software Recommendations.SE.
â William Edwards
Oct 18 '14 at 19:55
Should be moved to Software Recommendations.SE.
â William Edwards
Oct 18 '14 at 19:55
 |Â
show 1 more comment
6 Answers
6
active
oldest
votes
up vote
1
down vote
This may be worth to read:
Another input: multiple user folders and one shared folder
http://hexeract.wordpress.com/2011/02/25/configure-a-webdav-enabled-webserver-for-multiple-user-folders-and-one-shared-folder/
This has the same problem as your other answer. Some users have ssh access. The files MUST be given correct (their own, not the web server's) unix file permissions and ownership (both user and group).
â couling
Oct 20 '14 at 10:49
add a comment |Â
up vote
0
down vote
I used this one as guide to set up webdav:
http://bernaerts.dyndns.org/linux/75-debian/62-debian-webdav-share
yes, Apache is the group (www-data under Debian) but you can add users to that group, so I added one user. Did not test why you may not add other users....
The webdav server using in principle this setup runs now for 3 yrs at my and my sons place (so 2 identical servers for the work of my son). Debian 6 is since some months the LTS version (till Feb-2016).
Compared to Bernaerts I adapted in the Apache file:
/etc/apache2/sites-available/default this part of configuration.
Alias /webdav1 /data/webdav1
<Location /webdav1>
DAV on
Authtype Basic
Authname "webdav1"
AuthUserFile /var/www/web1/passwd1.dav
Require valid-user
</location>
So my files are no longer under www but in /data/webdav1 (through alias webdav1 to keep it short)
For each hard disk I've created such a section and webdav1 becomes webdav2 for the 2nd hard disk in that section. We can build in max 10 hard disks in these servers, so 10 of these section in that config file. I added the user to www-data, davfs2 and davfs, so that the user can have access the webdav folder(s). So the user need to login and will be asked for the username and password.
In fstab all the webdav data disks are listed so that mounting proceeds automaticallly.
That part of fstab:
/dev/sda3 /data/webdav1 ext3, user,auto 0 0
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.
Sadly this doesn't solve the problem at all. The focus of this question was multi user. With this solution new files will be created as the apache user not the logged in user. In order to function apache all files must be www-data group with read / write permissions to that group. Since every user will have to be in that group every user will have to have access to read / write every other user's files. This solution simply doesn't wok for multiple users.
â couling
Oct 20 '14 at 10:45
add a comment |Â
up vote
0
down vote
Have you tried OwnCloud? Still just testing it myself, but it sounds like it fills your requirements: webdav works out-of-the-box.
Yes I have an instance of Owncloud but thats not what I'm looking for because the owncloud user (apache) owns all the files.
â couling
May 31 '16 at 9:04
add a comment |Â
up vote
0
down vote
accepted
Having searched for a long time I just couldn't find one. There are many multi user servers but I couldn't find one which executed as the system user.
So I wrote one myself. This is only tested as far as I can test it myself. But for what its worth, the source code is here:
https://github.com/couling/WebDAV-Daemon
add a comment |Â
up vote
0
down vote
Hy,
I was looking for same thing and I finally gathered a solution using apache2.
I tried node solution using npm webdav-server and found out not all worked as nicely then using the apache module.
Then I tried a npm dav-server based on jsDAV that could do better and could be a solution, but as I had to deal with lousy 3g connection I preferred apache and found out about multiple instance scripts.
So here I share my experience.
http://helpcenter.epages.com/Doc/doc/apache2/README.multiple-instances
I run an instance per webdav user... not very scalable, but to work in a small team it's good enough.
Replace myUser with your user.
On Ubuntu 14.04
sh /usr/share/doc/apache2/examples/setup-instance myUser
So I run a apache process as user myUser defined in /etc/apache2-myUser/envars
export APACHE_RUN_USER=myUser
export APACHE_RUN_GROUP=myUser
Edit ports.conf
# If you proxy with nginx as I did better to limit to local interface
listen localhost:8080
# listen 8080
I could not get PAM auth on ubuntu 14.04 to work so need to trick with basic auth as I then wrap it in https with nginx
htpasswd -c /etc/apache2/htpasswd myUser
Then /etc/apache2-myUser/sites-available/000-default.conf
<VirtualHost *:8080>
DocumentRoot /var/www/html
Alias /$APACHE_RUN_USER /home/$APACHE_RUN_USER
<Directory /home/$APACHE_RUN_USER>
Require all granted
Options +Indexes
</Directory>
<Location /$APACHE_RUN_USER>
DAV On
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/htpasswd
Require valid-user
</Location>
DavLockDB /home/$APACHE_RUN_USER/.DavLock
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
then nginx proxy has a trick with header Destination
passing icons folder lets webdav downgrade nicely on browsers
server
listen 443 ssl http2;
server_name exemple.com;
location ~ ^/(myUser
There is no obligation to use nginx as proxy, apache could very well do the https, but as I bumped into the proxy Destination issue I felt it was worth mentioning it.
add a comment |Â
up vote
-1
down vote
I'm also looking for a similar solution.
Solution 1:
Your desktop environment (Gnome, KDE) might have widgets to expose a certain folder by WebDAV. This will run as long as your desktop environment is running and is not a daemon solution.
Solution 2:
Nothing stops you from running Apache under your own user binding on unprivileged ports above 1024. Just write a configuration file or copy the ones bundled in your distribution to your $HOME/etc/httpd (just an example), add DAV-related config and run it as your own non-root user like:
$ httpd -f $HOME/etc/httpd
Running as your users ensures Apache will create files as you.
add a comment |Â
6 Answers
6
active
oldest
votes
6 Answers
6
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
This may be worth to read:
Another input: multiple user folders and one shared folder
http://hexeract.wordpress.com/2011/02/25/configure-a-webdav-enabled-webserver-for-multiple-user-folders-and-one-shared-folder/
This has the same problem as your other answer. Some users have ssh access. The files MUST be given correct (their own, not the web server's) unix file permissions and ownership (both user and group).
â couling
Oct 20 '14 at 10:49
add a comment |Â
up vote
1
down vote
This may be worth to read:
Another input: multiple user folders and one shared folder
http://hexeract.wordpress.com/2011/02/25/configure-a-webdav-enabled-webserver-for-multiple-user-folders-and-one-shared-folder/
This has the same problem as your other answer. Some users have ssh access. The files MUST be given correct (their own, not the web server's) unix file permissions and ownership (both user and group).
â couling
Oct 20 '14 at 10:49
add a comment |Â
up vote
1
down vote
up vote
1
down vote
This may be worth to read:
Another input: multiple user folders and one shared folder
http://hexeract.wordpress.com/2011/02/25/configure-a-webdav-enabled-webserver-for-multiple-user-folders-and-one-shared-folder/
This may be worth to read:
Another input: multiple user folders and one shared folder
http://hexeract.wordpress.com/2011/02/25/configure-a-webdav-enabled-webserver-for-multiple-user-folders-and-one-shared-folder/
answered Oct 19 '14 at 15:15
Andre
393
393
This has the same problem as your other answer. Some users have ssh access. The files MUST be given correct (their own, not the web server's) unix file permissions and ownership (both user and group).
â couling
Oct 20 '14 at 10:49
add a comment |Â
This has the same problem as your other answer. Some users have ssh access. The files MUST be given correct (their own, not the web server's) unix file permissions and ownership (both user and group).
â couling
Oct 20 '14 at 10:49
This has the same problem as your other answer. Some users have ssh access. The files MUST be given correct (their own, not the web server's) unix file permissions and ownership (both user and group).
â couling
Oct 20 '14 at 10:49
This has the same problem as your other answer. Some users have ssh access. The files MUST be given correct (their own, not the web server's) unix file permissions and ownership (both user and group).
â couling
Oct 20 '14 at 10:49
add a comment |Â
up vote
0
down vote
I used this one as guide to set up webdav:
http://bernaerts.dyndns.org/linux/75-debian/62-debian-webdav-share
yes, Apache is the group (www-data under Debian) but you can add users to that group, so I added one user. Did not test why you may not add other users....
The webdav server using in principle this setup runs now for 3 yrs at my and my sons place (so 2 identical servers for the work of my son). Debian 6 is since some months the LTS version (till Feb-2016).
Compared to Bernaerts I adapted in the Apache file:
/etc/apache2/sites-available/default this part of configuration.
Alias /webdav1 /data/webdav1
<Location /webdav1>
DAV on
Authtype Basic
Authname "webdav1"
AuthUserFile /var/www/web1/passwd1.dav
Require valid-user
</location>
So my files are no longer under www but in /data/webdav1 (through alias webdav1 to keep it short)
For each hard disk I've created such a section and webdav1 becomes webdav2 for the 2nd hard disk in that section. We can build in max 10 hard disks in these servers, so 10 of these section in that config file. I added the user to www-data, davfs2 and davfs, so that the user can have access the webdav folder(s). So the user need to login and will be asked for the username and password.
In fstab all the webdav data disks are listed so that mounting proceeds automaticallly.
That part of fstab:
/dev/sda3 /data/webdav1 ext3, user,auto 0 0
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.
Sadly this doesn't solve the problem at all. The focus of this question was multi user. With this solution new files will be created as the apache user not the logged in user. In order to function apache all files must be www-data group with read / write permissions to that group. Since every user will have to be in that group every user will have to have access to read / write every other user's files. This solution simply doesn't wok for multiple users.
â couling
Oct 20 '14 at 10:45
add a comment |Â
up vote
0
down vote
I used this one as guide to set up webdav:
http://bernaerts.dyndns.org/linux/75-debian/62-debian-webdav-share
yes, Apache is the group (www-data under Debian) but you can add users to that group, so I added one user. Did not test why you may not add other users....
The webdav server using in principle this setup runs now for 3 yrs at my and my sons place (so 2 identical servers for the work of my son). Debian 6 is since some months the LTS version (till Feb-2016).
Compared to Bernaerts I adapted in the Apache file:
/etc/apache2/sites-available/default this part of configuration.
Alias /webdav1 /data/webdav1
<Location /webdav1>
DAV on
Authtype Basic
Authname "webdav1"
AuthUserFile /var/www/web1/passwd1.dav
Require valid-user
</location>
So my files are no longer under www but in /data/webdav1 (through alias webdav1 to keep it short)
For each hard disk I've created such a section and webdav1 becomes webdav2 for the 2nd hard disk in that section. We can build in max 10 hard disks in these servers, so 10 of these section in that config file. I added the user to www-data, davfs2 and davfs, so that the user can have access the webdav folder(s). So the user need to login and will be asked for the username and password.
In fstab all the webdav data disks are listed so that mounting proceeds automaticallly.
That part of fstab:
/dev/sda3 /data/webdav1 ext3, user,auto 0 0
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.
Sadly this doesn't solve the problem at all. The focus of this question was multi user. With this solution new files will be created as the apache user not the logged in user. In order to function apache all files must be www-data group with read / write permissions to that group. Since every user will have to be in that group every user will have to have access to read / write every other user's files. This solution simply doesn't wok for multiple users.
â couling
Oct 20 '14 at 10:45
add a comment |Â
up vote
0
down vote
up vote
0
down vote
I used this one as guide to set up webdav:
http://bernaerts.dyndns.org/linux/75-debian/62-debian-webdav-share
yes, Apache is the group (www-data under Debian) but you can add users to that group, so I added one user. Did not test why you may not add other users....
The webdav server using in principle this setup runs now for 3 yrs at my and my sons place (so 2 identical servers for the work of my son). Debian 6 is since some months the LTS version (till Feb-2016).
Compared to Bernaerts I adapted in the Apache file:
/etc/apache2/sites-available/default this part of configuration.
Alias /webdav1 /data/webdav1
<Location /webdav1>
DAV on
Authtype Basic
Authname "webdav1"
AuthUserFile /var/www/web1/passwd1.dav
Require valid-user
</location>
So my files are no longer under www but in /data/webdav1 (through alias webdav1 to keep it short)
For each hard disk I've created such a section and webdav1 becomes webdav2 for the 2nd hard disk in that section. We can build in max 10 hard disks in these servers, so 10 of these section in that config file. I added the user to www-data, davfs2 and davfs, so that the user can have access the webdav folder(s). So the user need to login and will be asked for the username and password.
In fstab all the webdav data disks are listed so that mounting proceeds automaticallly.
That part of fstab:
/dev/sda3 /data/webdav1 ext3, user,auto 0 0
I used this one as guide to set up webdav:
http://bernaerts.dyndns.org/linux/75-debian/62-debian-webdav-share
yes, Apache is the group (www-data under Debian) but you can add users to that group, so I added one user. Did not test why you may not add other users....
The webdav server using in principle this setup runs now for 3 yrs at my and my sons place (so 2 identical servers for the work of my son). Debian 6 is since some months the LTS version (till Feb-2016).
Compared to Bernaerts I adapted in the Apache file:
/etc/apache2/sites-available/default this part of configuration.
Alias /webdav1 /data/webdav1
<Location /webdav1>
DAV on
Authtype Basic
Authname "webdav1"
AuthUserFile /var/www/web1/passwd1.dav
Require valid-user
</location>
So my files are no longer under www but in /data/webdav1 (through alias webdav1 to keep it short)
For each hard disk I've created such a section and webdav1 becomes webdav2 for the 2nd hard disk in that section. We can build in max 10 hard disks in these servers, so 10 of these section in that config file. I added the user to www-data, davfs2 and davfs, so that the user can have access the webdav folder(s). So the user need to login and will be asked for the username and password.
In fstab all the webdav data disks are listed so that mounting proceeds automaticallly.
That part of fstab:
/dev/sda3 /data/webdav1 ext3, user,auto 0 0
edited Oct 19 '14 at 17:16
answered Oct 18 '14 at 19:51
Andre
393
393
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.
Sadly this doesn't solve the problem at all. The focus of this question was multi user. With this solution new files will be created as the apache user not the logged in user. In order to function apache all files must be www-data group with read / write permissions to that group. Since every user will have to be in that group every user will have to have access to read / write every other user's files. This solution simply doesn't wok for multiple users.
â couling
Oct 20 '14 at 10:45
add a comment |Â
Sadly this doesn't solve the problem at all. The focus of this question was multi user. With this solution new files will be created as the apache user not the logged in user. In order to function apache all files must be www-data group with read / write permissions to that group. Since every user will have to be in that group every user will have to have access to read / write every other user's files. This solution simply doesn't wok for multiple users.
â couling
Oct 20 '14 at 10:45
Sadly this doesn't solve the problem at all. The focus of this question was multi user. With this solution new files will be created as the apache user not the logged in user. In order to function apache all files must be www-data group with read / write permissions to that group. Since every user will have to be in that group every user will have to have access to read / write every other user's files. This solution simply doesn't wok for multiple users.
â couling
Oct 20 '14 at 10:45
Sadly this doesn't solve the problem at all. The focus of this question was multi user. With this solution new files will be created as the apache user not the logged in user. In order to function apache all files must be www-data group with read / write permissions to that group. Since every user will have to be in that group every user will have to have access to read / write every other user's files. This solution simply doesn't wok for multiple users.
â couling
Oct 20 '14 at 10:45
add a comment |Â
up vote
0
down vote
Have you tried OwnCloud? Still just testing it myself, but it sounds like it fills your requirements: webdav works out-of-the-box.
Yes I have an instance of Owncloud but thats not what I'm looking for because the owncloud user (apache) owns all the files.
â couling
May 31 '16 at 9:04
add a comment |Â
up vote
0
down vote
Have you tried OwnCloud? Still just testing it myself, but it sounds like it fills your requirements: webdav works out-of-the-box.
Yes I have an instance of Owncloud but thats not what I'm looking for because the owncloud user (apache) owns all the files.
â couling
May 31 '16 at 9:04
add a comment |Â
up vote
0
down vote
up vote
0
down vote
Have you tried OwnCloud? Still just testing it myself, but it sounds like it fills your requirements: webdav works out-of-the-box.
Have you tried OwnCloud? Still just testing it myself, but it sounds like it fills your requirements: webdav works out-of-the-box.
answered May 30 '16 at 14:31
Ryder
26618
26618
Yes I have an instance of Owncloud but thats not what I'm looking for because the owncloud user (apache) owns all the files.
â couling
May 31 '16 at 9:04
add a comment |Â
Yes I have an instance of Owncloud but thats not what I'm looking for because the owncloud user (apache) owns all the files.
â couling
May 31 '16 at 9:04
Yes I have an instance of Owncloud but thats not what I'm looking for because the owncloud user (apache) owns all the files.
â couling
May 31 '16 at 9:04
Yes I have an instance of Owncloud but thats not what I'm looking for because the owncloud user (apache) owns all the files.
â couling
May 31 '16 at 9:04
add a comment |Â
up vote
0
down vote
accepted
Having searched for a long time I just couldn't find one. There are many multi user servers but I couldn't find one which executed as the system user.
So I wrote one myself. This is only tested as far as I can test it myself. But for what its worth, the source code is here:
https://github.com/couling/WebDAV-Daemon
add a comment |Â
up vote
0
down vote
accepted
Having searched for a long time I just couldn't find one. There are many multi user servers but I couldn't find one which executed as the system user.
So I wrote one myself. This is only tested as far as I can test it myself. But for what its worth, the source code is here:
https://github.com/couling/WebDAV-Daemon
add a comment |Â
up vote
0
down vote
accepted
up vote
0
down vote
accepted
Having searched for a long time I just couldn't find one. There are many multi user servers but I couldn't find one which executed as the system user.
So I wrote one myself. This is only tested as far as I can test it myself. But for what its worth, the source code is here:
https://github.com/couling/WebDAV-Daemon
Having searched for a long time I just couldn't find one. There are many multi user servers but I couldn't find one which executed as the system user.
So I wrote one myself. This is only tested as far as I can test it myself. But for what its worth, the source code is here:
https://github.com/couling/WebDAV-Daemon
edited Sep 13 '17 at 15:52
answered Sep 13 '17 at 15:41
couling
228210
228210
add a comment |Â
add a comment |Â
up vote
0
down vote
Hy,
I was looking for same thing and I finally gathered a solution using apache2.
I tried node solution using npm webdav-server and found out not all worked as nicely then using the apache module.
Then I tried a npm dav-server based on jsDAV that could do better and could be a solution, but as I had to deal with lousy 3g connection I preferred apache and found out about multiple instance scripts.
So here I share my experience.
http://helpcenter.epages.com/Doc/doc/apache2/README.multiple-instances
I run an instance per webdav user... not very scalable, but to work in a small team it's good enough.
Replace myUser with your user.
On Ubuntu 14.04
sh /usr/share/doc/apache2/examples/setup-instance myUser
So I run a apache process as user myUser defined in /etc/apache2-myUser/envars
export APACHE_RUN_USER=myUser
export APACHE_RUN_GROUP=myUser
Edit ports.conf
# If you proxy with nginx as I did better to limit to local interface
listen localhost:8080
# listen 8080
I could not get PAM auth on ubuntu 14.04 to work so need to trick with basic auth as I then wrap it in https with nginx
htpasswd -c /etc/apache2/htpasswd myUser
Then /etc/apache2-myUser/sites-available/000-default.conf
<VirtualHost *:8080>
DocumentRoot /var/www/html
Alias /$APACHE_RUN_USER /home/$APACHE_RUN_USER
<Directory /home/$APACHE_RUN_USER>
Require all granted
Options +Indexes
</Directory>
<Location /$APACHE_RUN_USER>
DAV On
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/htpasswd
Require valid-user
</Location>
DavLockDB /home/$APACHE_RUN_USER/.DavLock
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
then nginx proxy has a trick with header Destination
passing icons folder lets webdav downgrade nicely on browsers
server
listen 443 ssl http2;
server_name exemple.com;
location ~ ^/(myUser
There is no obligation to use nginx as proxy, apache could very well do the https, but as I bumped into the proxy Destination issue I felt it was worth mentioning it.
add a comment |Â
up vote
0
down vote
Hy,
I was looking for same thing and I finally gathered a solution using apache2.
I tried node solution using npm webdav-server and found out not all worked as nicely then using the apache module.
Then I tried a npm dav-server based on jsDAV that could do better and could be a solution, but as I had to deal with lousy 3g connection I preferred apache and found out about multiple instance scripts.
So here I share my experience.
http://helpcenter.epages.com/Doc/doc/apache2/README.multiple-instances
I run an instance per webdav user... not very scalable, but to work in a small team it's good enough.
Replace myUser with your user.
On Ubuntu 14.04
sh /usr/share/doc/apache2/examples/setup-instance myUser
So I run a apache process as user myUser defined in /etc/apache2-myUser/envars
export APACHE_RUN_USER=myUser
export APACHE_RUN_GROUP=myUser
Edit ports.conf
# If you proxy with nginx as I did better to limit to local interface
listen localhost:8080
# listen 8080
I could not get PAM auth on ubuntu 14.04 to work so need to trick with basic auth as I then wrap it in https with nginx
htpasswd -c /etc/apache2/htpasswd myUser
Then /etc/apache2-myUser/sites-available/000-default.conf
<VirtualHost *:8080>
DocumentRoot /var/www/html
Alias /$APACHE_RUN_USER /home/$APACHE_RUN_USER
<Directory /home/$APACHE_RUN_USER>
Require all granted
Options +Indexes
</Directory>
<Location /$APACHE_RUN_USER>
DAV On
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/htpasswd
Require valid-user
</Location>
DavLockDB /home/$APACHE_RUN_USER/.DavLock
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
then nginx proxy has a trick with header Destination
passing icons folder lets webdav downgrade nicely on browsers
server
listen 443 ssl http2;
server_name exemple.com;
location ~ ^/(myUser
There is no obligation to use nginx as proxy, apache could very well do the https, but as I bumped into the proxy Destination issue I felt it was worth mentioning it.
add a comment |Â
up vote
0
down vote
up vote
0
down vote
Hy,
I was looking for same thing and I finally gathered a solution using apache2.
I tried node solution using npm webdav-server and found out not all worked as nicely then using the apache module.
Then I tried a npm dav-server based on jsDAV that could do better and could be a solution, but as I had to deal with lousy 3g connection I preferred apache and found out about multiple instance scripts.
So here I share my experience.
http://helpcenter.epages.com/Doc/doc/apache2/README.multiple-instances
I run an instance per webdav user... not very scalable, but to work in a small team it's good enough.
Replace myUser with your user.
On Ubuntu 14.04
sh /usr/share/doc/apache2/examples/setup-instance myUser
So I run a apache process as user myUser defined in /etc/apache2-myUser/envars
export APACHE_RUN_USER=myUser
export APACHE_RUN_GROUP=myUser
Edit ports.conf
# If you proxy with nginx as I did better to limit to local interface
listen localhost:8080
# listen 8080
I could not get PAM auth on ubuntu 14.04 to work so need to trick with basic auth as I then wrap it in https with nginx
htpasswd -c /etc/apache2/htpasswd myUser
Then /etc/apache2-myUser/sites-available/000-default.conf
<VirtualHost *:8080>
DocumentRoot /var/www/html
Alias /$APACHE_RUN_USER /home/$APACHE_RUN_USER
<Directory /home/$APACHE_RUN_USER>
Require all granted
Options +Indexes
</Directory>
<Location /$APACHE_RUN_USER>
DAV On
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/htpasswd
Require valid-user
</Location>
DavLockDB /home/$APACHE_RUN_USER/.DavLock
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
then nginx proxy has a trick with header Destination
passing icons folder lets webdav downgrade nicely on browsers
server
listen 443 ssl http2;
server_name exemple.com;
location ~ ^/(myUser
There is no obligation to use nginx as proxy, apache could very well do the https, but as I bumped into the proxy Destination issue I felt it was worth mentioning it.
Hy,
I was looking for same thing and I finally gathered a solution using apache2.
I tried node solution using npm webdav-server and found out not all worked as nicely then using the apache module.
Then I tried a npm dav-server based on jsDAV that could do better and could be a solution, but as I had to deal with lousy 3g connection I preferred apache and found out about multiple instance scripts.
So here I share my experience.
http://helpcenter.epages.com/Doc/doc/apache2/README.multiple-instances
I run an instance per webdav user... not very scalable, but to work in a small team it's good enough.
Replace myUser with your user.
On Ubuntu 14.04
sh /usr/share/doc/apache2/examples/setup-instance myUser
So I run a apache process as user myUser defined in /etc/apache2-myUser/envars
export APACHE_RUN_USER=myUser
export APACHE_RUN_GROUP=myUser
Edit ports.conf
# If you proxy with nginx as I did better to limit to local interface
listen localhost:8080
# listen 8080
I could not get PAM auth on ubuntu 14.04 to work so need to trick with basic auth as I then wrap it in https with nginx
htpasswd -c /etc/apache2/htpasswd myUser
Then /etc/apache2-myUser/sites-available/000-default.conf
<VirtualHost *:8080>
DocumentRoot /var/www/html
Alias /$APACHE_RUN_USER /home/$APACHE_RUN_USER
<Directory /home/$APACHE_RUN_USER>
Require all granted
Options +Indexes
</Directory>
<Location /$APACHE_RUN_USER>
DAV On
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/htpasswd
Require valid-user
</Location>
DavLockDB /home/$APACHE_RUN_USER/.DavLock
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
then nginx proxy has a trick with header Destination
passing icons folder lets webdav downgrade nicely on browsers
server
listen 443 ssl http2;
server_name exemple.com;
location ~ ^/(myUser
There is no obligation to use nginx as proxy, apache could very well do the https, but as I bumped into the proxy Destination issue I felt it was worth mentioning it.
edited Sep 7 at 23:23
Rui F Ribeiro
36.8k1273117
36.8k1273117
answered Apr 10 at 6:38
Antony Gibbs
1013
1013
add a comment |Â
add a comment |Â
up vote
-1
down vote
I'm also looking for a similar solution.
Solution 1:
Your desktop environment (Gnome, KDE) might have widgets to expose a certain folder by WebDAV. This will run as long as your desktop environment is running and is not a daemon solution.
Solution 2:
Nothing stops you from running Apache under your own user binding on unprivileged ports above 1024. Just write a configuration file or copy the ones bundled in your distribution to your $HOME/etc/httpd (just an example), add DAV-related config and run it as your own non-root user like:
$ httpd -f $HOME/etc/httpd
Running as your users ensures Apache will create files as you.
add a comment |Â
up vote
-1
down vote
I'm also looking for a similar solution.
Solution 1:
Your desktop environment (Gnome, KDE) might have widgets to expose a certain folder by WebDAV. This will run as long as your desktop environment is running and is not a daemon solution.
Solution 2:
Nothing stops you from running Apache under your own user binding on unprivileged ports above 1024. Just write a configuration file or copy the ones bundled in your distribution to your $HOME/etc/httpd (just an example), add DAV-related config and run it as your own non-root user like:
$ httpd -f $HOME/etc/httpd
Running as your users ensures Apache will create files as you.
add a comment |Â
up vote
-1
down vote
up vote
-1
down vote
I'm also looking for a similar solution.
Solution 1:
Your desktop environment (Gnome, KDE) might have widgets to expose a certain folder by WebDAV. This will run as long as your desktop environment is running and is not a daemon solution.
Solution 2:
Nothing stops you from running Apache under your own user binding on unprivileged ports above 1024. Just write a configuration file or copy the ones bundled in your distribution to your $HOME/etc/httpd (just an example), add DAV-related config and run it as your own non-root user like:
$ httpd -f $HOME/etc/httpd
Running as your users ensures Apache will create files as you.
I'm also looking for a similar solution.
Solution 1:
Your desktop environment (Gnome, KDE) might have widgets to expose a certain folder by WebDAV. This will run as long as your desktop environment is running and is not a daemon solution.
Solution 2:
Nothing stops you from running Apache under your own user binding on unprivileged ports above 1024. Just write a configuration file or copy the ones bundled in your distribution to your $HOME/etc/httpd (just an example), add DAV-related config and run it as your own non-root user like:
$ httpd -f $HOME/etc/httpd
Running as your users ensures Apache will create files as you.
answered Sep 12 '17 at 21:40
avibrazil
1
1
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f123001%2fis-there-a-multi-user-webdav-server-available-for-linux%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
As webdav is based on the HTTP protocol, I would say it's not existing except under the form of an HTTP server. And if you find product that offer webdav trhey will usually offer more than that
â Kiwy
Apr 3 '14 at 18:50
It looks like there may be something promising in the latest version of MPM ITK. mpm-itk.sesse.net I'll have a try with this and see if
AssignUserIDExpr
will accept the logged in user. It may not sinceAssignUserID
appears to kick in before the user authenticates.â couling
Apr 7 '14 at 11:09
There are standalone webdav servers like code.google.com/p/opendav or libraries like PyWebDAV that don't require apache.
â Jan
Aug 21 '14 at 7:58
@jan That may turn out to to be the best answer. Apache is running on the server already and webdav should be a subdirectory on the site but I can set that up as a proxy pass through and use Apache's SSL to provide the encryption.
â couling
Aug 25 '14 at 22:37
1
Should be moved to Software Recommendations.SE.
â William Edwards
Oct 18 '14 at 19:55