Sven Kügler

Dienst unter Ubuntu bei Systemstart automatisch starten lassen

Die meisten Dienste starten unter Ubuntu beim Systemstart automatisch. Ist dies nicht der Fall kann man dies mit update-rc.d ändern. Auch den automatischen Start der Dienste kann man damit entfernen. Es muss nur ein Startup-Skript unter /etc/init.d für den betreffenden Service vorhanden sein.

Mit folgenden Befehl startet der Dienst automatisch beim Systemstart (Bootvorgang)

$ sudo update-rc.d [servicename] defaults

Sollte der Dienst bereits für den Autostart konfiguriert sein, kann man ihn mit der Option enable neu laden.

$ sudo update-rc.d [servicename] enable

Soll ein Dienst nicht mehr automatisch starten

$ sudo update-rc.d [servicename] remove

PS: Der Dienstname [servicename] muss der Name des Startup-Skripts in /etc/init.d sein.

Nagios External Commands unter Ubuntu aktivieren

Für die Verwaltung von Nagios außerhalb der Konfigurationsdateien gibt es die External Commands. Diese sind standardmäßig unter Ubuntu/Debian deaktiviert.

Mit den folgenden Befehlen setzt man die Berechtigungen um auch externe Kommandos verwenden zu können.

$ sudo service nagios3 stop
$ sudo dpkg-statoverride –update –add nagios www-data 2710 /var/lib/nagios3/rw
$ sudo dpkg-statoverride –update –add nagios nagios 751 /var/lib/nagios3
$ sudo service nagios3 start

cURL error 60: SSL certificate problem: unable to get local issuer certificate

Auf einem frischen Windows System mit installiertem PHP7 wollte ich ein neues Symfony Projekt starten.

$ php symfony new projektname

  [GuzzleHttp\Exception\RequestException]
  cURL error 60: SSL certificate problem: unable to get local issuer certificate

Doch ich erhielt die Fehlermeldung cURL error 60: SSL certificate problem: unable to get local issuer certificate vom Paket GuzzleHttp.

Die Lösung ist denkbar einfach. Die Datei cacert.pem von diesem Link (http://curl.haxx.se/ca/cacert.pem) herunterladen und speichern. In meinem Fall habe ich sie in c:\php\cacert.pem abgelegt.

Anschließend muss in der php.ini der Parameter curl.cainfo auf die heruntergeladene Datei verweisen. Bei mir sieht das dann so aus:

...

[curl]
curl.cainfo = "c:\php\cacert.pem"

...

Nginx Status Seite aktivieren

Genau wie beim Apache2 gibt es auch für den Nginx eine Status Seite, die Informationen zur Auslastung des Servers in Echtzeit bereitstellt. Anhand dieser Informationen lässt sich nicht nur die Konfiguration des Servers optimieren, sondern auch ein Monitoring mittels Nagios implementieren

Vorraussetzungen

Damit man die Status Seite aktivieren kann, muss Nginx mit dem HttpStubStatusModule Modul installiert sein. mit folgendem Befehl kann man das überprüfen.

$ nginx -V 2>&1 | grep -o with-http_stub_status_module
with-http_stub_status_module

Wenn die Ausgabe wie oben aussieht, ist das Modul installiert. Hinweis: Bei der Installation über die Paketquellen von Ubuntu, wird das Modul automatisch mit installiert.

Nginx Konfiguration

Zum Aktivieren einer Status Seite genügt es den folgenden Code innerhalb eines server {..} Blocks hinzuzufügen.

        location /nginx_status {
          stub_status on;
          access_log   off;
          allow 10.0.0.2;
          deny all;
        }

Hinweis: Die IP Adresse 10.0.0.2 entspricht dem Client/Server, der die Status Seite aufrufen will.

Anschließend muss die Konfiguration neu eingelesen werden.

$ sudo service nginx reload

Ergebnis

Beim Aufruf der Seite http://servername/nginx_status sollte das Ergebnis in etwa so aussehen.

Active connections: 13 
server accepts handled requests
 587 587 1796 
Reading: 0 Writing: 3 Waiting: 2

Varnish Konfiguration (VCL Dateien) testen

Eine Änderung an den Konfigurationsdateien von Varnish kann schnell zu Problemen führen. Ähnlich wie beim Apache, kann man auch beim Varnish Server die Konfigurationsdateien überprüfen.

$ varnishd -C -f /etc/varnish/default.vcl

Im Fehlerfall zeigt der vorstehende Befehl Zeilennummer und Ursache an.