LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 04-17-2019, 03:23 PM   #1
mfoley
Senior Member
 
Registered: Oct 2008
Location: Columbus, Ohio USA
Distribution: Slackware
Posts: 1,613

Rep: Reputation: 128Reputation: 128
Need pointers on radicale, or other DavCAL server


I'm running into a bit of a problem installing and running radicale 1.1.6 on Linux Slackware64 14.2. I've downloaded radicale 1.1.6 from SlackBuilds, and installed. However, there is NO documentation as part of this build. The installed /usr/doc/radicale-1.1.6/README file says, "For complete documentation, please visit the Radicale online documentation (http://www.radicale.org/documentation)", but that site says, "This documentation page is written for version 2.x.x. ... You can find on GitHub the documentation page for the 1.1.x versions." However, going to that site (https://github.com/Kozea/Radicale/bl...umentation.rst) says, "To start Radicale CalDAV server, you have to launch the file called radicale.py located in the root folder of the software package." I have no radicale.py on my system after installing. I'm guessing the github site is not for 1.1.x documentation.

Can someone point me in the right direction? Should I bypass the SlackBuilds version and download the latest from the radicle site? Not sure what the latest is. Their version names are amusing, but not very clear. It appears that Releases are named "nth Law of Nature" and intermediate releases are named "Wild Radish". If so, the most recent "Law of Nature" is version 1.1.6.

Or, should I install from Python: 'python3 -m pip install --upgrade radicale'?

Or, is radicale even to be recommended? Is there something better?

Last edited by mfoley; 04-17-2019 at 03:28 PM.
 
Old 04-18-2019, 03:33 AM   #2
franzen
Member
 
Registered: Nov 2012
Distribution: slackware
Posts: 263

Rep: Reputation: 144Reputation: 144
Quote:
Originally Posted by mfoley View Post
However, there is NO documentation as part of this build.
That's about all what's in the source. For sure there was online documentation, but it seems it disappeared.
You may try radicale 2.x with python3 with the builtin webserver, i did never test this.
If you want to use radicale 1.x with python2 with apache, here are some hints:


Use httpd and mod_wsgi, no extra initscript.
Apache-config like
Code:
<VirtualHost *:5232>

    DocumentRoot /var/lib/radicale/
    WSGIDaemonProcess radicale user=apache group=apache threads=1
    WSGIScriptAlias / /var/lib/radicale/radicale.wsgi

    SSLEngine on
    SSLCertificateFile      /etc/dehydrated/certs/domain.tld/fullchain.pem
    SSLCertificateKeyFile   /etc/dehydrated/certs/domain.tld/privkey.pem

  <Directory /var/lib/radicale/>
        WSGIProcessGroup radicale
        WSGIApplicationGroup %{GLOBAL}
        AllowOverride None
        Require all denied
    </Directory>
    <Location /user@domain.tld/>
        AuthType Basic
        AuthName "user@domain.tld"
        AuthUserFile /etc/radicale/users
        Require user user@domain.tld
        <LimitExcept POST PUT DELETE>
        Require user otheruser_with_less_rights
        </LimitExcept>
    </Location>
</VirtualHost>

/etc/radicale/users is an htpasswd-file
/etc/radicale/config
Code:
 [server]
  hosts = 0.0.0.0:5232
 [storage]
  filesystem_folder = /var/lib/radicale/collections
 
Old 04-18-2019, 09:08 PM   #3
mfoley
Senior Member
 
Registered: Oct 2008
Location: Columbus, Ohio USA
Distribution: Slackware
Posts: 1,613

Original Poster
Rep: Reputation: 128Reputation: 128
Quote:
Originally Posted by franzen View Post
That's about all what's in the source. For sure there was online documentation, but it seems it disappeared.
You may try radicale 2.x with python3 with the builtin webserver, i did never test this.
If you want to use radicale 1.x with python2 with apache, here are some hints:


Use httpd and mod_wsgi, no extra initscript.
Apache-config like
[deleted]

/etc/radicale/users is an htpasswd-file
/etc/radicale/config
Code:
 [server]
  hosts = 0.0.0.0:5232
 [storage]
  filesystem_folder = /var/lib/radicale/collections
Thanks franzen. After trying various things that didn't work I installed the SlackBuilds Python3, then 'python3 -m pip install --upgrade radicale', per the Radicale installation page, https://radicale.org/download/. There is a documentation page: https://radicale.org/documentation/, which I followed and is mostly clear (but quite a bit of assumed knowledge). Interestingly, the default config this process installs is somewhat incompatible with the installed radicale 2.1.11 version. Two config sections: [well-known] and [git] caused an abort with "ERROR: Invalid configuration: Invalid section 'well-known' in config". Not sure what's up with that. Old deprecated sections? New sections not implemented in 2.1.11?

Anyway, I was able to figure out what 'hosts = 0.0.0.0:5232' meant and was able to get radicale running and connect to it, and get the webpage, from another host on the LAN. Next step is to figure out how to actually publish a calendar from Thunderbird.

I need to find a maillist or forum for radicale. There seems to be something on https://github.com/Kozea/Radicale/.

I'll post back with results. Thanks for your tips.
 
Old 04-22-2019, 01:11 PM   #4
mfoley
Senior Member
 
Registered: Oct 2008
Location: Columbus, Ohio USA
Distribution: Slackware
Posts: 1,613

Original Poster
Rep: Reputation: 128Reputation: 128
Back again. I believe I've got the basic CalDAV system working. I'm going to try using some security configs next. Another question I have before diving too deeply into this ...

With Calendar apps (Outlook, Lightning, ...) the user normally creates a personal calendar. For TBird Lightning, this is stored in moz-storage-calendar://, which is really \Users\user\AppData\Roaming\Thunderbird\Profiles\profilename\calendar-data\local.sqlite (Windows), or /Users/user/Library/Thunderbird/Profiles/profilename/calendar-data/local.sqlite (Mac) or $HOME/.thunderbird/profilename/calendar-data/local.sqlite (Linux).

To "publish", I have to first connect to radicale using a web browser to calserver:5232, and select the options to create a calendar. This gives me a URL like, http://calserver:5232/username/24d735aa-1a0d-ca77-1cd2-81afc8e64827/.

I have found that if I publish the personal calendar (as described above) as CalDAV, with the above generated URL, it does publish to radical'e globally accessible site. I can then access this calendar. I can even update this calendar, but those updates DO NOT get written back to the original owner's personal calendar.

If I delete the personal calendar and create a new, on-the-web, CalDav calendar, and use the generated URL, I can now see all changes made to this calendar by anyone and also update that calendar.

So, need advice. Is this what I should do for shared Calendars? In other words, use radicale to create a CalDAV calendar, import all the user's personal calendar events to that new CalDAV, point all users to the new CalDAV, then discontinue using the user's personal calendar completely?
 
Old 04-24-2019, 06:36 PM   #5
mfoley
Senior Member
 
Registered: Oct 2008
Location: Columbus, Ohio USA
Distribution: Slackware
Posts: 1,613

Original Poster
Rep: Reputation: 128Reputation: 128
As per my usual. I believe I've gotten too complicated with my question. Let's simplify. Does anyone on LQ use radicale as their CalDAV server? If not, what do you use/recommend?

If you do have some insight into Radicale, I have one question (to start with). I'm trying to use SSL for connection from outside the LAN. Here is my /etc/radicale/config:
Code:
[server]
hosts = 0.0.0.0:5232

ssl = True
certificate = /etc/ssl/certs/OHPRS/GoDaddy/Apache/2016-08-10/54e789087d419b6e.crt
key = /etc/ssl/certs/OHPRS/GoDaddy/mail.ohprs.org.key
protocol = PROTOCOL_TLSv1_2
certificate_authority = /etc/ssl/certs/Go_Daddy_Root_Certificate_Authority_-_G2.pem

[storage]
filesystem_folder = ~/collections
When I try to connect from a client (Thunderbird) I get:
Code:
Traceback (most recent call last):
  File "/usr/lib64/python3.7/site-packages/radicale/__init__.py", line 197, in process_request_thread
    raise RuntimeError("SSL handshake failed: %s" % e) from e
RuntimeError: SSL handshake failed: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)
I've tried with and without certificate_authority and protocol. I don't really understand what is meant by "wrong version number." Version of what? I've posted this question in Radicale/issues on github, but that seems to be an infrequently used site. A related posting there (https://github.com/Kozea/Radicale/issues/879) said,
Quote:
very important:

the python SSL version must be the same as the OPENSSL version which is used to generate the certs.
so install the latest Python, update it, check the SSL version in it and after this download the same OPENSSL version and generate CERT.
I've checked the python version:
Code:
> python
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.2r  26 Feb 2019'

# and for openssl:

> openssl
OpenSSL> version
OpenSSL 1.0.2r  26 Feb 2019
Versions numbers look the same to me.

The only "version" info I see in the certificate itself is:
Code:
Certificate:
    Data:
        Version: 3 (0x2)
So, I'm confused. Does anyone have an idea of what the "wrong version number" error means and how I might fix it?

Last edited by mfoley; 04-24-2019 at 06:49 PM.
 
Old 04-25-2019, 02:31 AM   #6
franzen
Member
 
Registered: Nov 2012
Distribution: slackware
Posts: 263

Rep: Reputation: 144Reputation: 144
Quote:
Originally Posted by mfoley View Post
As per my usual. I believe I've gotten too complicated with my question. Let's simplify. Does anyone on LQ use radicale as their CalDAV server? If not, what do you use/recommend?
I use radicale 1.1.6 as caldav/cardav server per mod_wsgi/apache on slackware 14.2.(phyton builtin webserver is NOT recommendend for this major version by upstream),
it works fine since years with multiple users and shared calendars.
I have no experience with radicale 2.x without apache(phyton builtin webserver IS recommendend for that major version by upstream)

Maybe nextcloud carddav/caldav-plugin is an option for you, but i have no experience with that.

Quote:
If you do have some insight into Radicale, I have one question (to start with). I'm trying to use SSL for connection from outside the LAN. Here is my /etc/radicale/config:
Code:
[server]
hosts = 0.0.0.0:5232

ssl = True
certificate = /etc/ssl/certs/OHPRS/GoDaddy/Apache/2016-08-10/54e789087d419b6e.crt
key = /etc/ssl/certs/OHPRS/GoDaddy/mail.ohprs.org.key
protocol = PROTOCOL_TLSv1_2
certificate_authority = /etc/ssl/certs/Go_Daddy_Root_Certificate_Authority_-_G2.pem

[storage]
filesystem_folder = ~/collections
Sorry, i have never used radicale that way, i do all that html/ssl stuff per mod_wsgi/apache, that works fine.
 
Old 04-29-2019, 10:14 PM   #7
mfoley
Senior Member
 
Registered: Oct 2008
Location: Columbus, Ohio USA
Distribution: Slackware
Posts: 1,613

Original Poster
Rep: Reputation: 128Reputation: 128
I accidentally/serendipitously figured out the problem. I had to specify the URL as https, not http. That was it! The "SSL: WRONG_VERSION_NUMBER" was completely misleading, and threw me down the wrong path!

franzen, stay tooned! I've got more questions on radical coming. Even though you're on 1.1.x, you still might be helpful as it appears no on else is using radicale.
 
Old 04-29-2019, 11:58 PM   #8
Richard Cranium
Senior Member
 
Registered: Apr 2009
Location: Carrollton, Texas
Distribution: Slackware64 14.2
Posts: 3,265

Rep: Reputation: 1626Reputation: 1626Reputation: 1626Reputation: 1626Reputation: 1626Reputation: 1626Reputation: 1626Reputation: 1626Reputation: 1626Reputation: 1626Reputation: 1626
OTOH, information vampires such as myself may use it after drinking the information you and @franzen generate.
 
  


Reply

Tags
caldav, installation, radicale


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Radicale smbelow Linux - Software 11 12-19-2013 03:02 AM
[SOLVED] Freeing pointers to pointers devnull10 Programming 24 07-26-2012 04:58 AM
[SOLVED] Could I get some pointers on pointers please? theKbStockpiler Programming 46 05-18-2010 12:30 AM
Pointers Pointers Pointers urzumph Programming 9 03-11-2004 09:49 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 07:44 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration