DAViCal is confirmed operational on Solaris 10 using the OpenCSW version of Apache2, PHP5 and PostgreSQL. The following PHP5 additional package modules are required php5_pgsql, php5_pdopgsql, php5_pdo, php5_iconv and php5_gettext.
As to where to put the code for DAViCal then it seemed more appropriate to create a /opt/DAViCal directory and then place awl and davical as sub-directories (without a version suffix), ensuring that /opt/csw is not polluted.
The resultant Apache2 configuration at this position is as follows:
<VirtualHost *:8080> # Intranet/Admin Version ServerName caldav.yourdomain.com .... DocumentRoot /opt/DAViCal/davical/htdocs php_value include_path /opt/DAViCal/davical/inc:/opt/DAViCal/awl/inc php_value magic_quotes_gpc 0 php_value register_globals 0 </VirtualHost> <VirtualHost *:8443> # SSL Version ServerName caldav.yourdomain.com .... DocumentRoot /opt/DAViCal/davical/htdocs php_value include_path /opt/DAViCal/davical/inc:/opt/DAViCal/awl/inc php_value magic_quotes_gpc 0 php_value register_globals 0 </VirtualHost>
The file config.php file may stay in directory /opt/DAViCal/davical/config. If the SSL port is external facing then you can disable adminstrator access on port 8443 with $c->restrict_admin_port = '8080';. If Apache2 is running in a zone and the SQL server is on another host/zone then change the connection to access the remote database with $c->pg_connect = 'hostaddr=192.168.1.x port=5432 dbname=davical user=davical_app';.
When creating the PostgreSQL database then DAViCal needs to operate in UTF-8, if your Locale is set to something different to UTF-8 then you need to make sure that the database is set to UTF-8 and matches a Sun Locale e.g. en_GB.UTF-8. After initialising the database then this can be changed by editing postgresql.conf before creating the davical database with dba/create-database.sh otherwise the creation fails. (I am not an expert, ususlly use MySQL, maybe somebody else can advise).
DAViCal is confirmed operating correctly with iPad and Lightning via SSL connection. It is useful to have the 8080 port for local adminstration tasks and obviously to set up the users.