So installierst du WonderCMS auf Ubuntu 22.04

WonderCMS ist ein quelloffenes und extrem kleines Flat-File-CMS, das eine einfache und leichtere Möglichkeit bietet, Websites zu erstellen und zu verwalten. Es ist in PHP und jQuery geschrieben und muss nicht konfiguriert werden. Es bietet alle notwendigen Funktionen, die in modernen CMS vorhanden sind. Es ist schnell, reaktionsschnell und benötigt keine Datenbank. Es bietet ein benutzerfreundliches Web-UI mit einem einfachen Dropdown-Menü und aktiviert Inline-Bearbeitungsfunktionen auf deinen Seiten.

Diese Anleitung zeigt dir, wie du WonderCMS mit Nginx und Let’s Encrypt SSL auf Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein gültiger Domainname ist auf die IP deines Servers gerichtet.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Nginx und PHP installieren

Zuerst musst du den Nginx-Webserver, PHP und andere Abhängigkeiten auf deinem Server installieren. Du kannst sie alle installieren, indem du den folgenden Befehl ausführst:

apt-get install nginx php php-fpm php-mbstring php-curl php-zip -y

Sobald alle Pakete installiert sind, bearbeite die PHP-Konfigurationsdatei und ändere einige Standardeinstellungen:

nano /etc/php/8.1/fpm/php.ini

Ändere die folgenden Einstellungen:

upload_max_filesize = 100MB
post_max_size = 100MB
max_execution_time = 300
max_input_vars = 5000
memory_limit = 256M
date.timezone = "UTC"

Speichere und schließe die Datei und starte den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart php8.1-fpm

WonderCMS installieren Ubuntu 22.04

Als erstes musst du die neueste Version von WonderCMS von GitHub mit folgendem Befehl herunterladen:

wget https://github.com/robiso/wondercms/releases/download/3.3.4/wondercms-334.zip

Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei mit dem folgenden Befehl in das Nginx-Web-Root-Verzeichnis:

unzip wondercms-334.zip -d /var/www/html

Als Nächstes änderst du mit folgendem Befehl die Besitz- und Zugriffsrechte für WonderCMS:

chown -R www-data:www-data /var/www/html/wondercms
chmod -R 775 /var/www/html/wondercms

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Nginx für WonderCMS konfigurieren

Als Nächstes musst du eine Konfigurationsdatei für einen virtuellen Nginx-Host erstellen, um WonderCMS mit Nginx zu hosten. Du kannst sie mit dem folgenden Befehl erstellen:

nano /etc/nginx/conf.d/wondercms.conf

Füge die folgenden Zeilen hinzu:

server {
        listen 80;
        # adapt to your server name
        server_name wondercms.example.com;
        # adapt the path
        root /var/www/html/wondercms;
        index index.php;
        # prevent directory listing
        autoindex off;

        # rewrite url to make it pretty
        location / {
            try_files $uri $uri/ @rewrite;
        }
            location @rewrite {
            rewrite ^/(.+)$ /index.php?page=$1 last;
        }

        # prevent access to database.js
        location ~ database.js {
            return 403;
        }

        location ~ cache.json {
            return 403;
        }

        # use php-fpm for dealing with php files

location ~ \.php$ {
      fastcgi_pass unix:/run/php/php-fpm.sock;

      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
      include snippets/fastcgi-php.conf;
      fastcgi_buffer_size 128k;
      fastcgi_buffers 4 128k;
      fastcgi_intercept_errors on; 
        }
    }

Speichere und schließe die Datei und überprüfe Nginx mit folgendem Befehl auf Syntaxfehler:

nginx -t

Du erhältst die folgende Ausgabe:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starte anschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Du kannst den Nginx-Status auch mit dem folgenden Befehl überprüfen:

systemctl status nginx

Du erhältst die folgende Ausgabe:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-11-12 14:06:21 UTC; 7s ago
       Docs: man:nginx(8)
    Process: 18137 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 18139 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 18140 (nginx)
      Tasks: 3 (limit: 464122)
     Memory: 3.4M
     CGroup: /system.slice/nginx.service
             ??18140 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??18141 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??18142 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Nov 12 14:06:21 ubuntu22041 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 12 14:06:21 ubuntu22041 systemd[1]: Started A high performance web server and a reverse proxy server.

Zugriff auf das WonderCMS Web Interface

Öffne nun deinen Webbrowser und rufe die WonderCMS-Weboberfläche über die URL http://wondercms.example.com auf. Du solltest den folgenden Bildschirm mit dem Anmeldepasswort sehen:

Klicke auf die Schaltfläche HIER ANMELDEN. Du solltest die WonderCMS Anmeldeseite sehen:

Gib das Anmeldepasswort ein und klicke auf die Schaltfläche ANMELDEN. Du solltest die folgende Seite sehen.

Klicke auf die Sicherheitseinstellung, um die Anmelde-URL wie unten gezeigt zu ändern:

Ändere nun die Anmelde-URL und passe deine Website nach deinen Wünschen an.

Als Nächstes rufst du WonderCMS mit der neuen URL http://wondercms.example.com/wonder auf . Du solltest die folgende Seite sehen:

Füge alle Inhalte ein, die du schreiben möchtest. Du solltest die folgende Seite sehen:

WonderCMS mit Let’s Encrypt SSL sichern

Als nächstes musst du das Certbot Client-Paket installieren, um Let’s Encrypt SSL zu installieren und zu verwalten. Installiere zunächst Certbot mit dem folgenden Befehl:

apt-get install python3-certbot-nginx -y

Sobald die Installation abgeschlossen ist, führst du den folgenden Befehl aus, um Let’s Encrypt SSL auf deiner Website zu installieren:

certbot --nginx -d wondercms.example.com

Du wirst aufgefordert, eine gültige E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): hitjethva@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for wondercms.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/wondercms.conf

Als Nächstes wählst du aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Gib 2 ein und drücke die Eingabetaste, um die Installation abzuschließen. Du solltest die folgende Ausgabe sehen:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/wondercms.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wondercms.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=wondercms.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wondercms.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wondercms.example.com/privkey.pem
   Your cert will expire on 2023-02-12. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Fazit

Herzlichen Glückwunsch! Du hast WonderCMS mit Nginx und Let’s Encrypt SSL erfolgreich auf Ubuntu 22.04 installiert. Jetzt kannst du das WondoerCMS erkunden und deine eigene Website über einen Webbrowser erstellen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …