Defekte Parallels Plesk MySQL Datenbank wiederherstellen

Manchmal geht die Plesk MySQL Datenbank beschädigt. Dies passiert häufig nach dem wiedereinspielen eines Backups auf VPower Server oder einem Stromverlust bei laufendem Server.

Mit ein paar einfachen Schritten kann jedoch das Backup, das Plesk selbst anlegt genutzt werden um Odin Plesk wieder in Funktion zu bringen.

MySQL Datenbank Stopen

MySQL Datenbank ohne Netzwerk und Benutzerverwaltung starten

optional, so ohne Fehler überhaupt möglich, letztes Backup der tabellen

MySQL Datenbanken ‚psa‘ und ‚mysql‘ entfernen

MySQLdump aus /var/lib/psa/dumps/mysql.daily.dump.0.gz in die Datenbank einspielen

MySQL Datenbank neu starten

Apache, Zopfli – vorkomprimierte Dateien

Internetseiten können, wenn die Dateien komprimiert sind, da weniger Daten übertragen werden müssen, deutlich schneller aufgebaut werden.

Kompression der Daten mit Googlels Zopfli

Google hat im April 2013 auf github veröffentlicht. Die Zopfli deflate Implementierung kann deutlich besser komprimieren als das Standard GNU Gzip Program.
Google Zopfli ist zu finden unter: https://github.com/google/zopfli
Nach dem der Google Anleitung folgend Zopfli kompilliert und Installiert ist kann mit der folgenden Shellzeile eine Datei komprimiert werden.:

Um alle, in diesem Beispiel „CSS Dateien“ zu komprimieren kann mit einer Schleife nach allen Dateien Dateien die auf .css enden gesucht werden und diese an Zopfli übergeben werden.

Auslieferung der mit Zopfli Komprimierten Dateien mit dem Apache Webserver

Bei nutzung eines Apache-Webservers ist ein möglicher Trick, das mit mod_rewrite jedem Browser der gzip unterstützung bietet andere Dateien ausliefert werden können als den Browsern die keine gzip Unterstützung anbieten. Das schöne dabei ist das  solange keine entsprechende Datei vorhanden ist, der Browser die Ursprungsdatei erhält.

Eine Beispiel .htaccess Datei:

In der ersten Zeile wird mod_rewrite aktiviert, in der Zweiten Zeile wird gefiltert, das die filgenden Regeln ausschließlich befolgt werden wenn der Request Header die Antwort als gzip komprimierten Datenstrom akzeptiert. In der dritten Zeile werden nur Dateien akzeptiert die auf .css enden.
Die vierte Zeile sucht im Dateisystem ob eine Datei gleichen Namens mit der Dateierweiterung .gz existiert.
Die fünfte Zeile liefert anstelle der .css Datei die .css.gz Datei aus.

Die Rechenzeit die der Apache Webserver dafür benötigt ist zum glück minimal.

Ergänzung durch einen „Automatismus“

Ich persönlich nutze gerne einen make Makefile um nach Änderungen schnell alle Dateien wieder zu komprimieren.

 

Hostkeys und Moduli für sshd erneuern

Bei einem neu eingespielten Raspberry Pi Betriebssystem Image sollten die Hostkeys und die Moduli Datei des SSH Dienstes sshd ausgetauscht werden.

Die Hostkeys dienen der Authentifizierung des Servers und, zusammen mit der Moduli Datei, der Initialisierung der Verschlüsselung. Um die Verschlüsselung nicht angreifbarer zu halten als unbedingt notwendig sollten die Moduli und Keys für jeden Computer unterschiedlich sein.

1.) löschen der alten Hostkeys und der Moduli Datei von sshd

2.) Hostkey für sshd neu generieren

3.) Moduli Kandidaten für sshd generieren und wählen

# moduli kandidaten generieren

# sichere kandidaten wählen

Wenn jetzt, nach diesem Hostkey und Moduli Update eine Verbindung zu disem SSH-Server hergestellt werden soll wird die Fehlermedung „WARNING: POSSIBLE DNS SPOOFING DETECTED!“ und die Fehlermeldung „WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!“ angezeigt. Mit ssh-keygen kann der alte Hostkey aus der known_hosts Datei entfernt werden.:

Netzwerk Benchmark mit iperf

TCP Netzwerk-Geschwindigkeit via iPerf zwischen einem Windows und einem Linux Server prüfen.

iPerf ausführung

Unter Windows den iPerf-Server starten

durch die Option -s startet iperf im Servermodus und lauscht auf Port 5001. Alternativ kann via -p oder –port ein Port angegeben werden auf dem iperf lauschen soll.

Unter Linux mit dem iPerf Client auf den Server zugreifen

Interval: Wie lange der Test ausgeführt wurde
Transfer: Welche Datenmenge übertragen wurde
Bandwidth: Die bei der Übertragung erreichte Bandbreite

Auch hier kann wieder mit der Option -p oder –port der Port angegeben werden den iperf verwenden soll.

iPerf startet dann eine Netzwerkverbindung zum angegebenen Server und überträgt Zufallsdaten.

iPerf ist aktuell für Windows, Linux, Android, MacOS X, FreeBSD, OpenBSD, NetBSD, VxWorks und Solaris verfügbar.

Download des Quellcodes unter https://iperf.fr/

Hörbücher vom mp3 nach AAC umwandeln

Ich versuche mich hier an einer einfach zu folgenden Anleitung nach der das umwandeln eines im mp3 Format gespeicherten Hörbuchs in das AAC Format jedem gelingen Sollte.

Vorbereitungen

Voraussetzungen das dies gelingt sind zwei Tools, der Nero AAC Encoder und das Tool „sox“.:

In meinem Beispiel habe ich die im Ordner „win32“ des Zip-Archives NeroAACCodec-1.5.1.zip enthaltene Datei „neroAacEnc.exe“ auf einen USB Stick „e:“ entpackt. Die Datei sox-14.4.2-win32.zip entpackte ich ebenfalls nach „e:“ und benannte den entstandenen Ordner „sox-14.4.2“ benannte ich um in „sox“.

SOX kann ohne weiteres leider keine mp3 Dateien Lesen, in das SOX-Verzeichnis muss die LibMAD (Lib Mpeg Audio Decoder) kopiert werden welche hinter dem folgenden Link gefunden werden kann:
http://ossbuild.googlecode.com/svn/trunk/Shared/Build/Windows/Win32/bin/libmad-0.dll

Für den Fall das wir irgendwann einmal mp3 Dateien mit Sox erzeugen möchten brauchen wir auch den mp3 Lame Encoder. Auch dieser wird in das SOX-Verzeichnis kopiert.
http://ossbuild.googlecode.com/svn/trunk/Shared/Build/Windows/Win32/bin/libmp3lame-0.dll

mp3 in Wave Dateien „Entpacken“

Hörbuch Ordner mit e: auf das Laufwerk des Hörbuchs wechseln, im Anschluss mit cd „hörbuch“ in den Hörbuch Ordner wechseln und die beiden Ordner „mp3“ und „wav“ anlegen.

Im Anschluss die mp3 Dateien in den Ordner mp3 verschieben:

Die MP3 Dateien entpacken, hier wird je nach Länge des Hörbuchs sehr viel Platz beanschlagt, um die 10 MB je Minute Audiomaterial.

Wave Dateien AAC Codieren

Nach dem das Audiomaterial wieder entpackt vorliegt kann der nero AAC Encoder NeroAacEnc auch wieder etwas mit dem Material anfangen. Mit der folgenden Schleife werden alle auf „.wav“ endenden Dateien von neroAacEnc in das aktuelle Verzeichnis als .aac Datei mit einer Qualität von 0,25 gespeichert.:

Die Dateierweiterung „.aac“ hat es keine nähere bewandnis. Die legitimen Dateierweiterungen für das MPEG-2 Dateiformate der Ausgabedatei sind .aac, .3gp, .mp4, .m4a, .m4b, .mpg und .mpeg jedoch spielt die Dateierweiterung für den Inhalt der Datei keine Rolle.

Zusatzinformationen

Ich habe mit dem zusammenzufügen der AAC Dateien und mit Kapietelmarkern und Covern in den zusammengefügten Audiobüchern experimentiert, genau wie dies im „m4b“ Audiobook Format von Apple vorgesehen ist. Leider bietet dies keine Forteile im von mir präferierten „Smart AudioBook Player“

Linux Desktop als Stream im Netzwerk bereitstellen

manchmal wünsche ich mir den Linux-Desktop riesengroß auf meinem Projektor im Wohnzimmer darzustellen. Meinen PC zum Projektor tragen, Steckdosen und langes HDMI Kabel suchen mag ich aber nicht. Da ich meinen Projektor jedoch über einen Raspberry Pi mit Kodi-Mediacenter betreibe kann ich mit Hilfe von avconv (oder, wer dies lieber mag, auch mit ffmpeg die Optionen sind die gleichen) das Audiosignal und Videobild vom meinem Desktop aufnehmen und das Ergebnis zum Kodi streamen.

X11 Desktop als Stream Aufnehmen

Den Aufgezeichneten Stream sende ich via VLC in mein lokales Netzwerk. Auf meinem XBMC erstelle ich dann eine neue Quelle, in der eine  STRM Datei liegt.

Die Audioquelle ist hier Alsa (-f alsa), über die ich den Stereoton (-ac 2) von dem Standard Audiogerät der gewählten Soundkarte (-i default) aufnehme.
Die Videoquelle ist der x11 Desktop (-f x11grab), deb ich mit einer Bildwiederholrate von 25 Bildern in der Sekunde (-r 25) und in der Auflösung des Desktops 1920×1080 Pixel aufnehme. Der Linux Desktop :0.0, dies ist der erste gestartete X11 Desktop, wird aufgenommen (-i :0.0).

Die Kompression der Audioaufnahme soll mit mp3 in den Standarteinstellungen erfolgen (-acodec libmp3lame), als Videocodec soll x264 (libx264) mit dem Preset „Ultrafast“ und allen verfügbaren CPU Kernen um die Kompression zu verteilen. Die Ausgabe soll in einem MPEG TS Container erfolgen (-f mpegts).

Dann wird das Fertige Video an vlc übergeben (vlc -I dummy -) und an das Netzwerk ausgegeben.

den Stream Wiedergeben

Wenn der Stream auf dem Linux-PC gestartet wurde kann er im Kodi-Mediacenter mit Hilfe einer, folgend beschriebenen, STRM Datei geöffnet werden.

Die STRM Datei „Stream.strm“ ist eine Textdatei, Sie enthält das Protokoll, die IP-Adresse des Streamenden Computers und den Port über den der Stream ausgegeben wird.:

Vice Konfiguration für das SpielRegal

Im SpieleRegal verwenden wir die EMulationStation, für den RaspberryPi greifen über das GPIO-Interface Arcade-Knöpfe auf fest vorgegebene Buchstaben Tasten. In dieser Anleitung beschreibe ich die Vice Konfiguration, um die Cursortasten dem Joystik in Port 2 des C64, die Taste A der Feuertaste des Joystik und die für das Spiel Turrican die benötigten Tasten [Space] für die Energielinien, [F7] für die Granate und [CTRL] um den Pause-Modus zu aktivieren.

Die Tastaturbelegung für den C64 Emulator Vice wird in der Datei /home/pi/.vice/sdl-keymap.vkm festgelegt. diese Erhält den Folgenden Inhalt.:

Die in den Bereichen /* Kommentar */ enthaltenen Kommentare erklären die Funktion der vorangegangenen Zahlenfolgen. Die erste Zahl ist der Tastaturcode, die zwei bis drei folgenden Tahlen was im C64 ankommen soll.

Die Joystick belegung kommt in die Datei /home/pi/.vice/sdl-joymap-C64.vjm und lautet wie folgt.:

Und zum Exit des Emulators legen wir noch die Datei /home/pi/.vice/sdl-hotkey-C64.vkm mit dem folgenden Inhalt an.:

Hier wird das Verlassen des EMulators auf die Taste [ESC] gemappt, ursprünglich ist dies die Tastenkombination [Alt]+[X]

Zu guter letzt geben wir in der Datei /home/pi/.vice/sdl-vicerc noch an, welche Konfigurationsdateien der C64 Emulator Vice laden soll:

Im Anschlus funktioniert die Steuerung des Vice C64 Emulators vollständig über die Arcade Knöpfe. Das Anschließen einer Tastatur an den Raspberry Pi ist zum Spielen von C64 Spielen nicht länger notwendig.

Apache mit vorkomprimierten Dateien

Dateien gz koprimiert vom Webserver ausliefern zu lassen kann internetseiten erheblich beschleunigen. Diese Zeit lässt sich noch verkürzen, wenn die Dateien nicht erst beim Ausliefern komprimiert werden sondern bereits als fertig komprimiert vom Server vorliegen und direkt ausgeliefert werden können.

Dateien gz koprimiert vom Webserver ausliefern zu lassen kann Internetseiten erheblich beschleunigen. Leider kommt es bei der Anfrage immer zu einer kurzen Verzögerung, wärend mod_gzip oder mod_deflate die Dateien Komprimieren.
Diese Zeit lässt sich erheblich verkürzen, wenn die Dateien nicht erst bei der Auslieferung komprimiert werden sondern bereits als fertig komprimierte Dateien auf dem Server vorliegen und direkt ausgeliefert wird.

Auch lassen sich viele Dateien mit Zopfli erheblich besser komprimieren als mit dem klassischen gzip Programm.

Mit mod_rewrite kann auf einfache Weise anstelle einer Datei, die parallel zur Datei hinterlegte *.gz Datei augeliefert werden.

Wenn eine Dateien deren Name der auf die Dateierweiterung „.css“ endet von einem Browser der bei der Anfrage der Datei angegeben hat das er gzip Unterstützung bietet angefragt wird, prüft mod_rewrite ob eine Datei gleichen Namens als „.css.gz“ im gleichen Verzeichnis vorliegt. Sollte die entsprechende Datei vorliegen, wird diese Datei an stelle der angefragten „.css“ Datei mit gzip header ausgeliefert.

Die letzte angegebene Zeile kann für weitere Dateierweiterungen angepasst werden. Für JavaScript Dateien wird jedes Vorkommen von „.css“ auf „.js“ geändert.:

Eine Kompression ist für alle statischen Dateien Sinnvoll, die nicht andeweitig bereits komprimiert vorliegen. Besonders ist eine Vorkompression für Javascript Dateien (.js), HTML-Dateien (.html, .htm), XML-Dateien (.xml), Textdateien (.txt) sowie Stylesheets (.css) angebracht.

FTP Geschwindigkeit von der Linux Shell aus messen

Manchmal erscheinen FTP Server unglaublich langsam. Um einen realistischen Geschwindigkeits Test durchzuführen habe ich mir den Folgenden Weg überlegt.

1.) Testdateien erstellen

2.) Verbindung zum FTP Server herstellen

3.) Die Testdateien zum Server übertragen

4.) Die Testdateien vom Server zurück übertragen

5.) Aufräumen

6.) Auswertung

Die Übertragung der Dateien erfolgte in meinem Beispiel mit mindestens (5655.2 kB/s) zum FTP Server und mit mindestens (9039.9 kB/s) vom Server zum Computer.

Wenn ihr einen Besseren Weg kennt die FTP Geschwindigkeit zu messen, meldet euch

Webhosting Datei und Ordnerrechte korrigieren.

Da viele dubiose Anleitungen behaupten das in Webhosting Paketen, Dateien ungewöhnliche Rechte erhalten sollen. Die meisten Anleitung sind der Überzeugung das die einzigen gültigen Rechte für einen Ordner 777 seien, das jedem alles erlaubt sein soll.
Manchmal sollen auch völlig chaotische Dateirechte, möglichst kreativ vergeben werden.

Die meisten Provider geben jedoch die Rechte 644 für Dateien und 755 für Ordner vor. Häufig werden, wenn „andere“ Schreibrechte bekommen auch die Aufrufe über http blockiert, ein freundliches „403 Forbidden“ wird dann den Besuchern angezeigt.

Dieses Rechtegewirr kann jedoch durch 3 einfache Zeilen in der Linux Shell schnell wieder behoben werden.