diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /www-apps/webdavcgi/files |
reinit the tree, so we can have metadata
Diffstat (limited to 'www-apps/webdavcgi/files')
-rw-r--r-- | www-apps/webdavcgi/files/0.8.3-logout-var-expansion.patch | 21 | ||||
-rw-r--r-- | www-apps/webdavcgi/files/apache-webdavcgi-0.8-example.conf | 59 | ||||
-rw-r--r-- | www-apps/webdavcgi/files/apache-webdavcgi-1.1-example.conf | 63 | ||||
-rw-r--r-- | www-apps/webdavcgi/files/postinstall-en.txt | 29 | ||||
-rw-r--r-- | www-apps/webdavcgi/files/postinstall-webdavwrapper-en.txt | 32 | ||||
-rw-r--r-- | www-apps/webdavcgi/files/reconfig | 32 | ||||
-rw-r--r-- | www-apps/webdavcgi/files/reconfig-suid | 26 | ||||
-rw-r--r-- | www-apps/webdavcgi/files/webdav-0.8.conf | 88 | ||||
-rw-r--r-- | www-apps/webdavcgi/files/webdav-1.1.conf | 125 |
9 files changed, 475 insertions, 0 deletions
diff --git a/www-apps/webdavcgi/files/0.8.3-logout-var-expansion.patch b/www-apps/webdavcgi/files/0.8.3-logout-var-expansion.patch new file mode 100644 index 000000000000..739ff7f4c79b --- /dev/null +++ b/www-apps/webdavcgi/files/0.8.3-logout-var-expansion.patch @@ -0,0 +1,21 @@ +diff -ru cgi-bin.orig/logout-dist cgi-bin/logout-dist +--- cgi-bin.orig/logout-dist 2011-03-22 17:25:52.000000000 +0100 ++++ cgi-bin/logout-dist 2012-10-03 21:44:35.057437306 +0200 +@@ -34,13 +34,13 @@ + # ----- + ### REALM: the basic authentication realm + ### (must be equal to your AuthName value for Apache) +-REALM="Change Me" ++REALM="${REALM:=Change Me}" + + ### HOMEURL: the home URL +-HOMEURL="/changemyhomeurl" ++HOMEURL="${HOMEURL:=/changemyhomeurl}" + +-### TIMEOUT: the refresh timeout for the logut page +-TIMEOUT=0 ++### TIMEOUT: the refresh timeout for the logout page ++TIMEOUT=${TIMEOUT:=0} + + # SETUP END + diff --git a/www-apps/webdavcgi/files/apache-webdavcgi-0.8-example.conf b/www-apps/webdavcgi/files/apache-webdavcgi-0.8-example.conf new file mode 100644 index 000000000000..cf1d4d4dafe0 --- /dev/null +++ b/www-apps/webdavcgi/files/apache-webdavcgi-0.8-example.conf @@ -0,0 +1,59 @@ +# Example Apache HTTP server configuration snippet for WebDAV CGI +# +# Add the following lines to the Apache HTTP virtual host which should run +# WebDAV CGI. +# +# WebDAV CGI will be accessible via http://www.example.com/webdav/ and uses +# basic HTTP authentication (by default). For this to work, you need to add all +# valid users to the AuthUserFile with the help of the htpasswd command: +# +# htpasswd -c /etc/webdavcgi-0.8/default/users.htpasswd user1 +# htpasswd /etc/webdavcgi-0.8/default/users.htpasswd user2 +# +# Note, that if you have the UID/GID wrapper enabled (USE=suid), WebDAV CGI will +# switch to the login user after a successful login, thus the users within the +# AuthType need to present on the system as well. +# +# You probably want to review and change the following settings: +# - /webdavcgi should point to your desired webdavwrapper, which is either +# webdavwrapper, webdavwrapper-afs, webdavwrapper-krb or in case you disabled +# the UID/GID wrapper (USE=-suid), webdav.pl +# +# - The /webdav location +# If you change this location, make sure to reflect the new path within the +# WebDAV CGI configuration (WEBDAVCONF -> $VIRTUAL_BASE) as well. +# +# - The authentication provider and/or AuthUserFile +# +# - The HOMEURL environment variable. After a user logs out, the browser will +# be redirected to this URL. +# +# - The WEBDAVCONF environment variable has to point to your configuration +# +# For further informations and other configuration possibilities consult the +# WebDAV CGI documentation which is located at http://webdavcgi.sourceforge.net +# and the Apache HTTP server documentation at https://httpd.apache.org/docs/ +# + ScriptAlias /webdavcgi "/usr/libexec/webdavcgi-0.8/cgi-bin/webdavwrapper" + ScriptAlias /webdav/logout "/usr/libexec/webdavcgi-0.8/cgi-bin/logout" + + <Location /webdav> + Order Allow,Deny + Allow from all + </Location> + + <Location /webdavcgi> + AuthType Basic + AuthName "WebDAV-CGI" + AuthUserFile /etc/webdavcgi-0.8/default/users.htpasswd + Require valid-user + Order Allow,Deny + Allow from all + </Location> + + + RewriteEngine On + + RewriteRule ^/webdav/logout - [L,E=REALM:WebDAV-CGI,E=HOMEURL:/webdav,E=TIMEOUT:5] + + RewriteRule ^/webdav /webdavcgi [PT,L,E=WEBDAVCONF:/etc/webdavcgi-0.8/default/webdav.conf,E=PERLLIB:/usr/share/webdavcgi-0.8/lib/perl,E=LOGOUTURL:/webdav/logout] diff --git a/www-apps/webdavcgi/files/apache-webdavcgi-1.1-example.conf b/www-apps/webdavcgi/files/apache-webdavcgi-1.1-example.conf new file mode 100644 index 000000000000..4ee926fbd7c7 --- /dev/null +++ b/www-apps/webdavcgi/files/apache-webdavcgi-1.1-example.conf @@ -0,0 +1,63 @@ +# Example Apache HTTP server configuration snippet for WebDAV CGI +# +# Add the following lines to the Apache HTTP virtual host which should run +# WebDAV CGI. +# +# WebDAV CGI will be accessible via http://www.example.com/webdav/ and uses +# basic HTTP authentication (by default). For this to work, you need to add all +# valid users to the AuthUserFile with the help of the htpasswd command: +# +# htpasswd -c /etc/webdavcgi-1.1/default/users.htpasswd user1 +# htpasswd /etc/webdavcgi-1.1/default/users.htpasswd user2 +# +# Note, that if you have the UID/GID wrapper enabled (USE=suid), WebDAV CGI will +# switch to the login user after a successful login, thus the users within the +# AuthType need to be present on the system as well. +# +# You probably want to review and change the following settings: +# - /webdavcgi should point to your desired webdavwrapper, which is either +# webdavwrapper, webdavwrapper-afs, webdavwrapper-krb or in case you disabled +# the UID/GID wrapper (USE=-suid), webdav.pl +# +# - The /webdav location +# If you change this location, make sure to reflect the new path within the +# WebDAV CGI configuration (WEBDAVCONF -> $VIRTUAL_BASE) as well. +# +# - The authentication provider and/or AuthUserFile +# +# - The HOMEURL environment variable. After a user logs out, the browser will +# be redirected to this URL. +# +# - The WEBDAVCONF environment variable has to point to your configuration +# +# For further informations and other configuration possibilities consult the +# WebDAV CGI documentation which is located at http://webdavcgi.sourceforge.net +# and the Apache HTTP server documentation at https://httpd.apache.org/docs/ +# + ScriptAlias /webdavcgi "/usr/libexec/webdavcgi-1.1/cgi-bin/webdavwrapper" + ScriptAlias /webdav/logout "/usr/libexec/webdavcgi-1.1/cgi-bin/logout" + + <Location /webdav> + Require all granted + # Disable the line above and enable the two lines below + # if you're still on Apache 2.2 + #Order Allow,Deny + #Allow from all + </Location> + + <Location /webdavcgi> + AuthType Basic + AuthName "WebDAV-CGI" + AuthUserFile /etc/webdavcgi-1.1/default/users.htpasswd + Require valid-user + # Also enable the following two lines if you're still on Apache 2.2 + #Order Allow,Deny + #Allow from all + </Location> + + + RewriteEngine On + + RewriteRule ^/webdav/logout - [L,E=REALM:WebDAV-CGI,E=HOMEURL:/webdav,E=TIMEOUT:5] + + RewriteRule ^/webdav /webdavcgi [PT,L,E=WEBDAVCONF:/etc/webdavcgi-1.1/default/webdav.conf,E=PERLLIB:/usr/share/webdavcgi-1.1/lib/perl,E=LOGOUTURL:/webdav/logout] diff --git a/www-apps/webdavcgi/files/postinstall-en.txt b/www-apps/webdavcgi/files/postinstall-en.txt new file mode 100644 index 000000000000..8aa6f95d87a2 --- /dev/null +++ b/www-apps/webdavcgi/files/postinstall-en.txt @@ -0,0 +1,29 @@ +Before you can run WebDAV CGI you need to configure your web server and WebDAV +CGI itself. + +The following configuration snippet serves as an example for the Apache HTTPD +web server. You will have to adapt it to suite your own server and configuration +needs. + + ScriptAlias /cgi-bin/ "${VHOST_CGIBINDIR}/" + + <Location /${VHOST_CGIBINDIR##*/}/> + AuthType Basic + AuthName "WebDAV-CGI" + AuthUserFile ${VHOST_ROOT}/etc/users.htpasswd + Require valid-user + Order Allow,Deny + Allow from all + </Location> + + RewriteEngine On + RewriteRule ^/${VHOST_APPDIR}/logout /${VHOST_CGIBINDIR##*/}/logout [PT,E=REALM:WebDAV-CGI,E=HOMEURL:/${VHOST_APPDIR},L] + RewriteRule ^/${VHOST_APPDIR} /${VHOST_CGIBINDIR##*/}/webdav.pl [PT,E=WEBDAVCONF:${VHOST_ROOT}/etc/webdav.conf,E=PERLLIB:${VHOST_ROOT}/lib/perl,L] + + +Afterwards you need to copy the default configuration file and edit it: +cp -p ${VHOST_ROOT}/etc/{webdav.conf-dist,webdav.conf} +\$EDITOR ${VHOST_ROOT}/etc/webdav.conf + +For further informations study the online documentation which is located at: +http://webdavcgi.sourceforge.net/doc.html diff --git a/www-apps/webdavcgi/files/postinstall-webdavwrapper-en.txt b/www-apps/webdavcgi/files/postinstall-webdavwrapper-en.txt new file mode 100644 index 000000000000..5f30d81be7b6 --- /dev/null +++ b/www-apps/webdavcgi/files/postinstall-webdavwrapper-en.txt @@ -0,0 +1,32 @@ +Before you can run WebDAV CGI you need to configure your web server and WebDAV +CGI itself. + +The following configuration snippet serves as an example for the Apache HTTPD +web server. You will have to adapt it to suite your own server and configuration +needs. + + ScriptAlias /cgi-bin/ "${VHOST_CGIBINDIR}/" + + <Location /${VHOST_CGIBINDIR##*/}/> + AuthType Basic + AuthName "WebDAV-CGI" + AuthUserFile ${VHOST_ROOT}/etc/users.htpasswd + Require valid-user + Order Allow,Deny + Allow from all + </Location> + + RewriteEngine On + RewriteRule ^/${VHOST_APPDIR}/logout /${VHOST_CGIBINDIR##*/}/logout [PT,E=REALM:WebDAV-CGI,E=HOMEURL:/${VHOST_APPDIR},L] + RewriteRule ^/${VHOST_APPDIR} /${VHOST_CGIBINDIR##*/}/webdavwrapper [PT,E=WEBDAVCONF:${VHOST_ROOT}/etc/webdav.conf,E=PERLLIB:${VHOST_ROOT}/lib/perl,L] + + +Afterwards you need to copy the default configuration file and edit it: +cp -p ${VHOST_ROOT}/etc/{webdav.conf-dist,webdav.conf} +\$EDITOR ${VHOST_ROOT}/etc/webdav.conf + +Also make sure that all system users which should be able to login to WebDAV CGI +are able to access the installed files below ${VHOST_ROOT}. + +For further informations study the online documentation which is located at: +http://webdavcgi.sourceforge.net/doc.html diff --git a/www-apps/webdavcgi/files/reconfig b/www-apps/webdavcgi/files/reconfig new file mode 100644 index 000000000000..07710dd7c3e9 --- /dev/null +++ b/www-apps/webdavcgi/files/reconfig @@ -0,0 +1,32 @@ +#!/bin/bash + +confDir="etc" +distConfFile="webdav.conf-dist" + +sedCmd="/bin/sed" + + +function die () +{ + echo "reconfig error: $1" >&2 + exit 1 +} + + +if [ $1 != "install" ]; then + # nothing to be done, exit + exit 0 +fi + +# Set the correct path within the config file +distConfFilePath="${VHOST_ROOT}/${confDir}/${distConfFile}" +if ! ${sedCmd} -i -e "s|^\(\$INSTALL_BASE\)=.*|\1='${VHOST_ROOT}/';|" \ + ${distConfFilePath} +then + die "Setting INSTALL_BASE path in ${distConfFilePath} failed" +fi + + +# Adding logout support +# see: http://webdavcgi.sourceforge.net/doc.html#logout +echo "\$HEADER = '<div class=\"header\">WebDAV CGI - Web interface: You are logged in as <span title="'.`id -a`.'">' .\$ENV{REMOTE_USER}.'</span> (<a href="/logout">Logout</a>).</div>';" >> ${distConfFilePath} diff --git a/www-apps/webdavcgi/files/reconfig-suid b/www-apps/webdavcgi/files/reconfig-suid new file mode 100644 index 000000000000..d7fb87722614 --- /dev/null +++ b/www-apps/webdavcgi/files/reconfig-suid @@ -0,0 +1,26 @@ +#!/bin/bash + +webDavWrapper="webdavwrapper" +webDavWrapperPath="${VHOST_CGIBINDIR}/${webDavWrapper}" + +chmodCmd="/bin/chmod" +chownCmd="/bin/chown" + + +function die () +{ + echo "reconfig error: $1" >&2 + exit 1 +} + +if [ $1 = "install" ]; then + # In order to change the user and group ID at runtime, the webdavwrapper + # needs to be run as root (set-user-ID and set-group-ID bit) + if ! ${chownCmd} root:root ${webDavWrapperPath}; then + die "Chown for ${webDavWrapperPath} failed" + fi + + if ! ${chmodCmd} 6755 ${webDavWrapperPath}; then + die "Setting SUID and SGID bit on ${webDavWrapperPath} failed" + fi +fi diff --git a/www-apps/webdavcgi/files/webdav-0.8.conf b/www-apps/webdavcgi/files/webdav-0.8.conf new file mode 100644 index 000000000000..8563df7ad617 --- /dev/null +++ b/www-apps/webdavcgi/files/webdav-0.8.conf @@ -0,0 +1,88 @@ +## -- INSTALL_BASE +## folder path to the webdav.conf, .css, .js, and. msg files for the Web +## interface +## (don't forget the trailing slash) +$INSTALL_BASE='/usr/share/webdavcgi-0.8/'; + +## -- VIRTUAL_BASE +## only neccassary if you use redirects or rewrites from a VIRTUAL_BASE to +## the DOCUMENT_ROOT; +## regular expressions are allowed +## EXAMPLE: $VIRTUAL_BASE = '/'; +$VIRTUAL_BASE = '/webdav'; + +## -- DOCUMENT_ROOT +## by default the server document root +## (don't forget a trailing slash '/'): +$DOCUMENT_ROOT = '/home/'; + +## -- UMASK +## mask for file/folder creation +## (it does not change permission of existing files/folders): +$UMASK = 0007; + +## -- ENABLE_DAVMOUNT +## enables DAV mount button in the folder navigation of the Web interface +$ENABLE_DAVMOUNT = 1; + +## -- ENABLE_COMPRESSION +## enables/disables gzip content encoding for the Web interface +$ENABLE_COMPRESSION = 0; + +## -- PAGE_LIMIT +## limits number of files/folders shown in the Web interface +$PAGE_LIMIT=100; + +## -- PAGE_LIMITS +## allowed selectable limits (-1 = show all) +@PAGE_LIMITS = ( 5, 10, 15, 20, 30, 50, 100, -1); + +## -- DBI_(SRC/USER/PASS) +## database setup for LOCK/UNLOCK/PROPPATCH/PROPFIND data +## +## SQLite config +## If users share the same folder they should use the same database +## in this case you have to use a single file writeable for all users. +#$DBI_SRC='dbi:SQLite:dbname=/var/lib/webdavcgi/0.8/default/webdav.db'; +#$DBI_USER=''; +#$DBI_PASS=''; +#$CREATE_DB = !-e '/var/lib/webdavcgi/0.8/default/webdav.db'; + +## MySQL config +#$DBI_SRC='DBI:mysql:database=webdavcgi;host=localhost;port=3306'; +#$DBI_USER='mysqluser'; +#$DBI_PASS='changeme'; +#$CREATE_DB=0; + +## PostgreSQL config +#$DBI_SRC='dbi:Pg:dbname=webdavcgi;host=localhost;port=5432'; +#$DBI_USER='pguser'; +#$DBI_PASS='changeme'; +#$CREATE_DB = 0; + +## -- HEADER +## content after body tag in the Web interface +$HEADER = '<div class="header">WebDAV CGI - Web interface: You are logged in as <span title=.`id -a`.>' .$ENV{REMOTE_USER}.'</span> (<a href="'.$ENV{LOGOUTURL}.'">Logout</a>).</div>'; + +## -- ENABLE_CALDAV +## Disable CalDAV support for Lightning/Sunbird/iCal/iPhone calender/task +## support +$ENABLE_CALDAV = 0; + +## -- ENABLE_GROUPDAV +## Disables GroupDAV (http://groupdav.org/draft-hess-groupdav-01.txt) +$ENABLE_GROUPDAV = 0; + +## -- ENABLE_THUMBNAIL +## Disable image thumbnail support and media rss feed for folder listings of the +## Web interface. +## If enabled the default icons for images will be replaced by thumbnails +## and if the mouse is over a icon the icon will be zoomed to the size of +## $THUMBNAIL_WIDTH. +$ENABLE_THUMBNAIL = 0; + +## -- THUMBNAIL_CACHEDIR +## defines the path to a cache directory for image thumbnails +## this is neccessary if you enable the thumbnail cache ($ENABLE_THUMBNAIL_CACHE) +## EXAMPLE: $THUMBNAIL_CACHEDIR=".thumbs"; +$THUMBNAIL_CACHEDIR="/var/cache/webdavcgi/0.8/default/thumbnails"; diff --git a/www-apps/webdavcgi/files/webdav-1.1.conf b/www-apps/webdavcgi/files/webdav-1.1.conf new file mode 100644 index 000000000000..60a08c819226 --- /dev/null +++ b/www-apps/webdavcgi/files/webdav-1.1.conf @@ -0,0 +1,125 @@ +######################################################################### +############ S E T U P ################################################# + +## -- INSTALL_BASE +## folder path to the webdav.conf, .css, .js, and. msg files for the Web interface +## (don't forget the trailing slash) +## DEFAULT: $INSTALL_BASE=q{} # use webdav.pl script path +$INSTALL_BASE = '/usr/share/webdavcgi-1.1/'; + +## -- VIRTUAL_BASE +## only neccassary if you use redirects or rewrites from a VIRTUAL_BASE to the DOCUMENT_ROOT; +## regular expressions are allowed +## EXAMPLE: $VIRTUAL_BASE = qr{/}xms +$VIRTUAL_BASE = '/webdav'; + +## -- DOCUMENT_ROOT +## by default the server document root +## (don't forget a trailing slash q{/}): +$DOCUMENT_ROOT = '/home/'; + +## -- UMASK +## mask for file/folder creation +## (it does not change permission of existing files/folders): +## DEFAULT: $UMASK = oct 2; # read/write/execute for users and groups, others get read/execute permissions +$UMASK = 0007; + +## -- MIMEFILE +## path to your MIME types file +## EXAMPLE: $MIMEFILE = '/etc/mime.types'; +$MIMEFILE = '/etc/webdavcgi-1.1/default/mime.types'; + +## -- ENABLE_COMPRESSION +## enables/disables gzip content encoding for the Web interface +## EXAMPLE: $ENABLE_COMPRESSION = 1; +$ENABLE_COMPRESSION = 0; + +## -- ENABLE_DAVMOUNT +## enables DAV mount button in the folder navigation of the Web interface +## DEFAULT: $ENABLE_DAVMOUNT = 0; +$ENABLE_DAVMOUNT = 1; + + +## -- HEADER +## content after body tag in the Web interface +$HEADER = +q{<div class="header">WebDAV CGI - Web interface: You are logged in as ${USER} (<a href="$ENV{LOGOUTURL}" style="color:inherit;">Logout</a>) <div style="float:right;font-size:0.8em;">$NOW</div></div>.}; + +## -- DBI_(SRC/USER/PASS) +## database setup for LOCK/UNLOCK/PROPPATCH/PROPFIND data +## +## SQLite config +## If users share the same folder they should use the same database +## in this case you have to use a single file writeable for all users. +#$DBI_SRC='dbi:SQLite:dbname=/var/lib/webdavcgi/1.1/default/webdav.db'; +#$DBI_USER=''; +#$DBI_PASS=''; +#$CREATE_DB = !-e '/var/lib/webdavcgi/1.1/default/webdav.db'; + +## MySQL config +#$DBI_SRC='DBI:mysql:database=webdavcgi;host=localhost;port=3306'; +#$DBI_USER='mysqluser'; +#$DBI_PASS='changeme'; +#$CREATE_DB=0; + +## PostgreSQL config +#$DBI_SRC='dbi:Pg:dbname=webdavcgi;host=localhost;port=5432'; +#$DBI_USER='pguser'; +#$DBI_PASS='changeme'; +#$CREATE_DB = 0; + +## -- ENABLE_CALDAV +## enable CalDAV support for Lightning/Sunbird/iCal/iPhone calender/task support +$ENABLE_CALDAV = 0; + +## -- ENABLE_CARDDAV +## enable CardDAV support for Apple's Addressbook +$ENABLE_CARDDAV = 0; + +## -- ENABLE_TRASH +## enables the server-side trash can (don't forget to setup $TRASH_FOLDER) +$ENABLE_TRASH = 0; + +## -- TRASH_FOLDER +## neccessary if you enable trash +## it should be writable by your users (chmod a+rwxt <trash folder>) +## EXAMPLE: $TRASH_FOLDER = '/tmp/trash'; +$TRASH_FOLDER = '/var/tmp/webdavcgi/1.1/default/trash'; + +## -- ENABLE_GROUPDAV +## enables GroupDAV (http://groupdav.org/draft-hess-groupdav-01.txt) +## EXAMPLE: $ENABLE_GROUPDAV = 0; +$ENABLE_GROUPDAV = 0; + +## -- ENABLE_THUMBNAIL +## enables image thumbnail support and media rss feed for folder listings of the Web interface. +## If enabled the default icons for images will be replaced by thumbnails +## and if the mouse is over a icon the icon will be zoomed to the size of $THUMBNAIL_WIDTH. +## DEFAULT: $ENABLE_THUMBNAIL = 0; +$ENABLE_THUMBNAIL = 0; + +## -- THUMBNAIL_CACHEDIR +## defines the path to a cache directory for image thumbnails +## this is neccessary if you enable the thumbnail cache ($ENABLE_THUMBNAIL_CACHE) +## EXAMPLE: $THUMBNAIL_CACHEDIR=".thumbs"; +$THUMBNAIL_CACHEDIR = '/var/tmp/webdavcgi/1.1/default/thumbnails'; + +## -- OPTIMIZERTMP +### defines absolute path to a cache directory +$OPTIMIZERTMP = '/var/tmp/webdavcgi/1.1/default/optimized'; + +## -- BACKEND +## defines the WebDAV/Web interface backend (see $INSTALL_BASE/lib/perl/Backend/<BACKEND> for supported backends) +$BACKEND = 'FS'; + +## -- BACKEND_CONFIG +## allowes backend specific configurations (see doc/doc.html) +## EXAMPLE: $BACKEND_CONFIG{FS}={ fsvlink=> { '/home/testuser/' => {'testlink' => '/home/testuser/testlinkdest' } }} + +## -- DEBUG +## enables/disables debug output +## you can find the debug output in your web server error log +$DEBUG = 0; + +############ S E T U P - END ########################################### +######################################################################### |