Skip to content

NGINX

Verschoben NGINX
  • NGINX ist ein Webserver, das Gegenstück zum Apache.

    Jetzt werden sich einige fragen, warum nimmt der keinen Apache? Bei der Installation von NodeBB brauchte ich einen Proxy und in der Anleitung bin ich über NGINX gestolpert. Das sah auch deutlich einfacher aus usw. Letztendlich bin ich dann dabei geblieben.

    Nun hält sich NGINX an die Pfadvorgaben vom Apache, was auch einen Umstieg relativ einfach macht. Man findet sich recht gut zurecht.

    Die Konfigurationsdateien findet man unter /etc/nginx Eine wichtige Datei ist dort die nginx.conf Die lassen wir hier aber mal außen vor, die Standard Konfiguration sollte für die ersten Schritte reichen.

    Wie im Apache liegen die Einstellungen unter

    • /etc/nginx/sites-available
    • /etc/nginx/sites-enabled

    Unter /etc/nginx/sites-available erstellt man eine Textdatei mit seinen Einstellungen und aktiviert diese mit

    sudo ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/
    

    Den Service NGINX steuert man wie folgt. Dieser Befehl testet die Konfiguration auf Plausiblität usw.

    sudo nginx -t
    

    Hiermit startet man den NGINX neu

     sudo service nginx restart
    

    Das sollten genug Grundlagen zum NGINX sein. Nun mal wieder was Praktisches 🙂

    Vorhaben

    Ein ROCKPro64 soll mir hier als Entwicklungsumgebung dienen. Der ROCKPro64 ist mit einer 500GB NVMe SSD als System ausgerüstet, dazu gesellt sich eine 1TB 2,5 Zoll HDD als Backup-Medium.

    Es sollen also die Standarddienste darauf laufen wie

    • NGINX
    • MariaDB
    • php7.2
    • php7.2-fpm

    Um das jetzt vernünftig bedienen zu können, brauchen wir eine phpMyAdmin Installation. Jetzt sind wir aber gezwungen den NGINX so zu konfigurieren, das wir mit zwei Webseiten gleichzeitig arbeiten können. Ich habe etwas länger gebraucht um das System zu kapieren, obwohl es gar nicht so schwer ist 😉

    Zwei Dienste sollen laufen

    • phpMyAdmin
    • eine PHP Anwendung

    Dazu brauchen wir zwei Textdateien in /etc/nginx/sites-available

    phpmyadmin

     server {
            listen 80 default_server;
            #listen [::]:80;
    
            root /var/www/phpMyAdmin;
    
            index index.html index.htm index.php;
    
            server_name phpmyadmin.com;
    
            location /phpMyAdmin {
                        try_files $uri $uri/ =404;
            }
    
            ## Begin - PHP
            location ~ \.php$ {
            # Choose either a socket or TCP/IP address
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            # fastcgi_pass unix:/var/run/php5-fpm.sock; #legacy
            # fastcgi_pass 127.0.0.1:9000;
    
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    
            }
    }
    

    Unter /var/www/phpMyAdmin liegt die phpMyAdmin-Installation. Die Domain heißt phpmyadmin.com

    falschp

    server {
            listen 80;
            #listen [::]:80;
    
            root /var/www/falschp;
    
            index index.html index.htm index.php;
    
            server_name falschparker.com;
    
            location /falschp {
                        try_files $uri $uri/ =404;
            }
    
             
            ## Begin - PHP
            location ~ \.php$ {
            # Choose either a socket or TCP/IP address
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            # fastcgi_pass unix:/var/run/php5-fpm.sock; #legacy
            # fastcgi_pass 127.0.0.1:9000;
    
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    
            }
    }
    

    Unter /var/www/falschp liegt das PHP-Projekt. Die Domain heißt falschparker.com

    Aktivieren

    sudo ln -s /etc/nginx/sites-available/phpmyadmin /etc/nginx/sites-enabled/
    sudo ln -s /etc/nginx/sites-available/falschp /etc/nginx/sites-enabled/
    

    Nun sind diese beiden Konfigurationen aktiv. Doch ein Aufruf der IP des ROCKPro64 würde uns jetzt immer zu dem Default-Server verbinden. Das ist in unserem Beispiel die phpMyAdmin-Installation.

    Nun um den anderen Dienst zu erreichen brauchen wir einen kleinen Trick. Wir weisen unseren Rechner an, die Domain nicht per DNS-Server aufzulösen, sondern wir weisen unserem Rechner an genau dort zu suchen, wo wir den Dienst angelegt haben. Hört sich kompliziert an, ist aber easy.

    Auf Eurem Haupt-PC, die Datei /etc/hosts öffnen

    127.0.0.1       localhost
    127.0.1.1       frank-MS-7A34
    192.168.3.206   phpmyadmin.com
    192.168.3.206   falschparker.com
    

    Die beiden Domains ergänzen und die Datei speichern. Danach könnt Ihr eich mit dem Aufruf der Domains zu den beiden Anwendungen verbinden. Fertig! 🙂

    Der Default-Server ist auch direkt über die IP-Adresse erreichbar.

    Anmerkungen

    Meine beiden Domainnamen sind nicht besonders clever, wenn es so einen Dienst im Internet gibt, könnte ich ihn nicht mehr erreichen. Besser wäre so was wie app1.com, app2.com usw. Hmm !?!?

    Und jetzt wie immer folgender Hinweis!

    Diese Anleitung bitte nicht in produktiven Umgebungen benutzen.

    Da gehört sicherlich noch viel mehr in die Konfigurationsdateien!

    Tipp

    Die meisten guten Anwendungen im Netz (nodebb, joomla, wordpress usw.) habe alle gute Dokumentationen wo man Beispiel Konfigurationen findet. Benutzt bitte NUR diese!

  • Vaultwarden bekommt Aufmerksamkeit vom BSI

    Vaultwarden
    1
    0 Stimmen
    1 Beiträge
    159 Aufrufe
    Niemand hat geantwortet
  • Update 1.31.0 released

    Vaultwarden
    1
    +0
    0 Stimmen
    1 Beiträge
    163 Aufrufe
    Niemand hat geantwortet
  • Debian 12 - Bluetooth Ausfall nach Stromausfall

    Linux
    1
    0 Stimmen
    1 Beiträge
    136 Aufrufe
    Niemand hat geantwortet
  • Debian 12 Bookworm released

    Linux
    5
    0 Stimmen
    5 Beiträge
    323 Aufrufe
    FrankMF
    Mein persönliches Fazit, alles läuft rund mit Debian Bookworm 12 Alle meine Hetzner VMs sind jetzt auf Bookworm Ok, was schwer und zeitaufwendig war, war die Nextcloud Installation bzw. der ganze PHP-Server. Das ist echt jedes mal eine Herausforderung, aber auch dabei werde ich die letzten Jahre sicherer. Hier die Story zum Nextcloud Server https://linux-nerds.org/topic/1437/nextcloud-upgrade-auf-bookworm-12 Richtig rund lief das Upgrade des NodeBB-Servers, war einfach und direkt auf Node18 hochgezogen. https://linux-nerds.org/topic/1444/nodebb-upgrade-auf-debian-bookworm-12 Damit ist jetzt alles hier auf Debian Bookworm 12 Haupt-PC VMs bei Hetzner VMs in der Proxmox Oh, da fällt mir gerade ein, der Proxmox ist noch fällig. Aber, dazu habe ich mir was einfallen lassen, da ist noch ein neues Mainboard unterwegs und dann gibt es dazu einen etwas größeren Beitrag. Danke Debian-Team, Debian Bookworm 12 ist eine runde Sache! Spannend wird jetzt, wie lange ich auf meinem Haupt-PC (Bookworm, KDE, Wayland) bleibe. Ich habe da so eine unangenehme Eigenschaft, wenn es um veraltete Pakete geht. Diesmal werde ich dann wahrscheinlich auf den Debian Unstable Zweig (sid) wechseln. Aber das dürfte noch was dauern, da ja aktuell erst mal alles passt.
  • Debian 13 - Trixie

    Linux
    1
    0 Stimmen
    1 Beiträge
    158 Aufrufe
    Niemand hat geantwortet
  • Debian 11.1 released

    Linux
    1
    0 Stimmen
    1 Beiträge
    167 Aufrufe
    Niemand hat geantwortet
  • Ubuntu 20.04 Focal - Einrichtung

    Linux
    16
    +4
    0 Stimmen
    16 Beiträge
    2k Aufrufe
    FrankMF
    @reiner-zufall sagte in Ubuntu 20.04 Focal - Einrichtung: auto-save-session Interessant. Bitte poste, wenn Du was findest.
  • Restic - Einen ROCKPro64 als Datengrab benutzen

    Verschoben Restic
    2
    +0
    0 Stimmen
    2 Beiträge
    850 Aufrufe
    FrankMF
    So, dann mal das Ganze testen wenn man seinen Haupt-PC neu installiert hat und ein paar Daten braucht. [image: 1534692579149-img_20180819_090116_ergebnis-resized.jpg] Also, mal Restic installiert. sudo apt-get install restic Nach erfolgter Installation ein Test frank@frank-MS-7A34:~/restic$ restic version restic 0.8.3 compiled with go1.10 on linux/amd64 Geht so weit. Snapshots auflisten. restic -r sftp:rock64@IP:/home/rock64/backup snapshots Sieht dann so aus. frank@frank-MS-7A34:~$ sudo restic -r sftp:rock64@192.168.3.207:/home/rock64/backup snapshots [sudo] Passwort für frank: rock64@192.168.3.207's password: enter password for repository: password is correct ID Date Host Tags Directory ---------------------------------------------------------------------- 7e2eddcb 2018-08-18 10:10:40 frank-MS-7A34 /home/frank/Bilder 073b7cb4 2018-08-18 14:21:17 frank-MS-7A34 /home/frank 6bc9b21b 2018-08-18 16:11:19 frank-MS-7A34 /home/frank ---------------------------------------------------------------------- 3 snapshots Snapshot wiederherstellen sudo restic -r sftp:rock64@IP:/home/rock64/backup restore latest --target /tmp/backup Hiermit stellen wir das Backup im temporären Ordner /tmp/backup wieder her. Hat ewig gedauert, aber ging !?!?!?