wordpress: wp-config.php ausserhalb vom document root

Obwohl wordpress eine tolle blog-Software ist, liegen hier alle Dateien innerhalb vom öffentlich Zugänglichen Web-Verzeichnis. Die sensitivsten Daten, wie Benutzername und Passwort der Datenabnk liegen dabei in der Datei: wp-config.php. Zwar kann man diese Datei unter normalen Umständen nicht auslesen, aber bereits eine möglicherweise unentdeckte Server-Misskonfiguration kann den php interpreter deaktivieren und die Daten können im Klartext abgerufen werden.

Continue reading wordpress: wp-config.php ausserhalb vom document root

CentOS 7 installer passt nicht in die vmware Konsole

Wenn man in der vmware Konsole ein CentOS 7 installieren will passt der screen nicht ins Konsolenfenster, so dass gewisse buttons nicht sichbar sind. Dies erschwert oder verunmöglicht gar die Installation.

Um diesen Problem zu lösen geht man beim boot scree auf: Troubleshooting und wählt dann: Install system with basic video driver.

Related Links

IMAP/POP3 Server für lokale System Benutzer

Manchmal möchte man nur ein- oder zwei mailboxen auf einem Linux System auch über einen lokalen IMAP/POP3 Server abrufbar machen (z.B. für ein Ticketing System).

In diesem Fall braucht man kein komplexes Mailserver-Setup zu machen. Beim RHEL/CentOS dovecot Paket reicht es ein paar Zeilen in der dovecote-Konfiguration zu erstellen.

Continue reading IMAP/POP3 Server für lokale System Benutzer

Verwaiste DNS-Einträge erkennen

Betreibt man einen hosting DNS-Server kann es vorkommen das ein User seine Domain auf einen anderen DNS-Server zügelt, oder die Domain löscht, ohne dies dem DNS-Admin mitzuteilen. Die Folge sind verwaiste Zonenfile-Einträge auf dem DNS-Server.

Mittels dem Script: check_orphaned_dns_zones kann man einfach herauskriegen ob eine domain auf dem eigenen Nameserver wirklich noch diesen eingetragen hat und ggf. das Zonenfile der Domain entfernen.

Continue reading Verwaiste DNS-Einträge erkennen

LSI SAS1068E firmware flashen

Controller Beschreibung

SATA/SAS Controller mit dem LSI SAS1068E Chipsatz sind sehr beliebt für homeserver (ESX, usw.), da sie mittlerweile günstig zu haben sind und sie als re-brandete Modelle in Servern von IBM, DELL, HP, usw. weit verbreitet waren. Auch LSI selbst hatte eine solche Karte im Verkauf unter dem Namen SAS3081E-R.

Technisch gesehen handelt es sich hier jedoch nicht um einen RAID Controller, sondern um einen Host-Bus-Adapter (HBA) mit RAID Funktionen. Das heisst man könnte schon ein RAID-Array machen und das Betriebssystem erkennt die RAID Disks auch ohne zusätzlichen Treiber, doch die RAID Funktionalität selbst wird softwaremässig in der Firmware gemacht. Somit ist es von der Performance her nicht besser als ein Software-RAID welches man im Betriebssystem anlegt (z.B. mittels mdadm in Linux) und der einzige Vorteil besteht darin, dass man die RAID Volumes in Systemen ohne Software-RAID Funktionalität (z.B. ESX) benutzen kann.

Aus diesem Grunde gibt es von LSI zwei Firmware Versionen: Eine „IR“ (Integrated RAID) und eine „IT“ (Initiator Target). Letztere entfernt sämtliche RAID-Funktionen vom Controller und er lässt sich somit als reine SATA-Port Erweiterung nutzen, was für die meisten Anwendungen (wo man eh im Betriebssystem ein zuverlässigeres Software-RAID macht) ideal ist.

Ein weiterer Vorteil ist, dass er ohne die RAID-Funktionen noch ein bisschen schneller ist, wie folgender Test von mir zeigt:

Mit IR-Firmware:
lsi1068e-ir-performance

Mit IT-Firmware:
lsi1068e-it-performance

Ok, zwar nur ein paar MB/s, aber sind es nicht die kleinen Dinge die Zählen? 😉

Flashen

Das hin- und zurück flashen des Controllers ist ganz leicht:

Zuerst auf der LSI Download-Seite unter: „Product Family“ den Begriff: “ Legacy Host Bus Adapters“ dann als „Product“ „LSI SAS 3081E-R“ auswählen und bei „Asset type“ „Firmawre“ auswählen. Dann auf search klicken.

Das linux sasflash tool um den Controller zu flashen findet man in der Datei: Installer_P21_for_Linux.zip (Gibt auch eins u.a. für DOS und Windows) und die dazugehörige Firmware in der Datei: SAS3081ER_-Package_P21_IR_IT_Firmware_BIOS_for_MSDOS_Windows.zip.

Nun wird in ein linux gebooted (z.B. eine sysrescuecd) und das sasflash Programm auf den Server kopiert.

Mit ./sasflash -listall kann der Controller ausgegeben werden:

sysresccd sasflash # ./sasflash -listall
 
 ****************************************************************************
    LSI Corporation SAS FLASH Utility.
 
    SASFlash Version 1.30.00.00 (2011.08.24)
 
    Copyright (c) 2006-2011 LSI Corporation. All rights reserved.
 ****************************************************************************
 
        Adapter Selected is a LSI SAS 1068E(B3):
 
 Num   Ctlr      FW Ver     NVDATA   x86-BIOS     EFI-BSD    PCI Addr
-----------------------------------------------------------------------
 
1   1068E(B3)  01.27.86.00  2d.20  06.26.00.00  03.10.00.01  00:03:00:00
 
 
Finished Processing Commands Successfully.
        Exiting SASFlash.

Mittels ./sasflash -c 1 -list können Details zum Controller abgefragt werden:

sysresccd sasflash # ./sasflash -c 1 -list
 
 ****************************************************************************
    LSI Corporation SAS FLASH Utility.
 
    SASFlash Version 1.30.00.00 (2011.08.24)
 
    Copyright (c) 2006-2011 LSI Corporation. All rights reserved.
 ****************************************************************************
 
        Adapter Selected is a LSI SAS 1068E(B3):
 
Controller Number:              1
Controller:                     1068E(B3)
PCI Address:                    00:03:00:00
SAS Address:                    500605b-0-0125-1f00
NVDATA Version (Default):       0x2d20
NVDATA Version (Persistent):    0x2d20
Product ID:                     0x2704
Firmware Version:               01.27.86.00
NVDATA Vendor:                  IBM
NVDATA Product ID:              IBM ServeRAID BR
BIOS Version:                   06.26.00.00
BIOS Alternate Version:         N/A
EFI BSD Version:                03.10.00.01
FCODE Version:                  N/A
 
Finished Processing Commands Successfully.
        Exiting SASFlash.

„B-Version“ zeigt welche Firmaware zu nehmen ist, in diesem Fall: B3.
Das heisst wir haben diese zwei Firmware files:

  • 3081ERB3.fw: Die IR firmware für den Controller B3
  • 3081ETB3.fw: Die IT firmware für den Controller B3

Nun wird zuerst ein backup angelegt:

sysresccd sasflash # ./sasflash -c 1 -ubios bios.rom.bak -ufirmware firmware.fw.bak
 
 ****************************************************************************
    LSI Corporation SAS FLASH Utility.
 
    SASFlash Version 1.30.00.00 (2011.08.24)
 
    Copyright (c) 2006-2011 LSI Corporation. All rights reserved.
 ****************************************************************************
 
        Adapter Selected is a LSI SAS 1068E(B3):
 
        Executing Operation: Upload BIOS
 
        Upload Succesful!
 
        Executing Operation: Upload Firmware
 
        Upload Succesful!
 
 
Finished Processing Commands Successfully.
        Exiting SASFlash.

Danach wird der die neue firmware geflashed:

ysresccd sasflash # ./sasflash -o -f 3081ETB3.fw -b mptsas.rom
 
 ****************************************************************************
    LSI Corporation SAS FLASH Utility.
 
    SASFlash Version 1.30.00.00 (2011.08.24)
 
    Copyright (c) 2006-2011 LSI Corporation. All rights reserved.
 ****************************************************************************
 
        Advanced Mode Set
 
        Adapter Selected is a LSI SAS 1068E(B3):
 
        Executing Operation: Flash Firmware Image
 
                Checksum Passed: 00000000
 
                Verifying NVDATA Compatibility. . .
                NVDATA Versions Compatible
 
                Product ID and Vendor ID do not match.
                Would you like to flash anyway [y/n]? y
 
                Valid BootLoader Image verified.
 
                Flashing IT Firmware over IR Firmware!
                Would you like to flash anyway [y/n]? y
 
 
                Beginning Firmware Download
 
                Firmware Download: SUCCESSFUL!
 
                Verifying the image flashed correctly. . .
 
                Firmware Flash: SUCCESSFUL!
 
                Resetting Adapter:
                Adapter Successfully reset.
 
        Executing Operation: Flash BIOS Image
 
                Validating BIOS Image. . .
 
                BIOS Header Signature Valid.
 
                Checksum Passed: 00000000
 
                BIOS Image compatible with the SAS Controller.
 
                Attempting to Flash BIOS Image. . .
 
                BIOS Flash: SUCCESSFUL!
 
 
Finished Processing Commands Successfully.
        Exiting SASFlash.

Zum Schluss kann die neue Version verifiziert werden:

sysresccd sasflash # ./sasflash -listall
 
 ****************************************************************************
    LSI Corporation SAS FLASH Utility.
 
    SASFlash Version 1.30.00.00 (2011.08.24)
 
    Copyright (c) 2006-2011 LSI Corporation. All rights reserved.
 ****************************************************************************
 
        Adapter Selected is a LSI SAS 1068E(B3):
 
 Num   Ctlr      FW Ver     NVDATA   x86-BIOS     EFI-BSD    PCI Addr
-----------------------------------------------------------------------
 
1   1068E(B3)  01.33.00.00  2d.03  06.36.00.00  03.10.00.01  00:03:00:00
 
 
Finished Processing Commands Successfully.
        Exiting SASFlash.
sysresccd sasflash #
sysresccd sasflash # ./sasflash -c 1 -list
 
 ****************************************************************************
    LSI Corporation SAS FLASH Utility.
 
    SASFlash Version 1.30.00.00 (2011.08.24)
 
    Copyright (c) 2006-2011 LSI Corporation. All rights reserved.
 ****************************************************************************
 
        Adapter Selected is a LSI SAS 1068E(B3):
 
Controller Number:              1
Controller:                     1068E(B3)
PCI Address:                    00:03:00:00
SAS Address:                    500605b-0-0125-1f00
NVDATA Version (Default):       0x2d03
NVDATA Version (Persistent):    0x2d03
Product ID:                     0x2204
Firmware Version:               01.33.00.00
NVDATA Vendor:                  LSILogic
NVDATA Product ID:              SAS3081E
BIOS Version:                   06.36.00.00
BIOS Alternate Version:         N/A
EFI BSD Version:                03.10.00.01
FCODE Version:                  N/A
 
Finished Processing Commands Successfully.
        Exiting SASFlash.

Quellen

Suchen und Ersetzen während der Ausgabe

Das Suchen und Ersetzen in Dateien und Variablen wurde schon behandelt, doch das geht auch während einer Ausgabe, z.B. mit cat.

Hat man z.B. eine Datei zum einfügen einer Mail Adresse in verschiedene Datenbank Tabellen, so kann man die Beispieladresse bereits während der Ausgabe mit der richtigen ersetzen.

Datei: insert_mail_addr.sql

INSERT INTO users (email) VALUES ('user@example.com');
INSERT INTO admins (email) VALUES ('user@example.com');
INSERT INTO whitelists (email) VALUES ('user@example.com');

Nun will man diese Datei zwar nicht verändern, doch gleich während der Ausgabe die E-Mail Adresse mit: „webmaster@example.org“ ersetzen:

cat insert_mail_addr.sql | sed -e 's/user@example.com/webmaster@example.org/g'

Ausgabe:

INSERT INTO users (email) VALUES ('webmaster@example.org');
INSERT INTO admins (email) VALUES ('webmaster@example.org');
INSERT INTO whitelists (email) VALUES ('webmaster@example.org');

Man könnte so diese (dynamisch veränderte) Datei aber auch direkt in eine MySQL-Datenbank laden:

cat insert_mail_addr.sql | sed -e 's/user@example.com/webmaster@example.org/g' | mysql -uDBUSER -pDBPASS DBNAME

Will man Strings mit slashes (/) ersetzen kann man den Delimiter auch ändern, z.B.:

sed -e 's#/old/url/path/#/new/url/path/#g'

Das erste zeichen nach dem s ist der Delimiter.

Quellen

ESX Datastore wird nach reboot nicht automatisch gemountet

Nach Operationen mit Speichergeräten wird der Datastore nach einem Neustart des ESX nicht automatisch gemountet. Man muss immer erst auf Speicher -> Hinzufügen gehen.

Dies kann darin liegen, dass die UUID durcheinander gekommen ist.

Um dieses Problem zu lösen reicht es, wenn man nach einem reboot nicht die bisherige Signatur (UUID) beibehält, sondern eine neue erstellt. Die Daten werden dabei alle behalten, man muss jedoch danach die VMs aus der Bestandsliste entfernen und wieder neu hinzufügen.

esx-datastore-wird-nach-reboot-nicht-automatisch-gemountet-01

So geht man vor:

  • ESX rebooten (falls der Datastore schon gemountet ist)
  • im vSphere Client unter: Konfiguration auf Speicher gehen und „Speicher hinzufügen“ wählen
  • Nun die Festplatte auswählen und beim Dialog: „Optionen für das mounten“ „Neue Signatur hinzufügen“ wählen
  • Nach dem nächsten reboot sollte der Datastore wieder automatisch gemountet werden