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

Adaptec RAID 5405 in ESX 6.5 Überwachen

Um einen Adaptec RAID Controller auf einem ESX Host zu überwachen muss das VIB arcconf installiert werden, welches man unter den Storage Manager Downloads findet (Adaptec CIM Provider v7.31.18856 for VMware).

[stextbox id=“warning“ caption=“Achtung: Keine neueren Versionen verwenden!“]
Auch wenn es im ZIP-Archiv nur ein Verzeichnis für „ESX 5.0“ gibt, lässt sich dieses auch in neueren ESX Versionen wie 5.5. oder 6.5 verwenden.
Man mag nun versucht sein, einfach den CIM Provider einer neueren RAID Karte zu nehmen, doch das funktioniert beim alten RAID-Controller nicht!

Deswegen immer die alte „bewährte“ Version nehmen (cim_vmware_v7_31_18856\cim\esxi5_0\cim\vmware-esx-provider-arcconf.vib).
[/stextbox]

Nun lädt man die Datei: vmware-esx-provider-arcconf.vib per SCP/SFTP auf den ESX host ins Verzeichnis /tmp/.
Vor dem installieren muss noch der „acceptance-level“ auf „CommunitySupported“ umgestellt werden, danach kann man das VIB in der ESX-Shell installieren:

esxcli software acceptance set --level=CommunitySupported
esxcli software vib install -v /tmp/vmware-esx-provider-arcconf.vib
reboot

Hinweis: Auch wenn es in der Ausgabe heisst: Reboot Required: false, so muss trotzdem der ESX host neu gestartet werden!

Da das tool RemoteArcconf, mit dem später von einem anderen host der Status abgefragt werden kann das device file in: /dev/aac0 sucht, es bei neueren ESX Versionen aber: /dev/aac ist, muss nach dem reboot in der ESX-Shell noch einen symlink erstellt werden:

ln -s /dev/aac /dev/aac0

Kleiner Wermutstropfen: Da ESX keine Änderungen im filesystem speichert muss dieser symlink bei jedem neustart wieder erstellt werden.

Ab ESX 6.5 muss man nach der Installation ausserdem noch den CIM Secure Server aktivieren.

Auf dem remotehost brauch es ebenfalls das tool RemoteArcconf; dieses ist im oben erwähnten Paket enthalten.

[stextbox id=“note“ caption=“Hinweis für ESX 5.5″]
Enthält man auf ESX 5.5 trotzdem die Meldung:

[root@linux ~]# arcconf GETCONFIG 1
Controllers found: 0
Invalid controller number.

kann das daran liegen, dass der Installierte ESX Treiber (scsi-aacraid) zu alt ist und aktualisiert werden muss:

~ # esxcli software vib list | grep aac
scsi-aacraid                   1.1.5.1-9vmw.550.0.0.1331820          VMware   VMwareCertified   2014-11-27

Dazu lädt man sich den neuen Treiber herunter und installiert diesen:

~ # esxcli software vib install -v /tmp/Adaptec_Inc_bootbank_scsi-aacraid_5.5.5.2.1.41024-1OEM.550.0.0.1331820.vib
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: Adaptec_Inc_bootbank_scsi-aacraid_5.5.5.2.1.41024-1OEM.550.0.0.1331820
   VIBs Removed: Adaptec_Inc_bootbank_scsi-aacraid_5.5.5.2.1.40301-1OEM.550.0.0.1331820
   VIBs Skipped:
~ # esxcli software vib list | grep aac
scsi-aacraid                   5.5.5.2.1.41024-1OEM.550.0.0.1331820  Adaptec_Inc  VMwareCertified   2015-09-11

Nach anschliessendem reboot und neu mounten des storages funktioniert arcconf:

[root@linux ~]# arcconf GETCONFIG 1
Controllers found: 1
----------------------------------------------------------------------
Controller information
----------------------------------------------------------------------
   Controller Status                        : Optimal
   Channel description                      : SAS/SATA
   Controller Model                         : Adaptec 5405

[/stextbox]

[stextbox id=“alert“ caption=“Achtung: Keinesfalls unter neueren ESX Versionen machen!“]
Der oben beschriebene Vorgang ist nur für ESX 5.5 nötig, bei neueren ESX Version (z.B: 6.5) passt der Standardtreiber.
Installiert man hier den andern Treiber ist das fatal, denn dann kann ESX überhaupt nicht mehr auf den storage zugreifen und da das Standard VIB entfernt wurde, bleibt nur noch eine Neuinstallation des ESX!
[/stextbox]

Quellen