Problems and Solutions

From Davical
Revision as of 18:34, 29 June 2015 by Gorka (talk | contribs) (copied information from orphaned page 'Install Errors')
Jump to navigationJump to search

Template:Languages Template:TOCright

Installation

Database-script fails because of missing libraries (No Perl YAML)

During the installation process DAViCal runs the database upgrade script in order to apply the correct permissions for the application and dba users to the database tables and sequences. The most common reason that this program might not work is that you don't have the YAML library for Perl installed.

For Debian and related distributions you should install the libyaml-perl and libdbd-pg-perl packages - they should arealdy be there if you installed the .deb because it is a dependency.

For RedHat and related distributions there should be a simple way to find an RPM of the package.

Otherwise you should visit CPAN and install the YAML libraries manually.

  • Note: this error can also occur on Fedora systems even though YAML and DBD::Pg are installed. Type "yum install -y perl-YAML perl-DBD-Pg" (as root) to install them if they're not already present.
  • Note: on OpenBSD 4.8 the DBI module may need to be installed along with YAML and DBD::Pg.

Unix Socket Directory

The PostgreSQL default for the unix_socket_directory variable is /tmp. DAViCal expects the Debian path of /var/run/postgresql. Other distributions and bugs in Debian/Ubuntu can lead you to get the wrong path. Change the unix_socket_directory variable in /etc/postgresql/8.4/main/postgresql.conf.

The error message that would be triggered by this would look something like:

 DBI connect('dbname=davical','davical_dba',...) failed: could not connect to server: No such file or directory 
       Is the server running locally and accepting 
       connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? at /usr/share/davical/dba/update-davical-database line 244 
 Can't connect to database davical at /usr/share/davical/dba/update-davical-database line 244

I have to log in to every page

This indicates that your browser is not getting or accepting the session cookie for some reason. The cause can be several things:

  1. There could be an error message coming from PHP before it sends the "Cookie" header back. Look at the source of the page, or in the webserver error log for clues. Take care not to add any new line characters after ?> in the config file in /etc/davical/*-conf.php!
  2. Your browser might be rejecting the cookie. Check in the privacy settings for your browser that it allows the cookie.


I get a blank page

Unfortunately several different reasons can trigger that behaviour.

First, if you didn't install DAViCal via a package manager check if you meet all the given dependencies.

Second, check if you indeed created a configuration file for DAViCal (/etc/davical/config.php), also check your symbolic links in that directory if any.

Third, make sure your configuration is pointing to the right database and you're using the right database name and user.

Finally, your PHP installation might be configured to only interpret scripts in a directory specifically dedicated to web contents (i.e. /var/www) - which is good, btw.

To solve this problem, you must allow PHP to interpret scripts from davical and awl. To do so, just add the following line to a .htaccess file in /usr/share/davical/htdocs or to your VirtualHost configuration:

php_admin_value open_basedir /usr/share/davical:/usr/share/awl/inc:/etc/davical

Note: Some sites mistakenly state that 'open_basedir "1"' is sufficient. It is not, and is frequently the cause of this problem!

Authentication

HTTP authentications fails on me

It seems the username for HTTP-auth needs to be lowercase, even though the username in the admin interface contains uppercase letters. See also this bug report.

DB Errors During Upgrade

Permission Denied errors during Upgrade

Check that you're not facing this Issues/Wrong table owner.

Upgrading from Debian Lenny to Squeeze

If you get blank pages from the server and HTTP 500 errors in the access log but nothing in the error.log after an upgrade from Debian Lenny to Squeeze, check the php_value entries in the virtual host, as the format seems to have changed. The new entries have to look like:

php_value include_path /usr/share/awl/inc
php_flag magic_quotes_gpc off
php_flag register_globals off
php_value error_reporting "E_ALL & ~E_NOTICE"
php_value default_charset "utf-8"