selfhosted:agendav

$ 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

POSTGRES

$ 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

PHP

$ 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

APACHE

$ 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/
  • selfhosted/agendav.txt
  • Last modified: 2023/07/02 18:04
  • by hli