$OpenBSD: README-server,v 1.11 2014/07/10 13:09:07 ajacoutot Exp $

+-----------------------------------------------------------------------
| Running ${FULLPKGNAME} on OpenBSD
+-----------------------------------------------------------------------

Note: If upgrading from a version older than 5.2.0, a database upgrade
is necessary (see the ${TRUEPREFIX}/libexec/bacula/update_* scripts).
Also, the Director and Storage Daemons must be upgraded at the same
time, but older File Daemons can be used with 5.2.x.

The official Bacula documentation can be found at:
    http://blog.bacula.org/documentation/documentation/

Setting up the database for the Bacula Director
===============================================

In this documentation, it is assumed the PostgreSQL administrator user
is 'postgres' and the MySQL one is 'root'; adapt accordingly to your
setup.
Replace 'dbpassword' with the bacula DB user password (configured in
${SYSCONFDIR}/bacula-dir.conf).

While SQLite3 may be of interest for quickly testing a setup, it is
usually not advised to use it in production but rather go for a full
RDBMS like PostgreSQL or MySQL.

PostgreSQL
----------

Assuming you have an administrative account named `postgres',
you can create the 'bacula' user like this:

    $ createuser -U postgres --pwprompt --no-superuser \
      --createdb --no-createrole bacula

Creating the database and tables:
    $ cd ${TRUEPREFIX}/libexec/bacula
    $ ./create_bacula_database -U bacula
    $ ./make_bacula_tables -U bacula
    $ ./grant_bacula_privileges -U bacula

MySQL
-----

Creating the DB, table and bacula user.
    $ cd ${TRUEPREFIX}/libexec/bacula
    $ ./create_bacula_database -u root -p
    $ ./make_bacula_tables -u root -p
    $ ./grant_bacula_privileges -u root -p

Setting up the bacula DB user password.
    $ mysql -u root -p bacula
    mysql> GRANT ALL PRIVILEGES ON `bacula` . *
        -> TO 'bacula'@'localhost' IDENTIFIED BY 'dbpassword';
    mysql> QUIT

SQLite3
-------

Creating the DB and tables (default to ${LOCALSTATEDIR}/bacula.db).
    $ cd ${TRUEPREFIX}/libexec/bacula
    $ sudo -u _bacula ./make_bacula_tables

Device permissions
==================

The storage daemon needs access to its storage device(s):

* when backup is stored on disk, the mount points must be accessible in
rw mode by the "_bacula-sd" user (and/or the "_bacula" group).

* when backup is stored on tape, the corresponding device node(s) must
be accessible in rw mode by the "_bacula-sd" user (and/or the "_bacula"
group); alternatively the "_bacula-sd" user can be added to the
"operator" group instead.
e.g. for an autochanger, add the following lines in rc.conf.local(8)
chgrp _bacula /dev/ch0
chgrp _bacula /dev/nrst0
