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 192.168.1.x:8080> # Intranet/Admin Version ServerName caldav.yourdomain.com:8080 .... 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 192.168.1.x:8443> # SSL Version ServerName caldav.yourdomain.com:8443 .... 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>
Observe the Apache2 configuration for Virtual Hosts and define NameVirtualHost and Listen before the VirtualHost blocks are defined, otherwise it will not work.
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 bash dba/create-database.sh otherwise the creation fails; su to the postgres user before running the script. (I am not an expert, ususlly use MySQL, maybe somebody else can advise). Note the davical shell scripts are Bash and are not fully compatible with the Solaris Borne shell.
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.y port=5432 dbname=davical user=davical_app';. Set the Locale to the same value as the PostgreSQL database with $c->default_locale = "en_GB.UTF-8";.
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.