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:
     __   ____  _____   _  __  _____   __  ___   __  ___   __ __  ____    _  __
 __ / /  / __/ / ___/  / |/ / / ___/  /  |/  /  /  |/  /  / //_/ / __ \  | |/_/
/ // /  _\ \  / /__   /    / / /__   / /|_/ /  / /|_/ /  / ,<   / /_/ / _>  <  
\___/  /___/  \___/  /_/|_/  \___/  /_/  /_/  /_/  /_/  /_/|_|  \____/ /_/|_|