Skip to content

Joomla! & Nginx

Joomla!
  • Tja, was soll ich sagen? Es war nicht ganz so einfach alle Informationen zusammen zu bekommen um Nginx vernünftig für Joomla! zu konfigurieren.

    ### Joomla!
    
    ### redirect http requests to non-www https
    server {
        listen 80;
        listen [::]:80;
        server_name frank-mankel.de www.frank-mankel.de;
        return 301 https://frank-mankel.de$request_uri;
    }
    
    
    ### https Joomla!
    
    ### redirect www requests to non-www
    server {
        listen 443 ssl http2;
        ssl_certificate      /etc/letsencrypt/live/frank-mankel.de/fullchain.pem;
        ssl_certificate_key  /etc/letsencrypt/live/frank-mankel.de/privkey.pem;
        server_name www.frank-mankel.de;
        return 301 https://frank-mankel.de$request_uri;
    }
    
    server {
        location /administrator {
        auth_basic            "Restricted Area";
        auth_basic_user_file  /etc/nginx/.htpasswd;
    }
    
    ## Begin - Server Info
    
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    index index.html index.php;
    root /var/www/joomla;
    server_name frank-mankel.de www.frank-mankel.de;
    
    ## End - Server Info
    
    ## Start SSL
    
    ssl_certificate      /etc/letsencrypt/live/frank-mankel.de/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/frank-mankel.de/privkey.pem;
    
    # enables all versions of TLS, but not SSLv2 or 3 which are weak and now deprecated.
    ssl_protocols TLSv1.2;
    
    # disables all weak ciphers
    ssl_ciphers ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES256:ECDH+AES128:!aNULL:!SHA1;
    ssl_prefer_server_ciphers on;
    
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; always";
    
    ssl_stapling on;
    #ssl_trusted_certificate /pfad/bundle.ca.pem;
    ssl_stapling_verify on;
    
    ssl_dhparam /etc/nginx/dhparams.pem;
    
    ## End SSL
    
    ## Begin - Index
    # for subfolders, simply adjust:
    # `location /subfolder {`
    # and the rewrite to use `/subfolder/index.php`
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    ## End - Index
    
    ## Begin - Security
    # deny running scripts inside writable directories
    location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
            return 403;
            error_page 403 /403_error.html;
    }
    ## End - Security
    
    ## Start - Caching
    # caching of files
    location ~* \.(ico|pdf|flv)$ {
            expires 1y;
    }
    
    location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
                expires 14d;
        }
    ## End - Caching
    
    ## 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;
    }
        ## End - PHP
    }
    

    Zwei Dinge.

    SSL

    Das SSL Zertifikat ist von Letsencrypt, es erreicht beim Test auf ssllabs,com A+

    0_1539020880959_4ddd2aa7-0aff-4032-8d34-d0a3da87b19d-grafik.png

    Joomla! Beispiel Konfig

    Ich finde es sehr schade, das man darin nicht direkt angibt wie man das Administrator Verzeichnis mit einem Passwort schützt. Es wird immer wieder erwähnt wie wichtig das ist und dann fehlt so was. Schade.

    Fazit

    Läuft 🙂 Wieder extrem viel gelernt. Sollte ein Nginx-Experte was sehen, was schlecht ist, ich freue mich immer über Verbesserungen! Viel Spaß beim Testen, wie immer auf eigenes Risiko!

    Quellen

  • Joomla! 5.0 released

    Linux
    1
    0 Stimmen
    1 Beiträge
    55 Aufrufe
    Niemand hat geantwortet
  • Joomla! 4.2.8

    Joomla!
    1
    0 Stimmen
    1 Beiträge
    70 Aufrufe
    Niemand hat geantwortet
  • Joomla! 4.0 released

    Joomla!
    1
    0 Stimmen
    1 Beiträge
    120 Aufrufe
    Niemand hat geantwortet
  • Joomla! 4.0 Beta 1

    Joomla!
    2
    0 Stimmen
    2 Beiträge
    493 Aufrufe
    FrankMF
    Anlegen des Super Users

    pic1.png

    Datenbank

    pic2.png

    Installation erledigt

    pic3.png

    Nun kann man noch zusätzliche Sprachen installieren. Und den Installations Ordner entfernen.

    pic4.png

    Aufrufen der Webseite

    pic5.png

    Frontend

    pic6.png

    Backend

    pic8.png

    Das soll es gewesen sein. Irgendwie kann ich nicht mehr so richtig warm werden, mit einem CMS. Liegt vermutlich daran, das ich hier mit NodeBB ein hervorragendes Tool gefunden habe, für das was ich machen möchte. Aber NodeBB ist um Längen komplizierter in der Administration und somit nicht für jeden geeignet.

    Joomla!4 macht einen guten Eindruck, der Installer ist sauber aufgebaut und sollte auch Einsteiger nicht vor unlösbare Aufgaben stellen. Das Backend wirkt jetzt modern und mehr strukturiert.

    Bin gespannt ob Joomla!4 ein Erfolg wird! Viel Erfolg!

  • 0 Stimmen
    2 Beiträge
    192 Aufrufe
    FrankMF

    Ich führe das hier noch etwas weiter. Die Webseite war ja schon verdammt alt, ließ sich aber auch nicht aktualisieren!?

    Eine Suche ergab, das ich das Akeeba deinstalliert hatte (war abgelaufen) aber ein Plugin jedes Mal reinpfuschte. Nachdem ich das Plugin ausfindig gemacht hatte und es deinstalliert hatte, konnte ich Joomla! ganz normal aktualisieren.

    Nachdem Joomla! nun auf der aktuellsten Version war, konnte ich

    extension=mcrypt.so

    auch wieder auskommentieren.

    ;extension=mcrypt.so
  • Joomla! 3.9.3 - nosniff

    Joomla!
    1
    0 Stimmen
    1 Beiträge
    269 Aufrufe
    Niemand hat geantwortet
  • Joomla! 3.9 released

    Allgemeine Diskussionen
    1
    0 Stimmen
    1 Beiträge
    397 Aufrufe
    Niemand hat geantwortet
  • Joomla!4 - Installer

    Joomla!
    1
    0 Stimmen
    1 Beiträge
    578 Aufrufe
    Niemand hat geantwortet