# README for InfCloud for Stackrpms ## Usage The rpm deploys infcloud to /usr/share/infcloud. The easiest way to use this on your web server is to set up a symlink in your web root directory: sudo ln -s /usr/share/infcloud/radicale_infcloud/web /var/www/html/calendar The config.js is now stored in /etc/infcloud/. After updating it, be sure to run `/usr/sbin/update-infcloud-cache`. For a whole radicale+infcloud setup, an apache httpd VirtualHost entry WITHOUT TLS could resemble: ServerName calendar.example.com RewriteEngine On RewriteRule ^/radicale$ /radicale/ [R,L] ProxyPreserveHost On Order deny,allow Deny from all AuthType Basic AuthName "LDAP protected" AuthBasicProvider ldap AuthLDAPGroupAttribute member AuthLDAPSubGroupClass group # If anonymous search is disabled, provide dn and pw. #AuthLDAPBindDN uid=service-account,cn=users,cn=accounts,dc=ipa,dc=example,dc=com #AuthLDAPBindPassword mypw AuthLDAPGroupAttributeIsDN On AuthLDAPURL "ldaps://dns1.ipa.example.com:636 dns2.ipa.example.com:636/cn=users,cn=accounts,dc=ipa,dc=example,dc=com?uid,memberof,gecos?sub?(objectClass=person)" #?sub?(objectClass=*) Require valid-user Satisfy any # My radical set up uses HTTP_X_REMOTE_USER as username for authentication RequestHeader set X_REMOTE_USER "%{AUTHENTICATE_uid}e" # This does not populate correctly. Probably the ldap memberOf attribute is derived and not real? RequestHeader set X_GROUPS "%{AUTHENTICATE_memberOf}e" # This populates correctly RequestHeader set X_GECOS "%{AUTHENTICATE_gecos}e" ProxyPass http://localhost:5232/ retry=20 connectiontimeout=300 timeout=300 ProxyPassReverse http://localhost:5232/ RequestHeader set X-Script-Name /radicale Relevant config options for radicale (file `/etc/radicale/config`) include: [server] hosts = 127.0.0.1:5232 [auth] type = http_x_remote_user [web] type = internal ### Personal usage To accomplish autologin in your browser, use developer tools to run a few javascript snippets. Beware using your browser local storage for sensitve values! localStorage.setItem('user','bgstack15'); localStorage.setItem('pass','SupersEnsit1veV4lue'); localStorage.setItem('locale','English (24h)'); ## History 2022-05-19 Version 0.13.1-stackrpms1.0 * added feature "perUserAdditionalResources" * added English (24h) localization option * re-add settingsAccount which is useful after all 2022-05-21 Version 0.13.1-stackrpms1.2 * disabled upload button and stub functions entirely * Thu May 26 2022 B. Stack - 0.13.1-1stackrpms1.3 - added visible outlines for keyboard navigation - enabled selectable and navigable input for login button * Fri Aug 12 2022 B. Stack - 0.13.3-1 - Add fully-working upload function * Sun Aug 14 2022 B. Stack - 0.13.4-1 - Add auto-login feature using manually-set localStorage values in browser * Sat Jan 07 2023 B. Stack - 0.13.5-1 - Add CTRL+Enter reaction on edit dialog, which presses save button - Add resize handle on note field of calendar events regardless - Document local storage functionality * Thu Mar 09 2023 B. Stack - 0.13.5.1-1 - Version bump to ensure my prod environment has all improvements * Thu Apr 20 2023 B. Stack - 0.13.5.2stackrpms-1 - Add help and about dialogs * Fri Apr 21 2023 B. Stack - 0.13.5.2stackrpms-2 - Rebuild on local equipment * Fri Nov 10 2023 B. Stack - 0.13.5.3stackrpms-1 - Add desktop notifications * Wed Jul 17 2024 B. Stack - 0.13.5.4stackrpms-1 - Fix globalVisibleCalDAVCollections getting broken