Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
centos:web_c7:mysqldumper [07.07.2015 14:21. ] – MySQLDumper unter CentOS 7.x installieren und einrichten #MySQLDumper #CentOS7 #MariaDB django | centos:web_c7:mysqldumper [20.04.2018 10:28. ] – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== MySQLDumper unter CentOS 7.x installieren und einrichten ====== | + | ====== MySQLDumper unter CentOS 7.x mit Apache 2.4, PHP 7 und PHP-FPM |
- | {{: | + | {{: |
+ | Zum komfortablen Sichern und ggf. Wiederherstellen einzelner Tabellen und/oder Datenbanken unseres **[[centos: | ||
Eine genaue Funktionsbeschreibung von **[[http:// | Eine genaue Funktionsbeschreibung von **[[http:// | ||
Zeile 7: | Zeile 8: | ||
==== PHP-Voraussetzungen ==== | ==== PHP-Voraussetzungen ==== | ||
Für unseren komfortablen Weg der Sicherung unseres **MariaDB-Servers** muß natürlich ein funktionstüchtiger [[centos: | Für unseren komfortablen Weg der Sicherung unseres **MariaDB-Servers** muß natürlich ein funktionstüchtiger [[centos: | ||
- | * **php** | + | * **phpu70** (aus dem IUS Repository) |
* **perl-CGI** | * **perl-CGI** | ||
* **perl-Email-Date-Format** | * **perl-Email-Date-Format** | ||
Zeile 23: | Zeile 24: | ||
Zur einfachen Installation via **YUM** greifen wir auf die folgenden Repositories zurück: | Zur einfachen Installation via **YUM** greifen wir auf die folgenden Repositories zurück: | ||
* **CentOS-Base** | * **CentOS-Base** | ||
+ | * **IUS Repo** | ||
* **[[centos: | * **[[centos: | ||
* **[[centos: | * **[[centos: | ||
Die oben genannten Pakete installieren wir, sofern diese nicht schon bei der Grundinstallation unseres Apache-Webservers erfolgte, mit Hilfe von **YUM** | Die oben genannten Pakete installieren wir, sofern diese nicht schon bei der Grundinstallation unseres Apache-Webservers erfolgte, mit Hilfe von **YUM** | ||
- | # yum install | + | # yum install |
| | ||
- | |||
- | Anschließend starten wir bei Bedarf unseren Webserver einmal durch. | ||
- | # systemctl reload httpd | ||
- | |||
- | bzw. im Falle von **NGiNX**: | ||
- | # systemctl reload nginx | ||
==== mysqldumper ==== | ==== mysqldumper ==== | ||
- | Da es für **mysqldumper** | + | Die aktuelle Entwicklerversion von **mysqldumper** |
- | # wget -P /usr/ | + | Wir klonen uns also dieses Programmpaket. Dazu wechseln wir zuerst in das Zielverzeichis auf unserem Datenbank-/Web-Server. |
- | http://downloads.sourceforge.net/project/mysqldumper/ | + | # cd /srv/www/html/ |
- | Anschließend entpacken | + | Anschliessend klonen |
- | # | + | # |
Für die Backup-Dateien, | Für die Backup-Dateien, | ||
- | # mkdir -p / | + | # mkdir -p / |
- | Zum Schluß setzen | + | Da wir den **[[centos: |
+ | |||
+ | # chown php-fpm: / | ||
# chmod -R 777 / | # chmod -R 777 / | ||
# chmod -R 755 / | # chmod -R 755 / | ||
- | |||
- | Nutzen wir einen [[centos: | ||
- | # chown apache.apache / | ||
- | |||
- | Verwenden wir als Webserver **[[http:// | ||
- | # chown nginx.nginx / | ||
===== grundlegende Konfiguration ===== | ===== grundlegende Konfiguration ===== | ||
==== Apache vHOST ==== | ==== Apache vHOST ==== | ||
- | Im ersten Konfigurationsbeispiel richten wir uns einen vHOST für unseren Apache-Webserver ein; hierzu | + | Im ersten Konfigurationsbeispiel richten wir uns einen vHOST für unseren Apache-Webserver ein. Hier legen wir uns nachfolgende Konfigurationsdatei an und passen dieser entsprechend unserer Umgebung nach an. |
# vim / | # vim / | ||
- | < | + | < |
- | # Web application to manage MariaDB backups | + | # Django : 2017-10-08 |
- | # mysqldumper.nausch.org | + | # |
# | # | ||
- | < | ||
- | ServerAdmin webmaster@nausch.org | ||
- | ServerName mysqldumper.nausch.org | ||
- | ServerAlias www.mysqldumper.nausch.org | ||
- | ServerPath | + | # Variablen der Hostvariablen |
- | | + | Define vhost mysqldumper |
+ | Define errors_log logs/${vhost}_error.log | ||
+ | Define access_log logs/${vhost}_access.log | ||
+ | Define ssl_log logs/ | ||
- | | + | <VirtualHost *:80> |
- | | + | |
- | # Tachtler (enable for .htaccess file support) | + | |
- | # AllowOverride AuthConfig | + | |
- | AllowOverride None | + | |
- | # Django: 2015-07-07 | + | |
- | # | + | |
- | Require ip 10.0.0 | + | |
- | # | + | |
- | #Require all granted | + | |
- | </ | + | |
- | <File "/ | + | # HTTP auf HTTPS umleiten |
- | | + | |
- | | + | |
- | # Django: 2015-07-07 | + | |
- | # | + | |
- | Require all denied | + | |
- | </File> | + | |
- | AddHandler cgi-script .pl | + | # Welche Logdateien sollen beschrieben werden |
- | | + | |
- | + | ErrorLog | |
- | | + | CustomLog |
- | CustomLog | + | |
</ | </ | ||
- | </file> | + | <VirtualHost *:443> |
+ | ServerAdmin webmaster@nausch.org | ||
+ | ServerName ${vhost}.nausch.org | ||
+ | ServerPath / | ||
- | Haben wir die Konfigurationsdatei vervollständigt, | + | # Wer soll Zugriff auf die Webseite(n) bekommen? |
- | # apachectl | + | < |
+ | Options +FollowSymLinks +Multiviews -Indexes | ||
+ | AllowOverride None | ||
+ | AuthType Basic | ||
+ | AuthName "Fuer den Zugriff | ||
+ | AuthBasicProvider ldap | ||
+ | AuthLDAPUrl ldaps:// | ||
+ | | ||
+ | AuthLDAPBindPassword " | ||
+ | AuthLDAPBindAuthoritative on | ||
+ | Require ldap-user admindb | ||
+ | </ | ||
- | | + | # Welcher Inhalt soll angezeigt bzw. auf welchen Server sollen die HTTP-Requests weitergeleitet werden? |
- | + | | |
- | Ein reload unseres Apache Webserver reicht nun aus, um den neuen vHOST verfügbar zu haben. | + | DirectoryIndex index.php |
- | # systemctl reload httpd | + | |
+ | < | ||
+ | Options none | ||
+ | AllowOverride Limit | ||
+ | Require all granted | ||
+ | Options ExecCGI FollowSymLinks | ||
+ | AddHandler cgi-script .pl | ||
+ | </ | ||
- | ==== NGiNX vHOST ==== | + | < |
- | Haben wir als Webserver einen **[[http://nginx.org/|NGiNX]]** unter der Motorhaube ist die Konfiguration unseres vHOST auch kein großes Hexenwerk. | + | Require all denied |
+ | </ | ||
- | # vim / | + | |
- | <file http /etc/nginx/conf.d/ | + | <FilesMatch \.php$> |
- | # Django | + | SetHandler " |
- | # auf welchem Port soll der Server lauschen (HTTP: 80)? | + | #SetHandler "proxy:unix:/ |
- | | + | </ |
- | | + | |
- | | + | |
+ | ErrorLog | ||
+ | CustomLog ${access_log} combined env=!dontlog | ||
+ | CustomLog ${ssl_log} "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \" | ||
- | | + | |
- | | + | # Django : 2015-10-04 - TLS-Verschlüsselung mit Hilfe von mod_ssl |
- | | + | SSLEngine on |
+ | # Definition der anzubietenden Protokolle | ||
+ | SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 | ||
+ | # Definition der Cipher | ||
+ | SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384: | ||
+ | # Schlüsseldatei, | ||
+ | | ||
+ | # Zertifikatsdatei, | ||
+ | SSLCertificateFile | ||
+ | # Zertifikatsdatei des bzw. der Intermediate-Zertifikate(s) | ||
+ | SSLCertificateChainFile / | ||
+ | # Änderung der Cipherorder der Clients verneinen | ||
+ | SSLHonorCipherOrder on | ||
+ | # TLS 1.0 Kompremmierung deaktivieren (CRIME attacks) | ||
+ | SSLCompression off | ||
+ | # Online Certificate Status Protocol stapling zum Prüfen des Gültigkeitsstatus des Serverzertifikats. | ||
+ | SSLUseStapling on | ||
+ | SSLStaplingResponderTimeout 5 | ||
+ | SSLStaplingReturnResponderErrors off | ||
- | | + | |
- | auth_basic | + | # dass dieser nur noch verschlüsselt mit dem Server kommunizieren soll. |
- | | + | |
- | | + | |
- | # weitergeleitet werden? | + | # It's usually enabled by default anyway, so the role of this header is to re-enable the filter for |
- | | + | # this particular website if it was disabled by the user. |
- | index index.php; | + | # https://www.owasp.org/index.php/ |
+ | #Header set X-XSS-Protection "1; mode=block" | ||
+ | Header always set X-Xss-Protection "1; mode=block" | ||
- | | + | |
- | | + | # to disable content-type sniffing on some browsers. |
- | | + | # https:// |
- | | + | # currently suppoorted in IE > 8 http:// |
- | | + | # http:// |
- | | + | # ' |
- | } | + | # Sofern die Datei auch den entsprechenden MIME-Typ " |
+ | # CSS-Dateien nur als CSS interprätieren. | ||
+ | | ||
- | | + | |
- | | + | # and avoid clickjacking http://en.wikipedia.org/ |
- | | + | # if you need to allow [i]frames, you can use SAMEORIGIN or even set an uri with ALLOW-FROM uri |
- | | + | # https:// |
- | | + | ### |
- | include | + | |
- | } | + | |
- | | + | |
- | location ~ config.php { | + | |
- | deny all; | + | |
- | } | + | |
- | } | + | |
- | </ | + | |
+ | # Only allow JavaScript from the same domain to be run. | ||
+ | # don't allow inline JavaScript to run. | ||
+ | Header always set X-Content-Security-Policy "allow ' | ||
+ | #Header always set Content-Security-Policy " | ||
- | Den Parameter **fastcgi_pass** setzen wir im übrigen auf den Wert aus der Konfigurationsdatei // | + | # Add Secure and HTTP only attributes to cookies |
+ | Header edit Set-Cookie ^(.*)$ $1; | ||
- | Haben wir die Konfigurationsdatei vervollständigt, | + | # prevent Clickjacking Attack |
- | | + | #Header always append X-Frame-Options SAMEORIGIN |
+ | Header always set X-Frame-Options " | ||
- | nginx: the configuration file /etc/nginx/nginx.conf syntax is ok | + | # hkpk-stuff |
- | | + | Header always set Public-Key-Pins " |
+ | </ | ||
+ | </ | ||
- | Somit können | + | Haben wir die Konfigurationsdatei vervollständigt, |
- | # | + | # |
+ | | ||
+ | |||
+ | Ein reload unseres Apache Webserver reicht nun aus, um den neuen vHOST verfügbar zu haben. | ||
+ | # systemctl reload httpd | ||
Zeile 211: | Zeile 244: | ||
Die angezeigten Daten kopieren wir uns nun und speichern die beiden Dateien im Verzeichnis // | Die angezeigten Daten kopieren wir uns nun und speichern die beiden Dateien im Verzeichnis // | ||
- | # vim / | + | # vim / |
- | <file apache / | + | <file apache / |
RewriteEngine off | RewriteEngine off | ||
</ | </ | ||
AuthName " | AuthName " | ||
AuthType Basic | AuthType Basic | ||
- | AuthUserFile "/ | + | AuthUserFile "/ |
require valid-user | require valid-user | ||
</ | </ | ||
- | # vim /srv/www/html/ | + | # vim /srv/www/htmlMySQLDumper/ |
- | <file apache / | + | <file apache / |
</ | </ | ||
Zeile 230: | Zeile 263: | ||
<WRAP center round tip 85%> | <WRAP center round tip 85%> | ||
- | Der Paypal-Spendebutton auf der linken Seite beisst keineswegs! ;) Wer schon mal per Hand versucht hat sehr große Datenbankbackups zurück zu sichern, kann ein Lied davon singen, wie aufwändig dies sein kann. Also nicht zaudern, sondern direkt an den Programmauthor [[admin@daniel-schlichtholz.de|Daniel Schichtholz]] ein paar € spenden! | + | Der Paypal-Spendebutton auf der linken Seite beisst keineswegs! ;) Wer schon mal per Hand versucht hat sehr große Datenbankbackups zurück zu sichern, kann ein Lied davon singen, wie aufwändig dies sein kann. \\ |
+ | \\ | ||
+ | **__Also | ||
</ | </ | ||
Zeile 237: | Zeile 272: | ||
* **[[wiki: | * **[[wiki: | ||
* **[[http:// | * **[[http:// | ||
+ | |||
~~AUTOTWEET: | ~~AUTOTWEET: | ||
- | ~~DISCUSSION~~ | ||