$ sudo apt-get install wget apache2 php libapache2-mod-php7.0 postgresql php7.0-pgsql php7.0-xml $ wget https://github.com/agendav/agendav/releases/download/2.2.0/agendav-2.2.0.tar.gz $ tar -xvf agendav*tar.gz $ mv agendav* /var/www/html/agendav $ cd /var/www/html/agendav $ sudo chown -R www-data:www-data web/ $ sudo chmod -R 750 web/var
$ 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
$ sudo nano /etc/postgresql/9.6/main/pg_hba.conf < /etc/postgresql/9.6/main/pg_hba.conf > # TYPE DATABASE USER CIDR-ADDRESS METHOD local agendav agendav md5 $ sudo /etc/init.d/postgresql restart
$ sudo nano /etc/php/7.0/apache2/php.ini < /etc/php/7.0/apache2/php.ini > magic_quotes_runtime: disabled date.timezone: America/Chicago
$ cd /var/www/html/agendav/web/config
$ sudo cp default.settings.php settings.php
$ sudo nano /var/www/html/agendav/web/config/settings.php
< /var/www/html/agendav/web/config/settings.php >
$app['db.options'] = [
'dbname' => 'agendav',
'user' => 'agendav',
'password' => 'password',
'host' => 'localhost',
'driver' => 'pdo_pgsql',
];
$app['caldav.baseurl'] = 'http://localhost:5232';
$ cd ../..
$ php agendavcli migrations:migrate
$ sudo nano /etc/apache2/sites-available/agendav.conf < /etc/apache2/sites-available/agendav.conf > <VirtualHost 127.0.0.1> ServerAdmin admin@email.host DocumentRoot /var/www/html/agendav/web/public ServerName agendav.host # ErrorLog logs/agendav_error_log # CustomLog logs/agendav_access_log common
<Location />
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</Location>
</VirtualHost>
$ sudo ln -s ../sites-available/agendav.conf /etc/apache2/sites-enabled $ sudo a2enmod rewrite $ sudo service apache2 restart
References:
https://agendav.readthedocs.io/en/stable/admin/configuration/ https://silex.symfony.com/doc/2.0/web_servers.html http://docs.agendav.org/en/2.2.0/admin/installation/