Progetto

Generale

Profilo

SabredavServer » Cronologia » Versione 2

Simone Piccardi, 20-11-2014 15:55

1 1 Simone Piccardi
h1. Installare e configurare Sabredav
2
3
Sabredav è un server CalDAV, CarDAV e WebDAV in PHP molto sviluppato che presenta una buona integrazione con Roundcube per la gestione di calendari integrati con la posta elettronica. Dato lo sviluppo molto intenso pur essendo disponibile un pacchetto @php-sabre-dav@ nei backports di Debian Wheezy, tratteremo l'installazione dai sorgenti. Si presuppone che sia disponibile e configurata, una Debian con PHP ed Apache già in grado di far funzionare Roundcube. 
4
5
Il progetto consiglia per l'installazione di utilizzare @composer@, un framework per la gestione delle dipendenze in PHP, che consente anche degli aggiornamenti in maniera abbastanza semplice del programma. Il primo passo è individuare una directory sotto cui installarlo, per l'uso di quest'ultimo è consigliato di installare:
6
7
<pre>
8
apt-get install php5 git php5-curl
9
</pre> 
10
11
poi lo si potrà installare nella directory in cui si installerà anche sabredav, nel nostro caso @/var/www/sabredav/@, con:
12
13
<pre>
14
curl -sS https://getcomposer.org/installer | php
15
</pre>
16
17
una volta installato composer sarà disponibile nella directory stessa il programma @composer.phar@ e si potrà installare sabre con:
18
19
<pre>
20
./composer.phar require sabre/dav ~2.1.0
21
</pre>
22
23
che scaricherà direttamente quanto necessario, ed in questo modo futuri aggiornamenti potranno essere installati semplicemente con @./composer.phar update sabre/dav@. Con questa installazione i file di sabredav verranno installati nella sottodirectory @vendor/sabre@.
24 2 Simone Piccardi
25
26
Una volta fatto questo occorre configurare Apache, è preferibile utilizzare un dominio dedicato su un virtualhost, ad esempio @sabredav.dominio.tld@ o affini, in modo da poter inserire la configurazione in un file come @/etc/apache2/sites-available/sabredav.dominio.tld@ che dovrà contenere qualcosa del tipo:
27
28
<pre>
29
<VirtualHost *:443>
30
	ServerName sabredav.dominio.tld
31
	DocumentRoot /var/www/sabredav
32
        # include SSL config directives
33
        Include "/etc/apache2/sites-available/ssl.conf" 
34
35
	##
36
	## Sabredav rules
37
	##
38
	<IfModule mod_rewrite.c>
39
		RewriteEngine On
40
		RewriteRule (.*) index.php [L]
41
	</IfModule>
42
	# Disable eAccelerator
43
	php_flag eaccelerator.enable 0
44
	php_flag eaccelerator.optimizer 0
45
	
46
	# Output buffering needs to be off, to prevent high memory usage
47
	php_flag output_buffering off
48
	
49
	# This is also to prevent high memory usage
50
	php_flag always_populate_raw_post_data off
51
	
52
	# This is almost a given, but magic quotes is *still* on on some
53
	# linux distributions
54
	php_flag magic_quotes_gpc off
55
	
56
	# SabreDAV is not compatible with mbstring function overloading
57
	php_flag mbstring.func_overload off
58
	ErrorLog /var/log/apache2/sabredav.dominio.tld-error.log
59
	# Possible values include: debug, info, notice, warn, error, crit,
60
	# alert, emerg.
61
	LogLevel warn
62
	CustomLog /var/log/apache2/sabredav.dominio.tld-access.log combined
63
</VirtualHost>
64
</pre>