Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| 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 [18.11.2024 19:14. ] (aktuell) – 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.2 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 6: | Zeile 7: | ||
| ===== Installation ===== | ===== Installation ===== | ||
| ==== PHP-Voraussetzungen ==== | ==== PHP-Voraussetzungen ==== | ||
| - | Für unseren komfortablen Weg der Sicherung unseres **MariaDB-Servers** | + | Für unseren komfortablen Weg der Sicherung unseres **MariaDB-Servers** |
| - | * **php** | + | * **php72u** (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:mailserver.guru|mailserver.guru]]** | + | * **[[centos:nausch.org|nausch.org]]** |
| 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 | + | Anschließend |
| - | # | + | # |
| 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 197: | Zeile 230: | ||
| {{ : | {{ : | ||
| - | Wir befinden uns nun auf der Hauptseite von **MySQLDumper**. Da wir noch keinen Verzeichnisschutz angelegt haben, wird uns der Hinweis **Dingend | + | Wir befinden uns nun auf der Hauptseite von **MySQLDumper**. Da wir noch keinen Verzeichnisschutz angelegt haben, wird uns der Hinweis **Dringend |
| {{ : | {{ : | ||
| 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 | + | Der Paypal-Spendebutton auf der linken Seite beißt |
| + | \\ | ||
| + | **__Also | ||
| </ | </ | ||
| Zeile 238: | Zeile 273: | ||
| * **[[http:// | * **[[http:// | ||
| - | ~~AUTOTWEET: | + | |
| - | ~~DISCUSSION~~ | + | |