So installieren Sie Bacula-Web unter Ubuntu 14.04

Einführung

Bacula-Web ist eine PHP-Webanwendung, mit der Sie auf einfache Weise Zusammenfassungen und Diagramme von Bacula-Sicherungsjobs anzeigen können, die bereits ausgeführt wurden. Bacula-Web bietet eine grafische Alternative zum Anzeigen von Jobs über die Konsole, obwohl Sie damit Bacula in keiner Weise steuern können. Bacula-Web ist besonders nützlich für Benutzer, die Bacula noch nicht kennen, da anhand der Berichte leicht nachvollzogen werden kann, auf welche Weise Bacula funktioniert.

In diesem Tutorial zeigen wir Ihnen, wie Sie Bacula-Web auf einem Ubuntu 14.04-Server installieren, auf dem Ihre Bacula-Serversoftware ausgeführt wird.

Voraussetzungen

Um diesem Tutorial folgen zu können, muss die Bacula-Backup-Server-Software auf einem Ubuntu-Server installiert sein. Anweisungen zur Installation von Bacula finden Sie hier: Installation von Bacula Server unter Ubuntu 14.04 .

In diesem Tutorial wird davon ausgegangen, dass Ihr Bacula-Setup MySQL für den Katalog verwendet. Wenn Sie ein anderes RDBMS wie PostgreSQL verwenden, stellen Sie sicher, dass Sie die richtigen Anpassungen an diesem Lernprogramm vornehmen. Sie müssen die entsprechenden PHP-Module installieren und die Beispiele für Datenbankverbindungsinformationen anpassen.

Lass uns anfangen.

Installieren Sie Nginx und PHP

Bacula-Web ist eine PHP-Anwendung, daher müssen wir PHP und einen Webserver installieren. Wir werden Nginx verwenden. Weitere Informationen zu diesem speziellen Software-Setup finden Sie unter https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu -14-04 [LEMP-Tutorial].

Aktualisieren Sie Ihre apt-get-Angebote:

sudo apt-get update

Dann installieren Sie Nginx, PHP-fpm und einige andere Pakete mit apt-get:

sudo apt-get install nginx apache2-utils php5-fpm php5-mysql php5-gd

Jetzt können wir PHP und Nginx konfigurieren.

Konfigurieren Sie PHP-FPM

Öffnen Sie die PHP-FPM-Konfigurationsdatei in Ihrem bevorzugten Texteditor. Wir verwenden vi:

sudo vi /etc/php5/fpm/php.ini

Suchen Sie die Zeile, die "+ cgi.fix_pathinfo " angibt, kommentieren Sie sie aus und ersetzen Sie ihren Wert durch " 0 +". Es sollte so aussehen, wenn Sie fertig sind.

cgi.fix_pathinfo=0

Suchen Sie nun die Einstellung "+ date.timezone +", entfernen Sie das Kommentarzeichen und ersetzen Sie den Wert durch Ihre Zeitzone. Wir befinden uns in New York. Deshalb legen wir folgenden Wert fest:

date.timezone =

Wenn Sie eine Liste der unterstützten Zeitzonen benötigen, lesen Sie die PHP documentation.

Speichern und schließen.

PHP-FPM ist ordnungsgemäß konfiguriert. Starten Sie das Programm neu, damit die Änderungen wirksam werden.

sudo service php5-fpm restart

Konfigurieren Sie Nginx

Jetzt ist es an der Zeit, Nginx für die Bedienung von PHP-Anwendungen zu konfigurieren.

Da wir nicht möchten, dass unbefugte Personen auf Bacula-Web zugreifen, erstellen wir zunächst eine htpasswd-Datei. Verwenden Sie htpasswd, um einen Admin-Benutzer mit dem Namen "admin" (Sie sollten einen anderen Namen verwenden) zu erstellen, der auf die Bacula-Web-Oberfläche zugreifen kann:

sudo htpasswd -c /etc/nginx/htpasswd.users

Geben Sie an der Eingabeaufforderung ein Passwort ein. Merken Sie sich dieses Login, da Sie es für den Zugriff auf Bacula-Web benötigen.

Öffnen Sie nun die Konfigurationsdatei für den Nginx-Standardserverblock in einem Texteditor. Wir verwenden vi:

sudo vi /etc/nginx/sites-available/default

Ersetzen Sie den Inhalt der Datei durch den folgenden Codeblock. Achten Sie darauf, den hervorgehobenen Wert von "+ Servername +" durch den Domainnamen oder die IP-Adresse Ihres Servers zu ersetzen:

server {
   listen 80 default_server;
   listen [::]:80 default_server ipv6only=on;

   root /usr/share/nginx/html;
   index index.php index.html index.htm;

   server_name ;

   auth_basic "Restricted Access";
   auth_basic_user_file /etc/nginx/htpasswd.users;

   location / {
       try_files $uri $uri/ =404;
   }

   error_page 404 /404.html;
   error_page 500 502 503 504 /50x.html;
   location = /50x.html {
       root /usr/share/nginx/html;
   }

   location ~ \.php$ {
       try_files $uri =404;
       fastcgi_split_path_info ^(.+\.php)(/.+)$;
       fastcgi_pass unix:/var/run/php5-fpm.sock;
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include fastcgi_params;
   }
}

Speichern und schließen. Dadurch wird Nginx so konfiguriert, dass es PHP-Anwendungen bereitstellt und die zuvor erstellte htpasswd-Datei für die Authentifizierung verwendet.

Starten Sie Nginx neu, damit die Änderungen wirksam werden.

sudo service nginx restart

Jetzt können wir Bacula-Web herunterladen.

Laden und konfigurieren Sie Bacula-Web

Wechseln Sie in Ihr Home-Verzeichnis und laden Sie das neueste Bacula-Web-Archiv herunter. Zum Zeitpunkt des Schreibens war + 7.0.3 + die neueste Version:

cd ~
wget --content-disposition http://www.bacula-web.org/download.html?file=files/bacula-web.org/downloads/bacula-web-.tgz

Erstellen Sie nun ein neues Verzeichnis, + bacula-web +, wechseln Sie dorthin und extrahieren Sie das Bacula-Web-Archiv:

mkdir bacula-web
cd bacula-web
tar xvf ../bacula-web-*.tgz

Bevor Sie die Dateien in das Dokumentenstammverzeichnis Ihres Webservers kopieren, müssen Sie sie zuerst konfigurieren.

Wechseln Sie in das Konfigurationsverzeichnis wie folgt:

cd application/config

Bacula-Web bietet eine Beispielkonfiguration. Kopieren Sie es wie folgt:

cp config.php.sample config.php

Bearbeiten Sie nun die Konfigurationsdatei in einem Texteditor. Wir verwenden vi:

vi config.php

Suchen Sie den MySQL-Bacula-Katalog und kommentieren Sie die Verbindungsdetails aus. Ersetzen Sie außerdem den Wert "+ password " durch Ihr Bacula-Datenbankkennwort (zu finden in " / etc / bacula / bacula-dir.conf +" in der Einstellung "dbpassword"):

// MySQL bacula catalog
$config[0]['label'] = 'Backup Server';
$config[0]['host'] = 'localhost';
$config[0]['login'] = 'bacula';
$config[0]['password'] = '';
$config[0]['db_name'] = 'bacula';
$config[0]['db_type'] = 'mysql';
$config[0]['db_port'] = '3306';

Speichern und schließen.

Bacula-Web ist jetzt konfiguriert. Der letzte Schritt besteht darin, die Anwendungsdateien an der richtigen Stelle abzulegen.

Kopieren Sie die Bacula-Web-Anwendung in das Document Root-Verzeichnis

Wir haben Nginx so konfiguriert, dass "+ / usr / share / nginx / html " als Dokumentstamm verwendet wird. Wechseln Sie dazu und löschen Sie die Standardeinstellung " index.html" mit den folgenden Befehlen:

cd /usr/share/nginx/html
sudo rm index.html

Verschieben Sie nun die Bacula-Web-Dateien an Ihren aktuellen Speicherort, den Nginx-Dokumentenstamm:

sudo mv ~/bacula-web/* .

Ändern Sie den Besitz der Dateien in "+ www-data +", den Daemon-Benutzer, der Nginx ausführt:

sudo chown -R www-data: *

Jetzt ist Bacula-Web vollständig installiert.

Greifen Sie über einen Browser auf Bacula-Web zu

Auf Bacula-Web kann jetzt über den Domainnamen oder die öffentliche IP-Adresse Ihres Servers zugegriffen werden.

Vielleicht möchten Sie testen, ob alles richtig konfiguriert ist. Zum Glück gibt es eine Bacula-Web Testseite. Greifen Sie darauf zu, indem Sie diese URL in einem Webbrowser öffnen (ersetzen Sie den hervorgehobenen Teil durch die Informationen Ihres Servers):

http:///test.php

Sie sollten eine Tabelle sehen, die den Status der verschiedenen Komponenten von Bacula-Web anzeigt. Sie sollten alle mit einem grünen Häkchen versehen sein, mit Ausnahme der Datenbankmodule, die Sie nicht benötigen. Zum Beispiel verwenden wir MySQL, sodass wir keine anderen Datenbankmodule benötigen:

Wenn alles gut aussieht, können Sie das Dashboard verwenden. Sie können darauf zugreifen, indem Sie oben links auf "Bacula-Web" klicken oder indem Sie Ihren Server in einem Webbrowser besuchen:

http:///

Es sollte ungefähr so ​​aussehen:

Fazit

Jetzt können Sie Bacula-Web verwenden, um auf einfache Weise Ihre verschiedenen Bacula-Jobs und -Status zu überwachen.

Habe Spaß!