======== Quick installation guide with the default PostgreSQL backend ========

Perform the following commands to install Bacula with its default configuration
and all daemons and consoles in one server.

1) Install packages

# yum -y install postgresql-server \
    bacula-director bacula-storage bacula-client \
    bacula-console bacula-console-bat

2) Select the PostgreSQL database backend

# alternatives --set libbaccats.so /usr/lib64/libbaccats-postgresql.so

3) Create database

# postgresql-setup initdb
# systemctl enable postgresql.service
# systemctl start postgresql.service

# su - postgres
$ cd /usr/libexec/bacula
$ ./create_bacula_database
$ ./make_bacula_tables
$ ./grant_bacula_privileges

4) Change passwords in /etc/bacula/*.conf with something you like.

# sed -i -e 's/@@DIR_PASSWORD@@/dir-password/g' \
        -e 's/@@FD_PASSWORD@@/fd-password/g' \
        -e 's/@@SD_PASSWORD@@/sd-password/g' \
        -e 's/@@MON_DIR_PASSWORD@@/mon-dir-password/g' \
        -e 's/@@MON_FD_PASSWORD@@/mon-fd-password/g' \
        -e 's/@@MON_SD_PASSWORD@@/mon-sd-password/g' \
        /etc/bacula/*.conf

5) Enable daemons and check they are working

# systemctl enable bacula-dir.service
# systemctl enable bacula-sd.service
# systemctl enable bacula-fd.service

# systemctl start bacula-dir.service
# echo status dir=bacula-dir | bconsole

# systemctl start bacula-sd.service
# echo status storage=bacula-sd | bconsole

# systemctl start bacula-fd.service
# echo status client=bacula-fd | bconsole

6) To grant console access to regular users add the read permission to the
console configuration files. Remember that there is no authentication check; so
a user that can launch the console can perform any command.

# chmod +r /etc/bacula/bconsole.conf /etc/bacula/bat.conf
