Nginx unter macOS mittels Homebrew installieren und nutzen

Nginx wird für gewöhnlich unter Linux genutzt. Für Entwicklungszwecke kann es interessant sein Nginx unter macOS zu betreiben. Zur Installation von Nginx wird Homebrew benötigt. Homebrew ist ein Paketmanager für macOS, mit welchem viele Open-Source-Projekte unter macOS installiert werden können. Ist Homebrew installiert kann Nginx auf dem Terminal mittels:

brew install nginx

installiert werden. Standardmäßig läuft Nginx bei der Installation über Homebrew auf dem Port 8080. Hintergrund ist das der Webserver somit ohne root-Rechte bzw. ohne sudo genutzt werden kann. Wird der Port auf 80 oder generell auf einen Port kleiner 1024 gestellt, werden wieder entsprechende administrative Rechte benötigt. Soll der verwendete Port geändert werden, muss die Konfigurationsdatei angepasst werden:

nano /usr/local/etc/nginx/nginx.conf

In dieser findet sich folgender Block:

server {
  listen       8080;
  server_name  localhost;

Dort kann anschließend der Port geändert werden. Neben dem Port kann dort die Default-Location geändert werden. Dazu wird der server-Block bzw. dessen Unterblock, der location-Block angepasst:

location / {
  root /Users/seeseekey/Web;
  autoindex on;

Die root-Direktive gibt den Pfad an, welcher über den Webserver ausgeliefert wird. Die Option autoindex sorgt für das entsprechende Directory-Listing, was für Entwicklungszwecke nützlich sein kann. Gestartet und gestoppt werden kann der Service mittels:

brew services start nginx

bzw.

brew services stop nginx

Natürlich kann dies mittels restart in einem Rutsch erledigt werden:

brew services restart nginx

Anschließend kann Nginx mit der veränderten Konfiguration genutzt werden.

sudo mit anderem Nutzer durchführen

Wenn ein Kommando auf der Linux-Konsole mit vorangestellten sudo ausgeführt wird, wie z.B.

sudo apt install mc

wird das Kommando in Normalfall mit den Rechten und im Kontext des Nutzers root ausgeführt. Manchmal soll eine solche Operation jedoch mit einem anderen Nutzer durchgeführt werden. Dazu dient die sudo-Option -u:

sudo -u www-data crontab -e

Nach der Option muss der Nutzer angegeben werden, in dessen Kontext gewechselt werden soll. In diesem Beispiel würde die Crontab-Datei des Nutzers www-data geöffnet.

„root“-Nutzer unter Ubuntu aktivieren

Unter Ubuntu gibt es in einer Stan­dard­in­stal­la­tion kei­nen akti­vier­ten „root“-Nutzer. Das bedeu­tet aller­dings nicht das der Nut­zer nicht vor­han­den ist. Statt­des­sen wird für den „root“-Nutzer ein­fach kein Pass­wort ver­ge­ben, was dazu führt das man ihn nicht nut­zen kann. Möchte man ihn doch nut­zen, so ver­gibt ein­fach ein Passwort:

sudo passwd root

Anschlie­ßend ver­fügt man über einen „root“-Nutzer und kann sich mit die­sem ein­log­gen. Möchte man das ganze wie­der rück­gän­gig machen, so muss die Datei „/etc/shadow“ bear­bei­tet wer­den. Dort wird der Hashwert des Nut­zers „root“ ein­fach durch ein Aus­ru­fe­zei­chen ersetzt. Danach ist der Nut­zer wie­der deak­ti­viert und kann nur mit­tels „sudo“ genutzt werden.

Auf in neue Welten

Heute erst einmal das normale Ubuntu mit einer Live CD ausprobiert. Erste Meldung nach dem Booten… naja man kann es sich denken. Also den Rechner neu gestartet die Kubuntu CD hineingelegt gestartet und es lief alles. Zumindestens soweit man es in diesem Moment beurteilen konnte. Also gleich mal die Installation gestartet und erst einmal gewartet. So etwas dauert ja bekanntlich einen kleinen Moment :)

Der erste Start dauerte dann auch einen Moment. Aber nachdem ich so ziemliche alle Effekte abgeschaltet habe die ich gefunden habe ging das ganz doch ganz gut. Dann erstmal dies und das installiert hauptsächlich Firefox, Krusader und Kdenlive. Und natürlich Samba. Die Samba Pakete zu installieren ist kein Problem, eine Freigabe einzurichten auch nicht. Das ganze wird dann mit einem Passwort versehen und schon funktioniert alles.

Alles? Naja mal wieder fast alles. Nachdem ich den Namen geändert hatte (danach funktionierte es noch) und den Zugriff auf die Freigabe auch noch schreibbar gemacht hatte bliebt die Freigabe trotzdem immer noch „nur lesbar“. Also mit einem beherzten sudo /etc/init.d/samba restart den Samba Server neugestartet in der Hoffnung das es dann geht. Vielleicht liegt es ja an dem Windows Rechner aber das wird bis morgen warten müssen. Für heute ist erstmal wieder genug.