baikal/INSTALL.md

200 lines
6.8 KiB
Markdown
Raw Normal View History

2012-05-12 17:47:52 -04:00
# INSTALLING Baïkal
2012-02-27 15:45:36 -05:00
2012-05-12 17:47:52 -04:00
This document is a part of the Baïkal project. Baïkal is an open
2012-02-27 15:45:36 -05:00
source lightweight CalDAV and CardDAV server released under the GNU GPL. Baïkal
is copyright (c) 2012 by Jérôme Schneider.
2012-05-12 17:47:52 -04:00
Baïkal homepage is http://baikal.codr.fr
This document describes the system requirements for Baïkal and the
2012-02-27 15:45:36 -05:00
installation routine.
2012-05-12 12:45:43 -04:00
# 1 - System requirements
2012-02-27 15:45:36 -05:00
2012-05-12 17:47:52 -04:00
Baïkal is based on PHP 5.3.0, and uses a SQLite3 with PHP PDO. This
2012-02-27 15:45:36 -05:00
document does not cover the installation of these requirements.
2012-05-12 17:47:52 -04:00
## 1.1 - System requirements for FTP-driven hosting
2012-05-12 12:45:43 -04:00
2012-02-27 15:45:36 -05:00
The following configuration is the minimum required:
2012-05-12 12:45:43 -04:00
- an hosted webserver running apache 2 and PHP 5.3.0
- PHP 5.3.0 or newer with the following extensions:
2012-05-31 02:04:16 -04:00
- PDO and SQLite3
- DOM (php-xml)
2012-05-12 12:45:43 -04:00
Some extensions can be optionally compiled into PHP. A list of loaded
2012-05-31 02:04:16 -04:00
extensions can be checked using the phpinfo() function.
2012-05-12 12:45:43 -04:00
- 30 MB of disk space
2012-05-12 17:47:52 -04:00
## 1.2 - System requirements for dedicated server hosting
2012-05-12 12:45:43 -04:00
The following configuration is the minimum required:
2012-02-27 15:45:36 -05:00
- an Apache2 web server capable of running PHP, and accessible thru a
dedicated subdomain (something like "dav.mydomainname.com")
2012-02-27 15:45:36 -05:00
NOTE: this document only covers sub-domain based installations. Other
installations modes are possible, though not documented (yet).
2012-05-12 12:45:43 -04:00
- root access to a command line on this server
2012-02-27 15:45:36 -05:00
NOTE: tools to create and manage users are command line only. Web-based
interfaces will be produced in the future.
2012-05-12 12:45:43 -04:00
- PHP 5.3.0 or newer with the following extensions:
- PDO and SQLite3
2012-05-31 02:04:16 -04:00
- DOM (php-xml)
2012-02-27 15:45:36 -05:00
Some extensions can be optionally compiled into PHP. A list of loaded
extensions can be checked using the phpinfo() function.
2012-05-12 12:45:43 -04:00
- 30 MB of disk space
2012-05-12 12:45:43 -04:00
- Apache configuration that activates "FollowSymlinks"
2012-02-27 15:45:36 -05:00
2012-05-12 17:47:52 -04:00
# 2 - Obtaining Baïkal
2012-02-27 15:45:36 -05:00
2012-05-12 17:47:52 -04:00
To get Baïkal, navigate to the following location:
2012-02-27 15:45:36 -05:00
http://baikal.codr.fr/
2012-05-12 17:47:52 -04:00
# 3 - Installation
## 3.1 - Installing Baïkal on a FTP-driven hosting
To install Baïkal on a FTP-driven hosting:
2012-05-31 02:04:16 -04:00
* Download the "Baikal Flat package for FTP"
2012-05-12 17:47:52 -04:00
* Unzip the package on you computer
* Send the unzipped package on the remote host via FTP
* (optional) Rename the Baïkal folder to whatever you want
* Navigate to the HTTP URL where you just uploaded Baïkal
* Follow the instructions of the initialization web tool
## 3.2 - Installing Baïkal on a dedicated host
2012-02-27 15:45:36 -05:00
2012-05-12 17:47:52 -04:00
### 3.2.1 - Unpacking files
To install Baïkal on a dedicated host, download the "Baïkal package".
Unpack the source package outside of the web site root
directory on your server. The location must be accessible to the web server.
2012-02-27 15:45:36 -05:00
Usually, it will be something like /var/www/
# a. Enter the directory where the websites are stored
$ root:~> cd /var/www
2012-05-12 17:47:52 -04:00
Unpacking will produce a directory with a name like baikal-x.y.z, where x.y.z
correspond to the Baïkal version. For example, the Baïkal 0.2.0 source package
will create a directory named baikal-0.2.0
2012-02-27 15:45:36 -05:00
# b. Unpack the package using:
2012-05-12 17:47:52 -04:00
$ root:/var/www> tar xzf baikal-0.2.0.tgz
2012-02-27 15:45:36 -05:00
Rename the untar'd directory to the name of your baikal dedicated subdomain.
# c. Rename the directory to match your domain (good practice)
2012-05-12 17:47:52 -04:00
$ root:/var/www> mv baikal-0.2.0 dav.mydomain.com
2012-02-27 15:45:36 -05:00
# d. Enter the new Baïkal directory
$ root:/var/www> cd dav.mydomain.com
In order to grant Apache access to the files of your Baïkal installation,
you'll have to grant the user running the apache process r+w permissions on
the Baïkal files. In our example, we will suppose the linux username/usergroup
running Apache is www-data:www-data
# e. Change permissions on the files
2012-02-27 15:53:50 -05:00
$ root:/var/www/dav.mydomain.com> chown www-data:www-data . -Rf
2012-02-27 15:45:36 -05:00
2012-05-12 17:47:52 -04:00
### 3.2.2 - Setting up the Apache virtualhost
2012-02-27 15:45:36 -05:00
2012-05-12 17:47:52 -04:00
Baïkal must be bound to a domain/subdomain in order to run properly.
2012-02-27 15:45:36 -05:00
This package provides a default virtualhost configuration file for Apache 2 in
Specific/virtualhosts/baikal.apache2
To enable your host to run Baïkal, you'll have to add the Baïkal virtualhost
to your Apache environment.
In our example, we will assume that the apache2 configuration directory is:
2012-02-27 15:45:36 -05:00
/etc/apache2
# a. Enter the Apache2 configuration directory
$ root:/var/www> cd /etc/apache2
# b. Enter the sites-available directory
$ root:/etc/apache2> cd sites-available
# c. Symlink the Baïkal virtualhost file to this directory
$ root:/etc/apache2/sites-available> ln -s /var/www/dav.mydomain.com/Specific/virtualhosts/baikal.apache2
# d. Customize the virtualhost config file
$ root:/etc/apache2/sites-available> nano baikal.apache2
# e. In baikal.apache2, replace references to dav.mydomain.com with your own domain name
# f. Activate the new virtualhost
$ root:/etc/apache2/sites-available> cd ../sites-enabled
$ root:/etc/apache2/sites-enabled> ln -s ../sites-available/baikal.apache2
# h. Restart apache
$ root:/etc/apache2/sites-enabled> /etc/init.d/apache2 restart
2012-05-12 17:47:52 -04:00
### 3.2.3 - Setting up Baïkal
2012-02-27 15:45:36 -05:00
2012-05-12 17:47:52 -04:00
In a web browser, navigate to http://dav.mydomain.com and follow the instructions of the initialization web tool
2012-02-27 15:45:36 -05:00
2012-05-20 15:59:56 -04:00
# 4 - Accessing the Baïkal Web Admin
2012-02-27 15:45:36 -05:00
2012-05-20 15:59:56 -04:00
Navigate to http://dav.mydomain.com/admin/
# 5 - Connecting your CalDAV / CardDAV client to Baïkal
2012-07-19 15:27:38 -04:00
## 5.1 - Apple iCal (OSX):
2012-02-27 15:45:36 -05:00
2012-03-22 17:57:31 -04:00
Add a new CalDAV account:
2012-03-22 17:58:18 -04:00
* username: the username you just created (in our example, jerome)
* password: the password you just defined
* In server address (replace domain and username): http://dav.mydomain.com/cal.php/principals/jerome
2012-02-27 15:45:36 -05:00
2012-07-19 15:27:38 -04:00
## 5.2 - Apple Calendar (iOS):
Add a new CardDAV account:
* in Settings > Mail, Contacts, Calendar > Add an account > Other
* Select "CalDAV"
2012-07-20 01:41:05 -04:00
* Server: http://dav.mydomain.com/cal.php/principals/jerome
2012-07-19 15:27:38 -04:00
* username: the username you just created (in our example, jerome)
* password: the password you just defined
## 5.3 - Apple Address Book (OSX):
2012-05-12 17:47:52 -04:00
2012-03-22 17:58:18 -04:00
Add a new CardDAV account:
* username: the username you just created (in our example, jerome)
* password: the password you just defined
* In server address (replace domain and username): http://dav.mydomain.com/card.php/addressbooks/jerome/default
2012-02-27 15:45:36 -05:00
2012-07-19 15:27:38 -04:00
## 5.4 - Apple Contacts (iOS):
2012-07-19 15:22:50 -04:00
Add a new CardDAV account:
* in Settings > Mail, Contacts, Calendar > Add an account > Other
* Select "CardDAV"
* Server: dav.mydomain.com/card.php (note: no http:// nor https://, and no trailing slash)
* username: the username you just created (in our example, jerome)
* password: the password you just defined
2012-07-19 15:27:38 -04:00
## 5.5 - Thunderbird/Lighning:
2012-05-12 17:47:52 -04:00
2012-03-22 17:57:31 -04:00
Add a new CalDAV account:
2012-03-22 17:58:18 -04:00
2012-03-22 17:57:31 -04:00
* Navigate to "Lightning" > "New account" > "On the network" > "URL"
* paste this URL: http://yourdomain.com/cal.php/calendars/username/default
of and replace the domain name, and the username with the correct values
* When asked, provide user/password; your CalDAV account should be up and running
2012-05-20 15:59:56 -04:00
# 6 - You're done
2012-02-27 15:45:36 -05:00
You may now create new calendars, new events, new visit cards :) Enjoy.
2012-05-20 15:59:56 -04:00
# 7 - Troubleshooting
2012-02-27 15:45:36 -05:00
Please read TROUBLESHOOTING.md in this folder.