mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-21 07:55:00 +00:00
radicale: Redirect to well-known URLs according to version
- Radicale 1 needs to have /radicale/.well-known/*dav to the URLs where as Radicale 2 needs to have /radicale to be the URLs. Hence have two separate apache configuration files. - Use expr= when setting X-REMOTE-USER header to set the authenticated user name properly. Without this all users are using a single user '(null)' data. Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
parent
49acfa5ad1
commit
7cf279ccd0
@ -77,7 +77,7 @@ def subcommand_setup(_):
|
||||
|
||||
action_utils.service_enable('radicale')
|
||||
action_utils.service_restart('radicale')
|
||||
action_utils.webserver_enable('radicale-plinth')
|
||||
action_utils.webserver_enable(_get_web_config(current_version))
|
||||
|
||||
|
||||
def subcommand_configure(arguments):
|
||||
@ -92,12 +92,12 @@ def subcommand_configure(arguments):
|
||||
def subcommand_enable(_):
|
||||
"""Start service."""
|
||||
action_utils.service_enable('radicale')
|
||||
action_utils.webserver_enable('radicale-plinth')
|
||||
action_utils.webserver_enable(_get_web_config())
|
||||
|
||||
|
||||
def subcommand_disable(_):
|
||||
"""Stop service."""
|
||||
action_utils.webserver_disable('radicale-plinth')
|
||||
action_utils.webserver_disable(_get_web_config())
|
||||
action_utils.service_disable('radicale')
|
||||
|
||||
|
||||
@ -113,6 +113,17 @@ def _get_version():
|
||||
return LV(version)
|
||||
|
||||
|
||||
def _get_web_config(current_version=None):
|
||||
"""Return the name of the webserver configuration based on version."""
|
||||
if current_version is None:
|
||||
current_version = _get_version()
|
||||
|
||||
if current_version and current_version < VERSION_2:
|
||||
return 'radicale-plinth'
|
||||
|
||||
return 'radicale2-freedombox'
|
||||
|
||||
|
||||
def load_augeas():
|
||||
"""Initialize Augeas."""
|
||||
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
|
||||
|
||||
@ -6,19 +6,8 @@ Redirect 301 /.well-known/carddav /radicale/.well-known/carddav
|
||||
Redirect 301 /.well-known/caldav /radicale/.well-known/caldav
|
||||
|
||||
<Location /radicale>
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
RewriteCond %{REQUEST_URI} ^/radicale$
|
||||
RewriteRule .* /radicale/ [R=301,L]
|
||||
</IfModule>
|
||||
</Location>
|
||||
ProxyPass http://localhost:5232
|
||||
|
||||
<Location /radicale/>
|
||||
Include includes/freedombox-auth-ldap.conf
|
||||
Require valid-user
|
||||
|
||||
ProxyPass http://localhost:5232/
|
||||
ProxyPassReverse http://localhost:5232/
|
||||
RequestHeader set X-Script-Name /radicale/
|
||||
RequestHeader set X-Remote-User %{REMOTE_USER}s
|
||||
</Location>
|
||||
|
||||
24
data/etc/apache2/conf-available/radicale2-freedombox.conf
Normal file
24
data/etc/apache2/conf-available/radicale2-freedombox.conf
Normal file
@ -0,0 +1,24 @@
|
||||
##
|
||||
## On all sites, provide Radicale on a path: /radicale
|
||||
## Allow all valid users.
|
||||
##
|
||||
Redirect 301 /.well-known/carddav /radicale/
|
||||
Redirect 301 /.well-known/caldav /radicale/
|
||||
|
||||
<Location ~ ^/radicale$>
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
RewriteCond %{REQUEST_URI} ^/radicale$
|
||||
RewriteRule .* /radicale/ [R=301,L]
|
||||
</IfModule>
|
||||
</Location>
|
||||
|
||||
<Location /radicale/>
|
||||
Include includes/freedombox-auth-ldap.conf
|
||||
Require valid-user
|
||||
|
||||
ProxyPass http://localhost:5232/
|
||||
ProxyPassReverse http://localhost:5232/
|
||||
RequestHeader set X-Script-Name /radicale/
|
||||
RequestHeader set X-Remote-User expr=%{REMOTE_USER}
|
||||
</Location>
|
||||
Loading…
x
Reference in New Issue
Block a user