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:
Bild: https://assets.digitalocean.com/articles/bacula-web/test.png [Bacula-Web Test]
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:
image: https://assets.digitalocean.com/articles/bacula-web/bacula-web-dashboard.png [Bacula-Web Dashboard]
Fazit
Jetzt können Sie Bacula-Web verwenden, um auf einfache Weise Ihre verschiedenen Bacula-Jobs und -Status zu überwachen.
Habe Spaß!