2012-07-23 02:44:58 -04:00
# 1. About this package
This package contains a release of Baïkal.
2012-12-21 09:00:01 -05:00
Go to http://baikal-server.com to get more information about this package, and upgrades.
2012-07-23 02:44:58 -04:00
# 2. Problem with authentication (CalDAV and CardDAV)
2012-08-21 06:45:10 -04:00
2012-07-23 02:44:58 -04:00
On webservers where PHP is served as FastCGI (check your phpinfo()
to find out if that's the case for you), Apache does not pass HTTP
Auth informations to PHP, and thus preventing Cal/CardDAV to auth
requests properly.
Baïkal tries to address this issue by re-routing HTTP Auth informations
using Apaches mod_rewrite. This is done by the Apache config directives
found in the /.htaccess file that comes with Baïkal (or /html/.htaccess
for the non-ftp package).
Note: if this file is empty / does not exist, you should try to add it manually
2012-08-21 06:45:10 -04:00
(sometimes FTP clients decide to not send files with names beginning with a dot ".")
# 3. Troubleshooting calendar access (please check 2. first)
To troubleshoot user auth / data access, you may use curl to debug server responses. On a command line, run:
curl -so - --digest --user username:password http://hostname/cal.php/calendars/username/default
(Be sure that the username exists, has the right password set, and has a calendar named default first).
If you see this, auth works for this username/password/calendar, so it has to be client-related:
2012-08-21 07:02:07 -04:00
2012-08-21 07:01:16 -04:00
GET is only implemented on File objects
2012-08-21 06:45:10 -04:00
If you see this, password is wrong (case-sensitive) (despite the message indicating that it's the username):
2012-08-21 07:02:07 -04:00
2012-08-21 07:01:16 -04:00
Incorrect username
2012-08-21 06:45:10 -04:00
If you see this, username is wrong:
2012-08-21 07:02:07 -04:00
2012-08-21 07:01:16 -04:00
The supplied username was not on file
2012-08-21 06:45:10 -04:00
If you see this, auth works but the "principals" part of the URL is wrong (the /username/ after "calendars" in the URL):
2012-08-21 07:02:07 -04:00
2012-08-21 07:01:16 -04:00
Principal with name username not found
2012-08-21 06:45:10 -04:00
If you see this, auth works but the calendar does not exist for this user:
2012-08-21 07:02:07 -04:00
2012-08-21 07:01:16 -04:00
Calendar with name 'defaults' could not be found
2012-08-21 06:45:10 -04:00
If you see this, auth works and the calendar exists, but the provided user has no permission to access this calendar:
2012-08-21 07:02:07 -04:00
2012-08-21 07:01:16 -04:00
Sabre_DAVACL_Exception_NeedPrivileges
2012-08-21 06:45:10 -04:00
If you see one of these, the URL is not well formed / invalid:
2012-08-21 07:02:07 -04:00
2012-08-21 07:01:16 -04:00
File not found: XXXXX in 'root'
2012-08-21 07:02:07 -04:00
Or
2012-08-21 06:45:10 -04:00
The requested URL XXXXX was not found on this server.
If you see nothing at all, curl cannot resolve your host.
# 4. Database is readonly (sqlite)
Using SQLite (the default setup), if you have troubles when putting data in the database,
(an exception "unable to open database file" is thrown) check that:
* the system user running your Apache/PHP has write permissions on Specific/db/ (*the folder*)
2012-12-21 09:00:01 -05:00
* the system user running your Apache/PHP has write permissions on Specific/db/db.sqlite (*the file*)
2014-11-13 17:13:46 -05:00
# 5. Problems with PHP and CGI / FastCGI
Quoting @RubenMarsman
> Hi,
>
> Even with the given workarounds, I still can't authenticate using either Basic or Digest authentication. The problem is that my webhoster runs PHP as CGI and somehow writing the http authenticate header in the (REDIRECT_)HTTP_AUTHORIZATION variable does not work.
> I've seen similar problems on forums of owncloud.
> There is another workaround that helps, but somehow it only works for Basic authentication. With Digest, the http authenticate header is always empty. I don't know what causes this behaviour at my hoster.
> **My workaround:**
> in .htaccess add the lines to store the authorization header in the REMOTE_USER variable.
> ```
> <IfModule mod_rewrite.c>
> RewriteEngine On
> RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
> </IfModule>
> ```
> In both cal.php and card.php add the lines to use this value:
> ```
> if ((isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])==false) && (isset($_SERVER['REDIRECT_REMOTE_USER'])))
> {
> $_SERVER['REDIRECT_HTTP_AUTHORIZATION']=$_SERVER['REDIRECT_REMOTE_USER'];
> }
> ```
>
2014-11-13 17:20:08 -05:00
# 6. Problems with nginx when running Baïkal in a subdirectory
See https://github.com/netgusto/Baikal/issues/212
2014-11-26 04:21:04 -05:00
# 7. Problems with eAccelerator (Function name must be a string [...])
Quoting @jeff -h on https://github.com/netgusto/Baikal/issues/136
>
> My web hosting came with eAccelerator already installed. It seems this is incompatible with Baikal (or more accurately the SabreDav library). The error was:
>
> Fatal error: Function name must be a string in .../vendor/sabre/dav/lib/Sabre/DAV/Server.php on line 235
>
> I fixed this by turning off eAccelerator for my install, by putting the following in my .htaccess:
>
> php_flag eaccelerator.enable 0
> php_flag eaccelerator.optimizer 0
>
See also < http: / / comments . gmane . org / gmane . comp . php . sabredav / 670 >