Allgemeines
« Vorherige BeiträgemySQL: root Passwort ändern
Mittwoch, 21.07.2010Mit folgenden Befehlen können Sie das root Passwort Ihres mySQL Server ändern:
/usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h YourDomain.com password 'new-password'
Beachten Sie dazu auch unsere anderen Artikel:
- mySQL: Vergessenes (root) Passwort zurücksetzen
- mySQL: Alte MD5 Passwörter – OLD_PASSWORD()
- MySQL: Root Passwort ändern
PHP: Apache2 Version in Variable auslesen
Mittwoch, 21.07.2010Damit Sie auf einem Unix (Linux) System einfach die aktuelle Version des Apache WebServers herausfinden können, zeigen wir Ihnen ein PHP-Beispiel.
In dem PHP Script wird die Apache-Funktion “apache2ctl” genutzt, die die aktuelle Apache-Version auszulesen. Dieser Befehl wird mithilfe des PHP Befehles “passthru()” direkt an das Linuxsystem weitergegeben.
Hinweis:
Häufig ist auf “öffentlichen” Webservern aus Sicherheitsgründen die Nutzung einiger Befehle gesperrt. Dazu zählt häufig auch der Befehl “passthru()”. Wenn das Script bei Ihnen lokal auf dem Computer also einwadnfrei läuft und auf Ihrem Internetserver keine Daten zurück gibt, liegt diese Befehlssperre vor. Eine Möglichkeit, diese Sperre aufzuheben hat nur Ihr Web-Administrator (oder Provider).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php // PHP Version auslesen ob_start(); passthru("apache2ctl -v"); $ver = ob_get_contents(); if empty($ver) echo "passthru() disabled ?"; ob_end_clean(); $a = explode("\n", $ver); preg_match('/(server version: ){1}(.*)/i', $a[0], $v); $data[0] = $v[2]; preg_match('/(server built: ){1}(.*)/i', $a[1], $v); $data[1] = date("d.m.Y H:i:s", strtotime($v[2])); print_r($data); ?> |
PHP: Zugriff von Browsern außerhalb eines IP-Subnetzes unterbinden
Montag, 19.07.2010Mithilfe des folgenden PHP Scripts können Sie Besucher außerhalb des festgelegten IP Bereiches blockieren:
1 2 3 4 5 6 7 8 9 10 11 12 | <?php if (strncmp("192.168.0", $_SERVER["REMOTE_ADDR"], 9) != 0) { // Block access header("HTTP/1.0 403 Forbidden"); // header('Location: http://www.google.com'); exit; } else { // Allow access echo "Zugriff erlaubt ..."; } ?> |
In diesem Beispiel werden alle Besucher, deren IP Adresse nicht mit “192.168.0″ anfängt, blockiert.
Dieser IP Bereich wird nur LAN intern verwendet. Für die Filterung von Besuchern aus dem WAN (Internet) filtern Sie bitte auf die öffentliche IP Adresse Ihrer Webseitenbesucher. Passen Sie dabei auch die Länge der zu vergleichenden Zeichen an (im o.a. Beispiel werden die ersten 9 Zeichen verglichen). Diese können Sie sich mithilfe des folgenden PHP Scripts anzeigen:
1 2 3 | <?php echo $_SERVER["REMOTE_ADDR"]; ?> |
mySQL: Eindeutige ID (UID) erzeugen
Sonntag, 18.07.2010Damit Sie in einem SQL Statement eine eindeutige ID (unique ID = UID) nutzen können, steht Ihnen der Befehl “uuid()” zur Verfügung:
SELECT UUID();
Ergebnis:
f15be048-dfb8-102d-b15d-88b2e2560827
Hinweis:
In Verbindung mit einer aktiven Replikation kann diese Funktion derzeit noch nicht genutzt werden.
mySQL: IP Adresse in Integer umrechnen (und zurück)
Samstag, 17.07.2010Netzwerkadressen werden üblicherweise als String (vier punktgetrennte Oktette) übergeben.
Um diesen Text in eine Zahl (integer) umzurechnen, nutzen Sie die Funktion “inet_aton()”.
Natürlich kann diese Funktion auch nur Teil-IP-Adresse umwandeln.
Das folgende Beispiel zeigt die Anwendung:
SELECT INET_ATON('192.168.0.200');
Ergebnis:
3232235720
Die Zahl berechnet sich aus folgender Formel:
192×2563 + 168×2562 + 0×256 + 200 = 3232235720
Um diese Zahl wieder in eine gültige IP Adresse zu konvertieren, zeigen wir im folgenden Beispiel
die Anwendung des mySQL Befehls “inet_ntoa()”:
SELECT INET_NTOA(3232235720);
Ergebnis:
192.168.0.200
mySQL: Aktuelle mySQL Version auslesen
Freitag, 16.07.2010Benutzen Sie direkt in Ihrem SQL Statement die Funktion “version()”:
SELECT VERSION();
Ergebnis (Beispiel):
5.1.5-alpha-standard
Hinweis:
Endet die angezeigte Version mit dem Text “-log”, ist das Loggen (Logging) auf dem Server aktiviert.
Oracle: SQL Statements optimieren
Freitag, 16.07.2010Mit der Hilfe des folgenden Oracle SQL Befehles können Sie für alle SQL Befehle im SQL Cache herausfinden, wie häufig diese ausgeführt wurden und wieviele Blockzugriffe für die Verarbeitung notwenig waren.
SELECT to_char(executions,'999G999G990') "executions", to_char(buffer_gets,'999G999G990') "gets", to_char(buffer_gets/greatest(nvl(executions,1),1),'999G999G990') "gets je exec", to_char(round(100*(1-(disk_reads/greatest(nvl(buffer_gets,1),1))),2),'990D00') Trefferquote, sql_text FROM v$sql WHERE buffer_gets > 1000 ORDER BY buffer_gets DESC;
Zusätzlich wird Ihnen die “Trefferquote” des jeweiligen Befehls im Datencache angezeigt.
Durch diese Abfrage können Sie sehr schnell schlecht optimierte SQL-Befehle herausfinden.
Eine Trefferquote < 70% deutet meist darauf hin, dass in dem Fall eine Tabelle komplett ohne Index-Zugriffe gelesen wurde. Zur Optimierung sollten Sie dann einen weiteren (oder überhaupt einen) Index hinzuzufügen. Der Befehl kann danach die Daten schneller lesen.
Diese Statistik zeigt nur die Befehle, welche sich aktuell im SQL-Cache befinden. Um ein umfassendes Bild der auffälligen SQL Befehle zu erhalten sollten Sie den o.a. SQL Befehl also mehrfach täglich ausführen. Das Intervall hängt dabei stark von der Nutzung Ihrer Oracle Datenbank ab. Auch ein Aufruf zu unterschiedlichen Zeiten gibt aufschlußreiche Informationen an Sie weiter.
Die Einschränkung “buffer_gets > 1000″ hilft, die Ergebnismenge zu reduzieren. Durch diese Auswahl werden nur die relevanten Befehle angezeigt. Natürlich können Sie auch diesen Parameter frei anpassen.
VirtualMin: .. übersteigt das globale Größenlimit (.. Bytes) des Servers
Donnerstag, 15.07.2010Wenn Sie beim Senden einer (größeren) E-Mail von Ihrem Mailprogramm (E-Mail Client) die folgende Fehlermeldung erhalten, hilft Ihnen dieser Artikel.
Lösung (VirtualMin / WebMin)
Öffnen Sie Ihre VirtualMin Oberfläche und navigieren Sie zu folgender Option:
- Wählen Sie den “WebMin” Bereich
- Kategorie “Servers”
- Postfix Mail Server
- General Resource Control
Setzen Sie die Option “Max size of a message” auf den benötigten Wert. Standard ist “10240000″ (ca. 10 MB).
Anschließend sollten Sie den Postfixserver neu starten. Klicken Sie dafür in der Hauptübersicht der Postfix Einstellungen (direkt nach dem Klick auf den Menüeintrag “Postfix Mail Server” zu sehen) auf den Button “Stop Postfix” am Ende der Seite. Danach starten Sie den Server sofort wieder durch Anklicken des Buttons “Start Postfix”.
Lösung (direkt in der “postfix.conf”)
Öffnen Sie die Konfigurationsdatei Ihres Postfix Servers und setzen Sie die Option “message_size_limit” manuell auf den gewünschten Wert.
Danach sollten Sie den Postfix Server mit folgendem Befehl neu starten:
/etc/init.d/postfix restart
mySQL: Aktuell angemeldeten Benutzer anzeigen
Donnerstag, 15.07.2010Um innerhalb eines mySQL Befehles den aktuell angemeldeten Benutzer zu erhalten, nutzen Sie einfach die Funktion “current_user()”. Das folgende, einfache Beispiel zeigt die Anwendung:
SELECT CURRENT_USER();
Gleichzeitig wird der Hostname ausgegeben.
Ergebnis (Beispiel):
test@localhost
Eine weitere Funktion ist “user()”. Die Funktion liefert Ihnen den Benutzernamen, welchen Sie beim Herstellen der Verbindung zu Ihrem mySQL Server eingegeben haben. Zusätzlich wird der Clienthost ausgegeben, über den die Verbindung hergestellt wurde. Der Wert kann sich von dem von der o.a. Funktion “current_user()” unterscheiden.
SELECT USER();
Um aus der Funktion “user()” nur den aktuellen Benutzernamen zu erhalten, nutzen Sie folgenden SQL Befehl:
SELECT SUBSTRING_INDEX(USER(),'@',1);
Windows: Netzwerkbrücke lässt sich nicht löschen
Mittwoch, 14.07.2010Wenn sich eine Netzwerkbrücke aus Ihren Verbindungen nicht mehr löschen lassen möchte, verhilft Ihnen dieser Artikel evtl. zur Lösung.
Eine Netzwerkbrücke entsteht durch das manuelle Überbrücken zweier vorhandener Netzwerkkarten auf Ihrem Computer.
Sollte beim Löschen einer Netzwerkbrücke die Fehlermeldung
Ein unerwarteter Fehler ist beim Konfigurieren der Netzwerkbrücke aufgetreten
auftreten und Sie keine Möglichkeit mehr für Einstellungen haben, folgen Sie der kurzen Anleitung:
- Öffnen Sie den Geräte Manager
- Suchen Sie die gewünschte Netzwerkbrücke (MAC-Brückenimport)
Wichtig: Nicht die Netzwerkkarte ! - Löschen (nicht deaktivieren) Sie die Netzwerkbrücke
