Bacula and Bacula-Web GUI OS X install/build HowTo

Bacula is an Open Source network based backup solution, separated into different programs/deamons. You are able to backup, recover and verify computers of different kinds across a network.

This HOWTO is based on a Mac OS X 10.5 Server installation, but should also work on newer versions.

Prepare MySQL

Configure your MySQL installation via Serveradmin.

Download missing MySQL libraries and install them. http://support.apple.com/kb/TA25017?viewlocale=en_US

Don't forget to install the latest XCode from Apple.

Build Bacula from source

Download the latest Bacula source files from http://sourceforge.net/projects/bacula/files/bacula/ (bacula-X.X.X.tar.gz).

Untar and configure with the following options.

./configure --prefix=/usr/local --with-working-dir=/var/bacula/working --with-openssl --sysconfdir=/usr/local/etc --mandir=/usr/local/share/man --with-tcp-wrappers --enable-smartalloc --disable-largefile --disable-nls --with-python --with-mysql

Build and install it.

make
sudo make install

Create LaunchDaemon startup scripts for: FileDaemon in /Library/LaunchDaemons/bacula-fd

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>org.bacula.bacula-fd</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/sbin/bacula-fd</string>
                <string>-f</string>
                <string>-c</string>
                <string>/usr/local/etc/bacula-fd.conf</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>UserName</key>
        <string>root</string>
</dict>
</plist>

StorageDaemon in /Library/LaunchDaemons/bacula-sd

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>org.bacula.bacula-sd</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/sbin/bacula-sd</string>
                <string>-c</string>
                <string>/usr/local/etc/bacula-sd.conf</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>UserName</key>
        <string>root</string>
</dict>
</plist>

DirectorDaemon in /Library/LaunchDaemons/bacula-dir

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>org.bacula.bacula-dir</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/sbin/bacula-dir</string>
                <string>-c</string>
                <string>/usr/local/etc/bacula-dir.conf</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>UserName</key>
        <string>root</string>
</dict>
</plist>

Install Bacula-Web GUI

Enter your comment. Wiki syntax is allowed:
   ____  ____   _      __   ____  _   __
  / __/ / __ \ | | /| / /  / __/ | | / /
 / _/  / /_/ / | |/ |/ /  _\ \   | |/ / 
/_/    \___\_\ |__/|__/  /___/   |___/