Apache-Error: File does not exist: favicon.ico

Tags: Apache | Webserver Kommentieren

Fehlt auf einer Website das ico-Favicon (/favicon.ico), so wird bei jedem Request (Browser machen diesen Request automatisch) eine Fehlermeldung in das Apache-Error-Log geschrieben. Das erschwert nicht nur die Übersicht, sondern bläht die Datei auch unnötig auf. Eine solche Meldung im Folgenden:

 File does not exist: /var/www/htdocs/favicon.ico

Um diese Meldung zu unterbinden, muss in der .htaccess nur das Folgende eingefügt werden:

 Redirect 404 /favicon.ico

Anschließend werden die Requests nicht mehr ins Error-Log geschrieben.

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:

, ,

„ERR_CONNECTION_RESET“ (MediaWiki) im Chrome nach Debian Update

Tags: Apache | Debian (Linux) Kommentieren

Anlässlich des „SSL Heartbleed“-Bugs aktualisierte ich alle Systeme, was soweit so automatisch auch ganz gut funktionierte. Lediglich ein auf SSL betriebenes MediaWiki klagte über nicht geladene Script- und Style-Ressourcen, die das visuelle Bild komplett zerstörten. Mein Chrome meldete in der Konsole stets ERR_CONNECTION_RESET.
Nach einigen Tests und Recherchen war das Problem leider nicht ausfindig zu machen. Auch ein Deaktivieren des mod_pagespeed, mehrfache Neustarts des Apache und eine Überprüfung der maximalen Verbindungsanzahl brachte mich nicht weiter, bis ich auf mod_spdy stieß, was ja in direkter Verbindung mit SSL steht. Nach kurzer Recherche hieß es auf der Projektseite (https://code.google.com/p/mod-spdy/):

SECURITY UPDATE (8 Apr 2014): All mod_spdy users should upgrade to mod_spdy 0.9.4.2 immediately to fix the heartbleed bug in mod_spdy’s linked version of OpenSSL. See  issue 85  for details.

Eine temporäre Deaktivierung bzw. Aktualisierung des Moduls brachte dann auch schon das MediaWiki wieder zum Laufen.

, , , ,

Linux: Dateien nach Inhalt suchen

Tags: Debian (Linux) | Webserver Kommentieren

Oftmals hat man ein Web-Projekt auf einem Server und sucht eine bestimmte Datei, von der man nur einen Teil des Inhaltes kennt. Anstatt nun alle auf dem Server befindlichen Dateien herunterzuladen und lokal zu durchsuchen, bietet sich an, dies über die Shell zu tun:

Hiermit wir rekursiv im aktuellen Verzeichnis nach dem String STRING gesucht. Das Ergebnis könnte diesem gleichen:

Apache: Zugriff nur von bestimmter IP-Adresse zulassen

Tags: Apache | Debian (Linux) | Webserver Kommentieren

Innerhalb der „Directory“ Direktiven Folgendes angeben:

Hiermit werden nur die IPs

  • 192.168.1.*
  • 82.65.156.12

für den Zugriff freigegeben.

RapidSSL-Zertifikat unter Debian mit Apache2 installieren

Tags: Debian (Linux) | Webserver Kommentieren

Verwendetes System:

  • Debian Squeeze amd64
  • Apache/2.2.16 (Debian)

Installation eines „GeoTrust RapidSSL Wildcard“-Zertifikats unter Apache2 (Debian).
Exemplarisch wird hier als Hostname my-hostname.de verwendet.

Hostname setzen

Die folgenden Zeilen an die Datei /etc/hosts anfügen, ggf. alte Einträge löschen ( vi /etc/hosts ):

Hostnamen in die Datei /etc/hostname schreiben ( vi /etc/hostname):

Den Hostnamen im System setzen:

Konfiguration des Webservers

Änderungen an der /etc/apache2/ports.conf:

Wenn ihr nur die Verfügbarkeit auf Port 443 (https) wünscht und keine Reaktion auf Port 80 (http), kommentiert die Zeile

einfach aus. Zusätzlich gebt dem NameVirtualHost noch den epliziten Port hinzu. Restliche Einstellungen sollten bereits so vorhanden sein.

Inhalt meiner /etc/apache2/ports.conf:

Inhalt meiner /etc/apache2/config-default:

Inhalt meiner /etc/apache2/config-default-ssl:

Inhalt meiner /etc/apache2/sites-available/default:

Inhalt meiner /etc/apache2/sites-available/default-ssl:

Erstellung eines Test-Zertifikats

um die Funktionen des Webservers zu prüfen, würde ich erst einmal ein unsigniertes Testzertifikat erstellen. Das geht so:

Bestellung des „GeoTrust RapidSSL Wildcard“-Zertifikats

Zertifikat beantragt als Apache 2 ohne CSR.

Änderungen an der /etc/apache2/config-default-ssl:

Schlussendlich noch den Apache neu starten:

Quellen

Die hosts-Datei

Tags: Debian (Linux) | Domains | macOS / OS X (Mac) | Webserver | Windows 2 Kommentare

OS X

Bearbeitung über:

Linux

Bearbeitung über:

Windows 95, Windows 98 und Windows ME

Windows NT, Windows 2000, Windows 2003, Windows XP, Windows Vista, Windows 7

Bearbeitung über:

Starten des bevorzugten Editors als Administrator (rechte Maustaste), anschließend Öffnen über Datei -> Öffnen o.ä.

Große MySQL-Datenbanken beschleunigen

Tags: MySQL-Server | Webserver Kommentieren

In einem aktuen Fall war eine Datenbank mit ca. 60.000 Einträgen und vielen Spaltendaten bei der Abfrage simpler gefilterter Daten mit einem Limit von 0, 10 langsam und es hieß diese zu optimieren. Neben der Überprüfung der Abfragen über

EXPLAN SELECT * FROM *

in welcher dann ersichtlich ist, welche Keys hinzugezogen werden (diese sind oft ausschlaggebend für die Geschwindigkeit der Abfrage), sollte man sich ebenfalls einmal den Query-Cache des Servers ansehen.
Hierfür gibt es (oder auch noch nicht, dann hinzufügen) eine Abfrage in der my.cnf namens query_cache_limit, welche oftmals auf 0 steht. Damit ist der Query Cache deaktiviert und es werden keine Abfragen gecached. Das Caching der Abfragen speichert diese zwischen und führt diese nicht jedes Mal erneut aus (sofern sich die Tabelle nicht geändert hat). Das ist auf jeden Fall ratsam, wenn eine Datenbank nicht ständig geändert wird. Man stelle diesen Wert einfach mal auf 8M o.Ä. und beobachte in phpMyAdmin die Statusvariablen unter „Abfragen Cache“. Dort erkennt man die Auslastung des aktuellen Cache, wie viele Abfragen aufgenommen und insbesondere wie viele herausgeschmissen wurden (weil der Cache zu klein ist).
In unserem Fall haben wir einen Geschwindigkeitsschub von 1127ms (also über eine Sekunde) erreichen können. Gebe zu: Der Server ist eine kleine Krücke. Aber die Resultate überzeugen.

Warum kann ich mich nicht mit dem Benutzer wwwrun über FTP anmelden (Pure-FTP)

Tags: Debian (Linux) | Webserver Kommentieren

Der Benutzer wwrun hat normalerweise die UID 30 und die GID 8. In der Pure-FTP-Konfiguration unter /etc/pure-ftpd/pure-ftpd.conf gibt es jedoch den folgenden Eintrag, welcher die Anmeldung nur für Benutzer ab einer bestimmten ID erlaubt:

service pure-ftpd restart

Wenn man diese ID auf eine kleiner als die des wwwrun (30) setzt, ist die Anmeldung mit einem solchen Benutzer möglich.

SSH-Fehler: REMOTE HOST IDENTIFICATION HAS CHANGED!

Tags: Debian (Linux) | macOS / OS X (Mac) | Webserver Kommentieren

Mac

Gehe in den Ordner /Users/username/.ss/, bearbeite dort (z.B. mit dem vi) die Datei known_hosts.
Dann in die Zeile mit der IP/dem Hostnamen gehen, doppelt d drücken und anschließen doppelt Z (großes Z). Dann wird die Datei gespeichert.
Anschließend neu verbinden, es wird gefragt ob der neue Key zu gelassen werden soll.

TOP