Mailing List Archive

Automated Chef server setup
Hi all,

Getting Davical setup quickly struck me as a bit of a pain, so I have
spent some time building a basic chef-solo setup for automating the
build.

I've opened this to the world at
https://github.com/simpleweb/davical-chef-setup - in theory, clone it,
change IP and point it at a linux box and it should work. Only tested
on Ubuntu 10.04 LTS. If anyone wants to try, give me a shout if they
have a problem.

It pretty much works out of the box. If you try to run_recipes a
second time after it's setup it will fail trying to create Postgresql
db. This needs a bit of chef attention to get it to ignore.

The problem I'm having now it's running though seems to be one that's
been reported before and relates to Apple Address book. It's getting
lots of 500s that look like:

[Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
LOG: :Response status 500 for POST
/caldav.php/tholder/addresses/8c76b68f-1a66-4fe7-94d9-3bd5224920f9.vcf
[Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
LOG: :***************** Response Header ****************
[Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
LOG: headers:-->X-Powered-By: PHP/5.3.2-1ubuntu4.17
[Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
LOG: headers:-->Server: 1.1
[Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
LOG: headers:-->DAV: 1, 2, 3, access-control, calendar-access,
calendar-schedule
[Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
LOG: headers:-->DAV: extended-mkcol, bind, addressbook,
calendar-auto-schedule, calendar-proxy
[Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
LOG: headers:-->X-DAViCal-Version: DAViCal/1.1.0; DB/1.2.11
[Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
LOG: headers:-->Content-type: text/plain; charset="utf-8"
[Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
LOG: :******************** Response ********************
[Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
LOG: response:-->The application program does not understand that
request.

It's then failing to sync. I've noticed a few people with the same
issue but no resolution. Any thoughts before I start trying to hack
around with things?

Thanks
Tom
_______________________________________________
DAViCal-dev mailing list
DAViCal-dev@lists.davical.org
http://lists.davical.org/listinfo/davical-dev
Re: Automated Chef server setup [ In reply to ]
On Fri, 2012-06-22 at 10:00 +0100, Tom Holder wrote:
> Hi all,
>
> Getting Davical setup quickly struck me as a bit of a pain, so I have
> spent some time building a basic chef-solo setup for automating the
> build.
>
> I've opened this to the world at
> https://github.com/simpleweb/davical-chef-setup - in theory, clone it,
> change IP and point it at a linux box and it should work. Only tested
> on Ubuntu 10.04 LTS. If anyone wants to try, give me a shout if they
> have a problem.

A few observations:

(1) Does that overwrite the pg_hba.conf file? That seems like it could
be potentially problematic for some people.

(2) Any modern PHP should have the correct defaults already, and it's
probably safer not to change whatever php.ini gets installed.

(3) The DAViCal DocumentRoot is designed to be able to be served from
within the project tree, or within a location delivered by the Debian
packages, so putting it into /home/davical/www/davical seems odd.
Nothing gets written there - all files should be root:root mode 644.

(4) I'm pretty sure there are no dependencies on Pear.

(5) Probably better to point to the squeeze repository for DAViCal since
lenny is out of support now, though there's still a symlink there for
the time being.

(6) I get the impression that perhaps you think port 8800 is caldav and
port 8008 is carddav or something like that. There is no standard of
any kind in that regard, and the recommended approach is to configure
DAViCal on port 443. If you have something else on port 443 then it is
recommended to put it on port 8443 instead, so you can still dedicate a
virtual host to it. All software that searches for configuration does
look at both of those ports. Obviously those are SSL ports, but for
testing/debugging you might want to configure things without SSL, so you
could just use port 80 - or any port, really.

Some of these comments may be completely half-cocked because I know
nothing about Chef / Capistrano, of course :-)

Thanks for your work putting this together.


> It pretty much works out of the box. If you try to run_recipes a
> second time after it's setup it will fail trying to create Postgresql
> db. This needs a bit of chef attention to get it to ignore.
>
> The problem I'm having now it's running though seems to be one that's
> been reported before and relates to Apple Address book. It's getting
> lots of 500s that look like:
>
> [Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
> LOG: :Response status 500 for POST
> /caldav.php/tholder/addresses/8c76b68f-1a66-4fe7-94d9-3bd5224920f9.vcf

It'd be great to get a tcpdump of that ( or enable $c->dbg =
array( 'request' => 1, 'response' => 1 ); to get DAViCal to log it).

Not sure why it is doing a POST request, rather than a PUT, but I'd sure
like to see it :-)


> LOG: response:-->The application program does not understand that
> request.

Which is what happens when a client does something DAViCal doesn't
understand.


> It's then failing to sync. I've noticed a few people with the same
> issue but no resolution. Any thoughts before I start trying to hack
> around with things?

Hope this helps.

Cheers,
Andrew.
--
------------------------------------------------------------------------
andrew (AT) morphoss (DOT) com +64(272)DEBIAN
You have a tendency to feel you are superior to most computers.
------------------------------------------------------------------------
Re: Automated Chef server setup [ In reply to ]
Cheers Andrew,

The Chef stuff is by no means perfect. I'm finding my feet with Chef
as much as I am with Davical.

I don't think the PHP stuff does need copying over, initially I'd done
that because I'd seen something in the wiki about a PHP amend.

I don't see a problem with changing the doc root back to what it
should be, it's just a standard thing we have with our chef setups to
create a separate user but that would be easy enough to change.

I don't have a huge amount of time to tweak it at the moment or get
that davical dump over to you, but when I get a chance I will.

Will be in touch, thanks for all your hard work with the project. I
really hope we can use it.

Tom

On Thu, Jun 28, 2012 at 12:02 PM, Andrew McMillan <andrew@morphoss.com> wrote:
> On Fri, 2012-06-22 at 10:00 +0100, Tom Holder wrote:
>> Hi all,
>>
>> Getting Davical setup quickly struck me as a bit of a pain, so I have
>> spent some time building a basic chef-solo setup for automating the
>> build.
>>
>> I've opened this to the world at
>> https://github.com/simpleweb/davical-chef-setup - in theory, clone it,
>> change IP and point it at a linux box and it should work. Only tested
>> on Ubuntu 10.04 LTS. If anyone wants to try, give me a shout if they
>> have a problem.
>
> A few observations:
>
> (1) Does that overwrite the pg_hba.conf file?  That seems like it could
> be potentially problematic for some people.
>
> (2) Any modern PHP should have the correct defaults already, and it's
> probably safer not to change whatever php.ini gets installed.
>
> (3) The DAViCal DocumentRoot is designed to be able to be served from
> within the project tree, or within a location delivered by the Debian
> packages, so putting it into /home/davical/www/davical seems odd.
> Nothing gets written there - all files should be root:root mode 644.
>
> (4) I'm pretty sure there are no dependencies on Pear.
>
> (5) Probably better to point to the squeeze repository for DAViCal since
> lenny is out of support now, though there's still a symlink there for
> the time being.
>
> (6) I get the impression that perhaps you think port 8800 is caldav and
> port 8008 is carddav or something like that.  There is no standard of
> any kind in that regard, and the recommended approach is to configure
> DAViCal on port 443.  If you have something else on port 443 then it is
> recommended to put it on port 8443 instead, so you can still dedicate a
> virtual host to it.  All software that searches for configuration does
> look at both of those ports.  Obviously those are SSL ports, but for
> testing/debugging you might want to configure things without SSL, so you
> could just use port 80 - or any port, really.
>
> Some of these comments may be completely half-cocked because I know
> nothing about Chef / Capistrano, of course :-)
>
> Thanks for your work putting this together.
>
>
>> It pretty much works out of the box. If you try to run_recipes a
>> second time after it's setup it will fail trying to create Postgresql
>> db. This needs a bit of chef attention to get it to ignore.
>>
>> The problem I'm having now it's running though seems to be one that's
>> been reported before and relates to Apple Address book. It's getting
>> lots of 500s that look like:
>>
>> [Fri Jun 22 08:56:25 2012] [error] [client 81.187.131.223] davical:
>> LOG: :Response status 500 for POST
>> /caldav.php/tholder/addresses/8c76b68f-1a66-4fe7-94d9-3bd5224920f9.vcf
>
> It'd be great to get a tcpdump of that ( or enable $c->dbg =
> array( 'request' => 1, 'response' => 1 ); to get DAViCal to log it).
>
> Not sure why it is doing a POST request, rather than a PUT, but I'd sure
> like to see it :-)
>
>
>> LOG: response:-->The application program does not understand that
>> request.
>
> Which is what happens when a client does something DAViCal doesn't
> understand.
>
>
>> It's then failing to sync. I've noticed a few people with the same
>> issue but no resolution. Any thoughts before I start trying to hack
>> around with things?
>
> Hope this helps.
>
> Cheers,
>                                        Andrew.
> --
> ------------------------------------------------------------------------
> andrew (AT) morphoss (DOT) com                            +64(272)DEBIAN
>    You have a tendency to feel you are superior to most computers.
> ------------------------------------------------------------------------
>



--
Tom Holder
Systems Architect


Follow me on: [Twitter] [Linked In]

www.Simpleweb.co.uk

Tel: 0117 922 0448

Simpleweb Ltd.
Unit G, Albion Dockside Building, Hanover Place, Bristol, BS1 6UT

Simpleweb Ltd. is registered in England.
Registration no: 5929003 : V.A.T. registration no: 891600913
_______________________________________________
DAViCal-dev mailing list
DAViCal-dev@lists.davical.org
http://lists.davical.org/listinfo/davical-dev