Dies ist eine alte Version des Dokuments!
MySQLDumper unter CentOS 7.x installieren und einrichten
Zum komfortablen Sichern und ggf. Wiederherstellen einzelner Tabellen und/oder Datenbanken unseres MariaDB-Datenbankservers greifen wir auf das Projekt MySQLDumper zurück.
Eine genaue Funktionsbeschreibung von MySQLDumper findet man auf der zugehörigen Projektseite.
Installation
PHP-Voraussetzungen
Für unseren komfortablen Weg der Sicherung unseres MariaDB-Servers muß natürlich ein funktionstüchtiger MariaDB-Server unter CentOS 7.x und entweder ein passender Apache-Webserver oder der Webserver NGiNX zur Verfügung stehen. Es werden werden von mysqldumper folgende Pakete benötigt:
- php
- perl-CGI
- perl-Email-Date-Format
- perl-Net-SMTP-SSL
- perl-Net-HTTPTunnel
- perl-Net-Daemon
- perl-PlRPC
- perl-DBI
- perl-MIME-Types
- perl-MIME-Lite
- perl-DBD-MySQL
- perl-Net-FTPSSL
- perl-MailTools
Zur einfachen Installation via YUM greifen wir auf die folgenden Repositories zurück:
- CentOS-Base
Die oben genannten Pakete installieren wir, sofern diese nicht schon bei der Grundinstallation unseres Apache-Webservers erfolgte, mit Hilfe von YUM
# yum install php perl-CGI perl-Email-Date-Format perl-Net-SMTP-SSL perl-Net-HTTPTunnel perl-Net-Daemon \ perl-PlRPC perl-DBI perl-MIME-Types perl-MIME-Lite perl-DBD-MySQL perl-Net-FTPSSL perl-MailTools -y
Anschließend starten wir bei Bedarf unseren Webserver einmal durch.
# systemctl reload httpd
bzw. im Falle von NGiNX:
# systemctl reload nginx
mysqldumper
Da es für mysqldumper kein RPM für CentOS 7 gibt, installieren wir die Software eben aus den Quellen selbst. Dazu holen wir uns das ZIP-Archiv von der SoureForge-Projektseite.
# wget -P /usr/local/src/packages/ \ http://downloads.sourceforge.net/project/mysqldumper/MySQLDumper/MySQLDumper1.24.4.zip
Anschließend entpacken wir das Archiv in unser WebRoot-Verzeichnis unseres Webservers.
# unzip -d /srv/www/html/ /usr/local/src/packages/MySQLDumper1.24.4.zip
Für die Backup-Dateien, die Konfigurations-, Backup- sowie für die Logdateien legen wir uns nun noch im entsprechenden Zielverzeichnis jeweils ein Verzeichnis an., Hierzu benutzen wir folgenden Befehl.
# mkdir -p /srv/www/html/msd1.24.4/work/{config,backup,log}
Zum Schluß setzen wir noch die Datei- und Verzeichnisse so, dass unser Webserver und die PHP-/Perl-Scripte dort auch die Daten ablegen kann.
# chmod -R 777 /srv/www/html/msd1.24.4/work # chmod -R 755 /srv/www/html/msd1.24.4/msd_cron
Nutzen wir einen Apache Webserver setzen wir den User und die Gruppe auf apache.apache.
# chown apache.apache /srv/www/html/msd1.24.4/config.php
Verwenden wir als Webserver NGiNX setzen wir den User und die Gruppe auf entsprechend auf nginx.nginx.
# chown nginx.nginx /srv/www/html/msd1.24.4/config.php
grundlegende Konfiguration
Apache vHOST
Im ersten Konfigurationsbeispiel richten wir uns einen vHOST für unseren Apache-Webserver ein; hierzu legen wir uns folgende Beispielkonfigurationsdatei an.
# vim /etc/httpd/conf.d/mysqldumper.conf
- /etc/httpd/conf.d/mysqldumper.conf
# # Web application to manage MariaDB backups # mysqldumper.nausch.org # <VirtualHost *:80> ServerAdmin webmaster@nausch.org ServerName mysqldumper.nausch.org ServerAlias www.mysqldumper.nausch.org ServerPath / DocumentRoot "/srv/www/html/msd1.24.4" <Directory "/srv/www/html/msd1.24.4"> Options -Indexes +FollowSymLinks +ExecCGI # Tachtler (enable for .htaccess file support) # AllowOverride AuthConfig AllowOverride None # Django: 2015-07-07 # Zugriff vom eigenen Netz aus erlauben Require ip 10.0.0 # Zugriff von überall erlauben #Require all granted </Directory> <File "/srv/www/html/msd1.24.4/config.php"> Options -Indexes -FollowSymLinks AllowOverride None # Django: 2015-07-07 # Zugriff von überall sperren Require all denied </File> AddHandler cgi-script .pl DirectoryIndex index.php ErrorLog logs/mysqldumper_error.log CustomLog logs/mysqldumper_access.log combined </VirtualHost>
Haben wir die Konfigurationsdatei vervollständigt, prüfen wir diese noch auf syntaktische Fehler.
# apachectl -t
Syntax OK
Ein reload unseres Apache Webserver reicht nun aus, um den neuen vHOST verfügbar zu haben.
# systemctl reload httpd
NGiNX vHOST
Haben wir als Webserver einen NGiNX unter der Motorhaube ist die Konfiguration unseres vHOST auch kein großes Hexenwerk.
# vim /etc/nginx/conf.d/mysqldumper.conf
- /etc/nginx/conf.d/mysqldumper.conf
server { # Django : 2015-05-28 # auf welchem Port soll der Server lauschen (HTTP: 80)? listen 80; # auf welchen Servernamen (vHOST) soll der Server reagieren? server_name mysqldumper.nausch.org; # Welches Access- und Error-Logfile soll beschrieben werden? access_log /var/log/nginx/mysqldumper_access.log; error_log /var/log/nginx/mysqldumper_errors.log; # Zugriffe erst nach erfolreicher Authentifizierung gestatten auth_basic "MSD on vml000097 - nausch.org"; auth_basic_user_file /etc/awstats/htpasswd; # Welcher Inhalt soll angezeigt bzw. auf welchen Server sollen die HTTP-Requests # weitergeleitet werden? root /srv/www/html/msd1.24.4/; index index.php; # php-Dateien dem PHP FastCGI Process Manager-Daemon php-fpm übergeben. location ~ \.php { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # perl-Dateien dem PHP FastCGI Process Manager-Daemon php-fpm übergeben. location ~ msd_cron/perltest.pl { fastcgi_split_path_info ^(.+\.pl)(/.+)$; fastcgi_index perltest.pl; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # Zugriff auf die Konfigurationsdatei verbieten location ~ config.php { deny all; } }
Den Parameter fastcgi_pass setzen wir im übrigen auf den Wert aus der Konfigurationsdatei /etc/php-fpm.d/www.conf des PHP FastCGI Process Manager-Daemon php-fpm.
Haben wir die Konfigurationsdatei vervollständigt, prüfen wir diese noch auf syntaktische Fehler.
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Somit können wir unsere Konfiguration nun noch aktivieren.
# systemctl reload nginx
Anwendungskonfiguration
Die Konfiguration von MySQLDumper erfolgt über eine WEB-GUI, die über folgende URL erreichbar ist: http://mysqldumper.nausch.org. Diese URL rufen wir nun mit dem Webbrowser unserer Wahl auf.
$ firefox http://mysqldumper.nausch.org
Nach Aufruf der Seite, müssen wir als erstes auswählen welche Sprache verwendet werden soll.
Haben wir die Sprache ausgewählt klicken wir auf die Schaltfläche [ Installation ].
… do geds weida …