[Quicktip] Starten von Apache httpd unter Mac OSX nur als root möglich

Wenn ihr Apache httpd per Homebrew auf eurem Mac installiert und ihn als normalen User starten möchtet, dann kann es sein, dass ihr folgende Fehlermeldung erhaltet:

(13)Permission denied: make_sock: could not bind to address [::]:80

Diese Meldung hat einen einfachen Hintergrund: unter OSX kann nur root die Ports mit den Nummern kleiner als 1024 belegen (das scheint im Unix Umfeld allgemein so zu sein). Und nichts anderes sagt diese Meldung aus. Ändert also in eurer http.conf (/usr/local/etc/apache2/httpd.conf) den Parameter “Listen 80” auf z.b. “Listen 8080” und ändert ggf. noch die Listening Ports für Virtual Hosts, falls ihr welche eingerichtet habt. Anschließend sollte Apache auch von einem nicht-root User gestartet werden können. Falls ihr den Apachen vorher bereits als root gestartet habt, denkt bitte dran, alle Logfiles zu löschen oder die Schreibrechte anzupassen, da der Apache sonst nicht starten wird…

GeekTool Script für die Statusanzeige von Prozessen, wie z.B. httpd oder mysqld

Wenn man auf seinem OSX Desktop immer gleich sehen möchte, ob Services, wie z.B. der Apache Webserver httpd oder der MySQL Server mysqld laufen, kann man folgendes GeekTool Script verwenden:

#!/bin/bash
if [ "$(ps -Ac | grep httpd)" != "" ]; then httpServ="running";
else httpServ="offline"; fi
if [ "$(ps -Ac | grep mysqld)" != "" ]; then sqlServ="running";
else sqlServ="offline"; fi
echo "HTTP : $httpServ";
echo "SQL : $sqlServ";

Das Beispiel kann man nach der Vorlage beliebig für andere Prozesse erweitern. Per GeekTool eingebunden sieht das dann folgendermaßen aus:

Wenn der Service nicht aktiv ist, steht an Stelle von running “offline”…