So installierst du Wallabag auf Rocky Linux 9
Wallabag ist ein Service zum späteren Lesen. Er ermöglicht es dir, Webseiten zu speichern, damit du sie später in deinem eigenen Tempo lesen kannst. Es gibt viele Dienste wie Pocket, Instapaper usw., aber ein Dienst, der auf einem eigenen Server installiert ist, ist viel besser. Zum einen kann er nicht den Betrieb einstellen und die Links mit sich herunterziehen.
In diesem Tutorium geht es um die Installation und Einrichtung von Wallabag auf einem Server mit Rocky Linux 9 sowie um die Einrichtung von Nginx, MySQL, Composer und PHP, die alle für den Betrieb von Wallabag erforderlich sind.
Voraussetzungen
- Ein Server, auf dem Rocky Linux 9 läuft.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
- Ein vollständig qualifizierter Domainname (FQDN) wie
wallabag.example.com
. - Stelle sicher, dass alles auf dem neuesten Stand ist.
$ sudo dnf update
- Einige wenige Pakete, die dein System benötigt.
$ sudo dnf install wget curl nano unzip yum-utils -y
Einige dieser Pakete sind vielleicht schon auf deinem System installiert.
Schritt 1 – Firewall konfigurieren
Der erste Schritt besteht darin, die Firewall zu konfigurieren. Rocky Linux verwendet die Firewalld Firewall. Überprüfe den Status der Firewall.
$ sudo firewall-cmd --state running
Die Firewall arbeitet mit verschiedenen Zonen, wobei die öffentliche Zone die Standardzone ist, die wir verwenden werden. Liste alle Dienste und Ports auf, die auf der Firewall aktiv sind.
$ sudo firewall-cmd --permanent --list-services
Es sollte die folgende Ausgabe angezeigt werden.
cockpit dhcpv6-client ssh
Wallabag benötigt HTTP- und HTTPS-Ports, um zu funktionieren. Öffne sie.
$ sudo firewall-cmd --permanent --add-service=http $ sudo firewall-cmd --permanent --add-service=https
Lade die Firewall neu, um die Änderungen zu übernehmen.
$ sudo firewall-cmd --reload
Liste alle Dienste erneut auf.
$ sudo firewall-cmd --permanent --list-services
Du solltest die folgende Ausgabe erhalten.
cockpit dhcpv6-client http https ssh
Schritt 2 – Installiere PHP und seine Erweiterungen
Wir müssen PHP 8.1 installieren, damit Wallabag funktioniert. Der erste Schritt ist, das Epel-Repository zu installieren.
$ sudo dnf install epel-release -y
Als nächstes installierst du das Remi Repository.
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Prüfe, ob PHP-Streams verfügbar sind.
$ dnf module list php -y Name Stream Profiles Summary php 8.1 common [d], devel, minimal PHP scripting language Remi's Modular repository for Enterprise Linux 9 - x86_64 Name Stream Profiles Summary php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language php remi-8.2 common [d], devel, minimal PHP scripting language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Die Standardversion ist 8.1. Aktiviere das PHP 8.1 Repository von Remi.
$ sudo dnf module reset php -y $ sudo dnf module enable php:remi-8.1
Installiere PHP und die erforderlichen Erweiterungen, die Wallabag benötigt.
$ sudo dnf install php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-opcache
Überprüfe die Installation.
$ php --version PHP 8.1.16 (cli) (built: Feb 14 2023 18:59:41) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.1.16, Copyright (c) Zend Technologies with Zend OPcache v8.1.16, Copyright (c), by Zend Technologies
Öffne die Datei /etc/php-fpm.d/www.conf
.
$ sudo nano /etc/php-fpm.d/www.conf
Finde die Zeilen user=apache
und group=apache
in der Datei und ändere sie wie folgt.
... ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache user chosen to provide access to the same directories as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx ...
Als Nächstes kommentierst du die Zeilen Besitzer der Socket-Datei, Gruppe und Standardberechtigung aus und änderst sie wie unten gezeigt.
; Set permissions for unix socket, if one is used. In Linux, read/write ; permissions must be set in order to allow connections from a web server. ; Default Values: user and group are set as the running user ; mode is set to 0660 listen.owner = nginx listen.group = nginx listen.mode = 0660
Als nächstes kommentierst du die folgende Zeile aus, indem du ein Semikolon davor setzt.
;listen.acl_users = apache,nginx
Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Gib dem PHP-Sitzungsverzeichnis die richtigen Berechtigungen.
$ sudo chown -R nginx:nginx /var/lib/php/session/
Aktiviere und starte den PHP-FPM-Dienst.
$ sudo systemctl enable php-fpm --now
Schritt 3 – Installiere Composer
Composer ist ein Tool zur Verwaltung von Abhängigkeiten für PHP und wird für die Installation von Wallabag benötigt.
Führe die folgenden Befehle aus, um die Composer-Binärdatei herunterzuladen. Wallabag funktioniert nur mit Composer 2.2 LTS, daher haben wir den Befehl entsprechend angepasst.
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ php composer-setup.php --2.2 $ php -r "unlink('composer-setup.php');"
Installiere den Composer, indem du die Binärdatei in das Verzeichnis /usr/local/bin
verschiebst.
$ sudo mv composer.phar /usr/local/bin/composer
Überprüfe die Installation, indem du die Version überprüfst.
$ composer --version Composer version 2.2.21 2023-02-15 13:07:40
Schritt 4 – Installiere MySQL
Rocky Linux 9 wird mit der neuesten Version von MySQL ausgeliefert. Du kannst sie mit einem einzigen Befehl installieren.
$ sudo dnf install mysql-server
Überprüfe die Version von MySQL.
$ mysql --version mysql Ver 8.0.30 for Linux on x86_64 (Source distribution)
Aktiviere und starte den MySQL-Dienst.
$ sudo systemctl enable mysqld --now
Führe das Skript zur sicheren Installation von MySQL aus.
$ sudo mysql_secure_installation
Du wirst aufgefordert, die Validate Password Component zu installieren. Sie prüft die Stärke der in MySQL verwendeten Passwörter. Drücke Y, um sie zu installieren. Als Nächstes wirst du aufgefordert, die Stufe der Passwortüberprüfung festzulegen. Wähle 2, da dies die stärkste Stufe ist.
Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: Y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2 Using existing password for root. Estimated strength of the password: 100
Als Nächstes wirst du aufgefordert, ein neues Root-Passwort festzulegen. Gib das Passwort gemäß den oben festgelegten Anforderungen ein. Gib Y
ein, wenn du aufgefordert wirst, mit dem gewählten Root-Passwort fortzufahren.
Please set the password for root here. New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Als Nächstes gibst du Y ein, um anonyme Benutzer zu entfernen, Remote-Root-Logins zu verbieten, die Testdatenbank zu entfernen und die Berechtigungstabellen neu zu laden.
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y Success. All done!
Schritt 5 – MySQL konfigurieren
Melde dich in der MySQL-Shell an. Gib dein Root-Passwort ein, wenn du dazu aufgefordert wirst.
$ sudo mysql -u root -p
Erstelle eine Beispieldatenbank.
mysql> CREATE DATABASE wallabag;
Erstelle ein SQL-Benutzerkonto.
mysql> CREATE USER 'wallabaguser'@'localhost' IDENTIFIED BY 'Your_password2';
Erteile dem Benutzer alle Rechte für die Datenbank.
mysql> GRANT ALL PRIVILEGES ON wallabag.* TO 'wallabaguser'@'localhost';
Lösche die Benutzerrechte.
mysql> FLUSH PRIVILEGES;
Beende die Shell.
mysql> exit
Schritt 6 – Nginx installieren
Rocky Linux 9 wird mit einer älteren Version von Nginx ausgeliefert. Um die neueste Version zu installieren, musst du das offizielle Nginx-Repository herunterladen.
Erstelle und öffne die Datei /etc/yum.repos.d/nginx.repo
zur Erstellung des offiziellen Nginx-Repositorys.
$ sudo nano /etc/yum.repos.d/nginx.repo
Füge den folgenden Code in die Datei ein.
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Installiere den Nginx-Server.
$ sudo dnf install -y nginx
Überprüfe die Installation.
$ nginx -v nginx version: nginx/1.22.1
Aktiviere und starte den Nginx-Server.
$ sudo systemctl enable nginx --now
Überprüfe den Status des Servers.
$ sudo systemctl status nginx ? nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2023-02-28 08:01:34 UTC; 5s ago Docs: http://nginx.org/en/docs/ Process: 1489 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 1490 (nginx) Tasks: 2 (limit: 5873) Memory: 1.9M CPU: 8ms CGroup: /system.slice/nginx.service ??1490 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf" ??1491 "nginx: worker process"
Schritt 7 – SSL installieren
Wir müssen Certbot installieren, um das SSL-Zertifikat zu erstellen.
Dazu verwenden wir den Snapd-Paketinstaller. Da Rocky Linux nicht mit diesem Paket ausgeliefert wird, installiere den Snapd-Installer. Er benötigt das EPEL-Repository, das wir bereits für PHP installiert haben, also können wir diesen Schritt überspringen.
Installiere Snapd.
$ sudo dnf install -y snapd
Aktiviere und starte den Snap-Dienst.
$ sudo systemctl enable snapd --now
Installiere das Snap-Kernpaket und stelle sicher, dass deine Snapd-Version auf dem neuesten Stand ist.
$ sudo snap install core && sudo snap refresh core
Erstelle die notwendigen Links, damit Snapd funktioniert.
$ sudo ln -s /var/lib/snapd/snap /snap $ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Gib den folgenden Befehl ein, um Certbot zu installieren.
$ sudo snap install --classic certbot
Stelle mit folgendem Befehl sicher, dass der Certbot-Befehl ausgeführt werden kann, indem du einen symbolischen Link auf das Verzeichnis /usr/bin
erstellst.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Überprüfe die Installation.
$ certbot --version certbot 2.3.0
Führe den folgenden Befehl aus, um ein SSL-Zertifikat zu erzeugen.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m name@example.com -d wallabag.example.com
Mit dem obigen Befehl wird ein Zertifikat in das Verzeichnis /etc/letsencrypt/live/wallabag.example.com
auf deinem Server heruntergeladen.
Erstelle ein Diffie-Hellman-Gruppenzertifikat.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Überprüfe den Certbot Erneuerungszeitplanungsdienst.
$ sudo systemctl list-timers
Du findest snap.certbot.renew.service
als einen der Dienste, die für die Ausführung vorgesehen sind.
NEXT LEFT LAST PASSED UNIT ACTIVATES ..... Sun 2023-02-28 06:32:00 UTC 9h left Sat 2023-02-28 18:04:05 UTC 2h 59min ago snap.certbot.renew.timer snap.certbot.renew.service Sun 2023-02-28 06:43:20 UTC 9h left Sat 2023-02-28 10:49:23 UTC 10h ago apt-daily-upgrade.timer apt-daily-upgrade.service Sun 2023-02-28 09:00:06 UTC 11h left Sat 2023-02-28 20:58:06 UTC 5min ago apt-daily.timer apt-daily.service
Führe einen Probelauf des Prozesses durch, um zu prüfen, ob die SSL-Erneuerung einwandfrei funktioniert.
$ sudo certbot renew --dry-run
Wenn du keine Fehler siehst, bist du bereit. Dein Zertifikat wird automatisch erneuert.
Schritt 8 – Wallabag installieren
Erstelle das Verzeichnis /var/www/wallabag/html
.
$ sudo mkdir /var/www/html/wallabag -p
Lade die neueste Version von Wallabag herunter.
$ wget https://wllbg.org/latest-v2-package
Entpacke das Archiv.
$ tar xzf latest-v2-package
Verschiebe die Dateien aus dem extrahierten Verzeichnis in das zuvor erstellte Verzeichnis. Ändere den Befehl mit der richtigen Versionsnummer. Du kannst die neueste Version von Wallabag auf der GitHub-Releaseseite überprüfen. Die neueste Version zum Zeitpunkt der Erstellung dieses Tutorials ist 2.5.4.
$ sudo mv wallabag-2.5.4/* /var/www/html/wallabag
Erstelle das Asset-Verzeichnis.
$ sudo mkdir /var/www/html/wallabag/data/assets
Ändere die Berechtigungen des Verzeichnisses /var/www/html/wallabag
auf den aktuell angemeldeten Benutzer.
$ sudo chown -R $USER:$USER /var/www/html/wallabag
Wechsle in das Verzeichnis.
$ cd /var/www/html/wallabag
Erstelle die Datei parameters.yml
, indem du die Beispieldatei kopierst.
$ cp app/config/parameters.yml.dist app/config/parameters.yml
Bevor wir mit der Konfiguration von Wallabag beginnen, generiere einen geheimen Schlüssel. Notiere dir den Schlüssel für die spätere Verwendung.
$ openssl rand -base64 32 QLV/GpZwDobQbyQZQ15FkM1Hvt+ZFJZXw8GW9F4KR3o=
Öffne die Parameterdatei zum Bearbeiten.
$ nano app/config/parameters.yml
Suche den folgenden Abschnitt und trage die Zugangsdaten für die Datenbank ein. Der Datenbankport ist 3306 für MySQL.
.......... database_driver: pdo_mysql database_host: 127.0.0.1 database_port: 3306 database_name: wallabag database_user: wallabaguser database_password: Your_password2
Gib die Serverbeschreibung und den Domänennamen ein.
domain_name: https://wallabag.example.com server_name: "Howtoforge Wallabag"
Gib deine SMTP-Details ein. In unserem Fall verwenden wir den Amazon SES Service.
mailer_transport: smtp mailer_user: YOUR_AES_USERNAME mailer_password: YOUR_AES_PASSWORD mailer_host: email-smtp.us-west-2.amazonaws.com mailer_port: 587 mailer_encryption: tls
Gib den zuvor erstellten geheimen Schlüssel ein. Wenn du die Zwei-Faktor-Authentifizierung beibehalten willst, musst du die folgenden Einstellungen vornehmen. Wenn du die Benutzerregistrierung ausschalten willst, setze den Wert von fouser_registration
auf false
. Die Variable fouser_confirmation
ist auf true gesetzt, was bedeutet, dass jede Benutzerregistrierung per E-Mail bestätigt werden muss. Ändere den Wert der Variable from_email
auf die E-Mail-ID deiner Wahl.
# A secret key that's used to generate certain security-related tokens secret: QLV/GpZwDobQbyQZQ15FkM1Hvt+ZFJZXw8GW9F4KR3o= # two factor stuff twofactor_auth: true twofactor_sender: no-reply@wallabag.org # fosuser stuff fosuser_registration: true fosuser_confirmation: true ..... from_email: no-reply@wallabag.org .....
Es gibt noch weitere Sentrys, die mit Redis, RabbitMQ und den Sentry-Einstellungen zusammenhängen. Du kannst sie nach der Installation der genannten Pakete nach deinen Bedürfnissen konfigurieren.
Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Verwende Composer, um die von Wallabag benötigten Abhängigkeiten herunterzuladen und zu installieren.
$ SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
Schließe die Installation mit dem Wallabag-Kommandozeilentool ab.
$ php bin/console wallabag:install --env=prod
Du wirst gefragt, ob du die Datenbank und ihr Schema zurücksetzen möchtest. Gib beide Male no
als Antwort ein. Als Nächstes wirst du gefragt, ob du ein Administratorkonto erstellen möchtest. Gib yes
ein, um fortzufahren, und gib den Benutzernamen, das Passwort und die E-Mail-Adresse für das Konto ein.
wallabag installer ================== Step 1 of 4: Checking system requirements. ------------------------------------------ ------------------------ -------- ---------------- Checked Status Recommendation ------------------------ -------- ---------------- PDO Driver (pdo_mysql) OK! Database connection OK! Database version OK! curl_exec OK! curl_multi_init OK! ------------------------ -------- ---------------- [OK] Success! Your system can run wallabag properly. Step 2 of 4: Setting up database. --------------------------------- It appears that your database already exists. Would you like to reset it? (yes/no) [no]: > no Seems like your database contains schema. Do you want to reset it? (yes/no) [no]: > no Clearing the cache... Database successfully setup. Step 3 of 4: Administration setup. ---------------------------------- Would you like to create a new admin user (recommended)? (yes/no) [yes]: > yes Username [wallabag]: > navjot Password [wallabag]: > Email [wallabag@wallabag.io]: > navjot@example.com Administration successfully setup. Step 4 of 4: Config setup. -------------------------- Config successfully setup. [OK] wallabag has been successfully installed. [OK] You can now configure your web server, see https://doc.wallabag.org
Schalte die Verzeichnisberechtigung wieder auf Nginx um.
$ sudo chown -R nginx:nginx /var/www/html/wallabag
Schritt 9 – SELinux konfigurieren
Ändere den Dateisicherheitskontext für Wallabag und seine Unterverzeichnisse.
$ sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/wallabag(/.*)?" $ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wallabag/data(/.*)?" $ sudo semanage fcontext -a -t httpd_log_t "/var/www/html/wallabag/var/logs(/.*)?" $ sudo semanage fcontext -a -t httpd_cache_t "/var/www/html/wallabag/var/cache(/.*)?"
Wende die Richtlinien an.
$ sudo restorecon -R -v /var/www/html/wallabag
Wende die Richtlinie an, um Nginx den Zugriff auf MySQL zu erlauben.
$ sudo setsebool -P httpd_can_network_connect_db 1
Schritt 10 – Nginx und PHP konfigurieren
PHP-FPM konfigurieren
Öffne die Datei /etc/php/8.1/fpm/pool.d/www.conf
.
$ sudo nano /etc/php/8.1/fpm/pool.d/www.conf
Wir müssen den Unix-Benutzer/die Unix-Gruppe der PHP-Prozesse auf nginx setzen. Suche die Zeilen user=www-data
und group=www-data
in der Datei und ändere sie in nginx
.
... ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache user chosen to provide access to the same directories as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx ...
Als Nächstes kommentierst du die Zeilen Besitzer der Socket-Datei, Gruppe und Standardberechtigung aus und änderst sie wie unten gezeigt.
; Set permissions for unix socket, if one is used. In Linux, read/write ; permissions must be set in order to allow connections from a web server. ; Default Values: user and group are set as the running user ; mode is set to 0660 listen.owner = nginx listen.group = nginx listen.mode = 0660
Als nächstes kommentierst du die folgende Zeile aus, indem du ein Semikolon davor setzt.
;listen.acl_users = apache,nginx
Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Erhöhe die Ausführungszeit für PHP-FPM und PHP-CLI auf 60 Sekunden.
$ sudo sed -i 's/max_execution_time = 30/max_execution_time = 60/' /etc/php/8.1/fpm/php.ini $ sudo sed -i 's/max_execution_time = 30/max_execution_time = 60/' /etc/php/8.1/cli/php.ini
Erhöhe das Speicherlimit für PHP-FPM von 128 MB auf 256 MB.
$ sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php/8.1/fpm/php.ini
Starte den PHP-FPM-Dienst neu.
$ sudo systemctl restart php8.1-fpm
Ändere die Gruppe des PHP-Sessions-Verzeichnisses auf Nginx.
$ sudo chgrp -R nginx /var/lib/php/sessions
Nginx konfigurieren
Erstelle und öffne die Datei /etc/nginx/conf.d/wallabag.conf
zum Bearbeiten.
$ sudo nano /etc/nginx/conf.d/wallabag.conf
Füge den folgenden Code in die Datei ein.
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name wallabag.example.com; access_log /var/log/nginx/wallabag.access.log; error_log /var/log/nginx/wallabag.error.log; # SSL ssl_certificate /etc/letsencrypt/live/wallabag.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/wallabag.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/wallabag.example.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver 8.8.8.8; root /var/www/html/wallabag/web; location / { try_files $uri /app.php$is_args$args; } # Pass PHP Scripts To FastCGI Server location ~ ^/app\.php(/|$) { fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_pass unix:/run/php/php8.1-fpm.sock; # Depends On The PHP Version fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; include fastcgi_params; internal; } location ~ \.php$ { return 404; } } # enforce HTTPS server { listen 80; listen [::]:80; server_name wallabag.example.com; return 301 https://$host$request_uri; }
Beachte, dass das Stammverzeichnis, das in der Nginx-Konfiguration verwendet werden soll, /var/www/html/wallabag/public/
ist.
Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du danach gefragt wirst.
Öffne die Datei /etc/nginx/nginx.conf
zum Bearbeiten.
$ sudo nano /etc/nginx/nginx.conf
Füge die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf;
ein.
server_names_hash_bucket_size 64;
Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Überprüfe die Syntax der Nginx-Konfigurationsdatei.
$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starte den Nginx-Dienst neu.
$ sudo systemctl restart nginx
Schritt 11 – Zugriff auf Wallabag
Öffne die URL https://wallabag.example.com
in deinem Browser und du erhältst den folgenden Anmeldebildschirm.
Gib deine Anmeldedaten ein, die du während der Installation erstellt hast, und klicke auf die Schaltfläche LOG IN, um fortzufahren. Du wirst mit dem Wallabag Dashboard begrüßt.
Wallabag stellt dir eine Vielzahl von Apps für jeden Browser, jedes Handy oder jeden Ebook-Reader zur Verfügung, mit denen du Links hinzufügen kannst. Und wenn dir nichts anderes einfällt, kannst du auch ein Bookmarklet verwenden. Die Details dazu findest du unter How to
, indem du auf das Benutzersymbol oben rechts im Dashboard klickst.
Dort erhältst du Links zu den Browser-Erweiterungen, den mobilen Apps und dem Wallabag-Bookmarklet.
Das war’s schon. Du kannst Wallabag jetzt nutzen, um Artikel zum späteren Lesen zu speichern.
Fazit
Damit ist unser Tutorium zur Installation von Wallabag auf einem Rocky Linux 9 Server abgeschlossen. Wenn du Fragen hast, schreibe sie unten in die Kommentare.