1. Installation¶
In this section you will be able to install AgenDAV.
1.1. Prerequisites¶
AgenDAV 1.2.5 requires the following software to be installed:
- A CalDAV server (developed mainly with DAViCal
- A web server
- PHP >= 5.3.0
- PHP mbstring extension
- PHP cURL extension
- MySQL > 5.1 or PostgreSQL >= 8.1
1.2. Downloading AgenDAV and uncompressing¶
AgenDAV 1.2.5 can be obtained at AgenDAV official webpage, but you can use GitHub to download latest version. Have a look at http://github.com/adobo/agendav.
Uncompress it using tar
:
$ tar xzf adobo-agendav-...tar.gz
$ cd adobo-agendav-.../
1.3. Database and tables¶
AgenDAV requires a database to store some information. Supported RDBMs are MySQL and PostgreSQL.
First of all you have to create a user and a database for that user.
Second, you’ll have to create initial AgenDAV tables using provided SQL
files inside sql/
directory.
Last step is applying database upgrades to initial database tables.
1.3.1. Steps 1&2: MySQL¶
Create an user in MySQL like this:
$ mysql --default-character-set=utf8 -uroot -p
Enter password:
[...]
mysql> GRANT ALL PRIVILEGES ON agendav.* TO agendav@localhost IDENTIFIED BY 'yourpassword'
mysql> CREATE DATABASE agendav CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> FLUSH PRIVILEGES;
mysql> ^D
And then run the schema creation file:
$ mysql --default-character-set=utf8 -uagendav \
-p agendav < sql/mysql.schema.sql
Enter password:
$
Note the UTF8 parts on the previous commands. If you don’t specify them you will have some issues with special characters.
Now your database is ready.
1.3.2. Steps 1&2: PostgreSQL¶
Use the special postgres
system user to manage your installation. You
can add a new user and a new database the following way:
# su postgres
$ psql
postgres=# CREATE USER agendav WITH PASSWORD 'somepassword';
postgres=# CREATE DATABASE agendav ENCODING 'UTF8';
postgres=# GRANT ALL PRIVILEGES ON DATABASE agendav TO agendav;
postgres=# \q
$ exit
Then you have to edit the file pg_hba.conf
, which is usually located at
/var/lib/pgsql/
. Add the following line before other definitions:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local agendav agendav trust
After that just restart PostgreSQL and load the schema:
$ psql -U agendav agendav < sql/pgsql.schema.sql
1.3.3. Step 3: Apply latest database schema¶
Initial database structure created with *.sql files provides only a base structure for AgenDAV. It has to be modified to apply latest release changes. To do this, follow instructions on Database upgrade.
1.4. Configuring Apache web server¶
Apache has to be configured to point to web/public
directory, using its
own VirtualHost or just an Alias.
Example using a dedicated virtualhost:
<VirtualHost 1.2.3.4:443>
ServerAdmin admin@email.host
DocumentRoot /path/to/agendav/web/public
ServerName agendav.host
ErrorLog logs/agendav_error_log
CustomLog logs/agendav_access_log common
</VirtualHost>
Example using the Alias directive:
Alias /agendav /path/to/agendav/web/public
Note
Make sure that you have the following PHP settings disabled:
magic_quotes_gpc
magic_quotes_runtime
1.4.1. Other web servers¶
AgenDAV should work on all other web server software if they support PHP scripts, but this is untested.
1.5. Configure AgenDAV¶
Now you can proceed to configure AgenDAV following the Configuration section.