[PHP] Fatal error: Call to undefined function yaml_parse_file()

Tags: Allgemein | Apache | Debian (Linux) | PHP | Webserver Kommentieren

Dieser Fehler besagt, dass die Extension „yaml“ nicht geladen wurde. Dies kann man beheben, indem man in der entsprechenden php.ini (z.B. /etc/php5/apache2/php.ini) die Zeile

hinzufügt und anschließend der Webserver neu startet.

Als Position in der php.ini bietet sich der folgende Bereich an:

 

, , , , ,

systemd[1]: Failed to start System Logging Service.

Tags: Debian (Linux) Kommentieren

Bei einem simplen Update meines Debian-Servers (8.2 => 8.3) brach der Update-Prozess ab, da der Dienst rsyslog nach dem Update nicht neu gestartet werden konnte:

In den Griff bekam ich das Problem, indem ich manuell alle laufenden Prozesse von rsyslog beendete:

Anschließend lief die Neu-Installation problemlos durch:

 

Debian: Festplatte mittels parted auf GPT partitionieren

Tags: Betriebssystem | Debian (Linux) | Raspbian (Raspberry Pi) Kommentieren

Warum parted, wenn auch fdisk funktioniert?

 fdisk arbeitet mit MBR, parted mit GPT – zwei verschiedene Formate, Partitionen auf eine Festplatte zu schreiben. Der Grund, weshalb ich hier auf GPT zurückgreife anstatt das allseits bekannte und beliebte MBR, ist, dass MBR nur Partitionen bis 2TB unterstützt.

Partitionieren der Festplatte

Für die folgenden Schritte ist das Programm parted nötig. Dieses kann mittels

nachinstalliert werden.

  1. Untersuchen der aktuellen Festplattenkonfiguration:

  2. Untersuchen der Partitionierung der entsprechenden Festplatte (in diesem Falle /dev/sdb):

  3. Starten von parted mit der gewählten Festplatte /dev/sdb:

  4. Anzeigen der gesamten angeschlossenen Festplattenkonfiguration:

  5. Formatieren der neuen Partition als ext4:


    Die 1 in sdb1 ist übrigens äußerst wichtig, da ihr ansonsten die gesamte Festplatte ohne Partitionen formatiert, was unter umständen später Probleme bereiten kann (es funktioniert, wäre jedoch nicht zu empfehlen).
  6. Mounten unserer neuen Partition:

Debian-System mit Key-Authentifikation

Tags: Allgemein | Debian (Linux) | macOS / OS X (Mac) | Raspbian (Raspberry Pi) | Webserver Kommentieren

OS X / Linux

Im Folgenden beschreibe ich, wie das Ganze mit einem Linux- oder Mac-Client beim Zugriff auf einen Linux-Server funktioniert.

Lokal: Key erstellen

Key übertragen

Remote: Key zu den authorized_keys hinzufügen

Lokal: Key automatisch mit senden

Troubleshooting

Fehler: „Could not open a connection to your authentication agent.“

In diesem Fall hilft es meist, den SSH-Agent zu starten:

Quellen:

Langsame Suchfunktion in xt:commerce 3

Tags: Allgemein | Debian (Linux) | MySQL | MySQL-Server | Webserver | xt:Commerce Kommentieren

Ein Kunde hatte das Problem, dass der auf unserem Server installierte xt:commerce 3 teilweise so hohen Datenbank-Load verursachte, dass der MySQL-Server abrauchte und somit den ganzen Server kurzzeitig in einer Nicht-Erreichbarkeit stürzte. Zwar war schon länger ein Update auf eine neue xt:commerce-Version geplant, jedoch befand sich der neue Shop noch in der Entwicklung und es musste kurzfristig eine Lösung erarbeitet werden, da die Ausfälle sich häuften (teilweise bis zu 3x am Tag).

Relativ schnell entpuppte sich die Suchfunktion des xt:commerce als ausschlaggebend, welche bei meinen Tests bei einer Volltextsuche meist zwischen 40 und 50 Sekunden benötigte, dabei den MySQL-Server komplett belastet – nun stelle man sich dies am Tages-Hoch mit hunderten Besuchern vor.

Mit den folgenden Umstellungen in der MySQL-Datenbank lässt sich die Suche durch einfaches Setzen von Indizes stark beschleunigen:

Tabelle „products_description„:

  • products_id
  • language_id
  • products_name
  • products_description (FULLTEXT)
  • products_short_description (FULLTEXT)
  • products_keywords

Tabelle „products_options„:

  • language_id
  • products_options_name

Tabelle „products_attributes„:

  • products_id
  • options_id

Tabelle „products_options_values„:

  • language_id
  • products_options_values_name

Tabelle „specials„:

  • products_id

Wichtig ist, dass die neuen Indexes eine möglichst hohe Kardinalität besitzen (also viele verschiedene Werte), damit eine Performancesteigerung erreicht werden kann.

Quellen

  • http://forums.xt-commerce.com/topic/60364-suchfunktion-sehr-langsam-sessions/
  • http://thomas.eses.name/mysql-indexe-richtig-setzen/

Debian: Befehl automatisch aktualisieren (watch)

Tags: Debian (Linux) | Raspbian (Raspberry Pi) Kommentieren

Um die Ausgabe eines Befehls zu beobachten, bietet sich das Programm watch an, das in angegebenem Zyklus die Bildschirmausgabe aktualisiert:

Beispiel

Das folgende Beispiel überwacht die aktuelle RAM-Belegung in /proc/meminfo und aktualisiert sich jede Sekunde. Zudem werden die Veränderungen hervorgehoben:

Weiterführende Informationen

, , , , ,

Debian: Hardwareumgebung auslesen

Tags: Betriebssystem | Debian (Linux) | Raspbian (Raspberry Pi) Kommentieren

Installierte CPU mit Taktfrequenz auslesen

Um die auf dem aktuellen System installierten CPU inkl. Taktfrequenz auszulesen, reicht es, das folgende Kommando auszuführen. Hierzu sind nicht einmal root-Rechte nötig:

Installierten RAM auslesen

Der oben links unter „total“ in der Zeile „Mem:“ angegebene Wert ist der Speicher in Megabyte.

Angeschlossene Storage-Devices (Festplatten) auslesen

Um alle angeschlossenen Geräte am System anzuzeigen:

Beispiel-Ausgabe:


NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 28,8G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 1,3G 0 part [SWAP]
sr0 11:0 1 1024M 0 rom

Quellen

  • http://wiki.ubuntuusers.de/lsblk

Festplatten-Größe auslesen (Gesamt-Speicherplatz)

Debian: Error: Driver ‚pcspkr‘ is already registered, aborting

Tags: Allgemein | Betriebssystem | Debian (Linux) Kommentieren

Bei Start von Debian taucht die folgende etwas verwirrende Meldung auf:

Waiting for /dev to be fully populated... [...]
[...] Error: Driver 'pcspkr' is already registered, aborting

Lösung:

Blacklisten des Moduls „snd-pcskr“:

Quellen

Debian: Einen Benutzer zu einer Gruppe hinzufügen

Tags: Allgemein | Debian (Linux) | Raspbian (Raspberry Pi) Kommentieren

, , ,

exim paniclog /var/log/exim4/paniclog has non-zero size, mail system possibly broken

Tags: Debian (Linux) | Raspbian (Raspberry Pi) | Webserver 1 Kommentar

Mein Raspberry Pi sandte mir regelmäßig die Fehlermeldung, dass das paniclog des exim4 MTA nicht leer ist. Das war natürlich extrem nervig:

exim paniclog /var/log/exim4/paniclog has non-zero size, mail system possibly broken

Zusätzlich erhält man hier ja auch immer noch einen Auszug aus der Log-Datei:

2014-11-17 22:36:49 IPv6 socket creation failed: No such file or directory
2014-11-17 22:52:13 IPv6 socket creation failed: Address family not supported by protocol
2014-11-17 22:56:38 IPv6 socket creation failed: Address family not supported by protocol

Wie man hier nun erkennt, versucht exim4, die IPv6-Funktionalität herzustellen, scheitert jedoch. Da ich IPv6 dazu auch gar nicht brauche, habe ich mich dazu entschlossen, das Feature einfach zu deaktivieren (User: root):

  1. In der Datei /etc/exim4/update-exim4.conf.conf die Variable dc_local_interfaces bearbeiten und den Wert für die IPv6-Adresse der lokalen Loopback-Netzwerkschnittstelle „::1“ entfernen
  2. Dann noch das paniclog leer machen:
  3. Und den Dienst neu starten:

, ,

TOP