Wie man Wallabag auf Ubuntu 18.04 LTS installiert

Wallabag ist eine „Read it later“-Art von Service. Sie ermöglicht es Ihnen, Webseiten zu speichern, damit Sie sie später in Ihrem eigenen Freizeittempo lesen können. Es gibt viele Dienste, die dies ermöglichen, wie Pocket, Instapaper, usw., aber es ist vorteilhaft, einen Dienst auf einem eigenen Server zu installieren. Zum einen wird sie nicht aus dem Geschäft gehen und die Verbindungen mit ihr abbrechen. Und Sie können Ihre Browsing-Daten privat halten.

Dieses Tutorial behandelt die Installation und Einrichtung von Wallabag auf einem Server, der unter Ubuntu 18.04 und höher läuft. Es wird auch behandelt, wie man Nginx, MariaDB, Git, Postfix, Composer und PHP einrichtet, die alle von Wallabag benötigt werden, um zu laufen.

Voraussetzungen

Bevor Sie mit unserem Tutorial fortfahren können, benötigen Sie Folgendes.

  • Ein Ubuntu 18.04-basierter Server mit einem Nicht-Root-Benutzer mit sudo-Berechtigungen.
  • Sie benötigen auch das Make-Tool. Um es zu installieren, verwenden Sie einfach den folgenden Befehl
    $ sudo apt install make
    

Git installieren

Der erste Schritt ist die Installation von Git, die wir später verwenden werden, um die wallabag-Installationsdateien aus dem git-Repository zu kopieren. Git wird heutzutage normalerweise auf den meisten Webservern installiert. Wenn dies nicht der Fall ist, dann fahren Sie mit den folgenden Befehlen fort.

$ sudo apt install git
$ git config --global user.name "Your name"
$ git config --global user.email "[email protected]" 

Nginx installieren

$ sudo apt install nginx 

Wenn Sie die Ubuntu-Firewall verwenden, dann fügen Sie die folgenden Regeln zu deren Liste hinzu.

$ sudo ufw allow "Nginx HTTP" 

Überprüfen Sie auch den Status.

$ sudo ufw status 

Sie sollten so etwas sehen

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx HTTP                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Versuchen Sie, im Browser auf die IP-Adresse Ihres Servers zuzugreifen. Sie sollten die folgende Standard-Nginx-Seite sehen, die bestätigt, dass Nginx erfolgreich installiert wurde.

Nginx Willkommensseite

MariaDB installieren

MariaDB ist ein Drop-in-Ersatz für MySQL, was bedeutet, dass die Befehle zum Ausführen und Betreiben von MariaDB die gleichen sind wie die für MySQL. Um MariaDB zu installieren, geben Sie die folgenden Befehle ein

$ sudo apt install mariadb-server 

Führen Sie den folgenden Befehl aus, um die Standardkonfiguration durchzuführen, z. B. um ein Root-Passwort zu vergeben, anonyme Benutzer zu entfernen, die Remote-Anmeldung von Root zu verbieten und Testtabellen zu löschen. Drücken Sie für alles „Ja“ und richten Sie ein Root-Passwort ein.

$ sudo mysql_secure_installation 

Es gibt einen Vorbehalt bei der Einrichtung des Root-Passwortes. MariaDB erlaubt es den Systemroot-Benutzern standardmäßig, sich bei MariaDB ohne Passwort anzumelden. Wenn Sie jedoch eine Anwendung eines Drittanbieters für den Zugriff über Root verwenden wollen, ist ein Passwort ein Muss, sonst werden Anwendungen wie PHPMyAdmin fehlschlagen. Dazu müssen Sie die Plugin-basierte Authentifizierung deaktivieren, die die Standardoption in MariaDB ist.

Um die Plugin-Authentifizierung zu deaktivieren und das Root-Passwort wiederherzustellen, geben Sie zunächst die MySQL-Eingabeaufforderung mit dem folgenden Befehl ein.

$ sudo mysql -u root 

Geben Sie nun die folgenden Befehle ein, um die Plugin-Authentifizierung zu deaktivieren.

use mysql;
update user set plugin='' where User='root';
flush privileges;
exit 

Danach starten Sie Ihren MariaDB-Dienst neu.

$ sudo systemctl restart mariadb.service 

Das war’s. Wenn Sie sich das nächste Mal bei MySQL anmelden wollen, benutzen Sie folgenden Befehl

$ sudo mysql -u root -p 

Und Sie werden nach Ihrem Root-Passwort gefragt, das Sie ursprünglich festgelegt haben.

MariaDB für Wallabag konfigurieren

Jetzt müssen wir eine Datenbank für die Wallabag-Anwendung einrichten. Um diese Anmeldung an der MySQL-Eingabeaufforderung durchzuführen. Wir gehen davon aus, dass Sie für den Rest des Tutorials die Standardauthentifizierungsmethode von MariaDB verwenden (d.h. ohne Verwendung des Root-Passworts).

$ sudo mysql -u root 

Geben Sie an der Eingabeaufforderung folgende Befehle ein, die eine Datenbank mit dem Namen wallabag und einen Datenbankbenutzer mit dem Namen wallabaguser einrichten und ihm den Zugriff auf die Datenbank gewähren.

create database wallabag;
create user [email protected];
set password for [email protected]= password("yourpassword");
grant all privileges on wallabag.* to [email protected] identified by "yourpassword";
flush privileges;
exit

PHP und Komponist installieren

Jetzt, wo unser Server läuft, ist es an der Zeit, PHP und Composer zu installieren. Da wir Nginx verwenden, müssen wir das PHP-FPM-Paket installieren. Daneben benötigen wir verschiedene andere PHP-Erweiterungen wie mbstring, mysql, gd, bc-math, curl, zip und xml.

$ sudo apt install php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-gettext php-tokenizer
$ sudo apt install composer 

Das war’s fürs Erste. Auf den Konfigurationsteil von PHP und den Komponisten kommen wir später noch zu sprechen. Lassen Sie uns zum nächsten Schritt übergehen.

Konfigurieren Sie Nginx

Es ist an der Zeit, unsere Nginx-Installation zu konfigurieren, bevor wir mit der eigentlichen Installation fortfahren. Angenommen der Domainname, den Sie für wallabag verwenden, ist example.com, dann erstellen Sie ein Verzeichnis, in dem Sie Ihre Installation hosten werden. Wallabag wird im html-Verzeichnis installiert.

$ sudo mkdir -p /var/www/example.com/html 

Als nächstes weisen Sie den von Nginx verwendeten www-Daten das Eigentum an dem Verzeichnis zu.

$ sudo chown -R www-data:www-data /var/www/example.com/html 

Stellen Sie sicher, dass die richtigen Berechtigungen eingestellt sind.

$ sudo chmod -R 755 /var/www/example.com 

Als nächstes erstellen Sie einen virtuellen Host für die Website.

sudo nano /etc/nginx/sites-available/example.com 

Fügen Sie die folgende Konfiguration ein, die mit Wallabag funktioniert.

server {
    server_name example.com www.example.com;
    root /var/www/example/html/web;

    location / {
        try_files $uri /app.php$is_args$args;
    }
    location ~ ^/app\.php(/|$) {
        # replace php7.2-fpm with whichever php 7.x version you are using
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        internal;
    }

    location ~ \.php$ {
        return 404;
    }

    error_log /var/log/nginx/wallabag_error.log;
    access_log /var/log/nginx/wallabag_access.log;
}

Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden. Als nächstes müssen wir diese Konfiguration aktivieren. Erstellen Sie dazu einen Link von ihr zum Site-aktivierten Verzeichnis.

$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ 

Möglicherweise stehen Sie vor einem Memory-Bucket-Problem, das durch zusätzliche Servernamen entsteht. Um dies zu beheben, öffnen Sie die Datei nginx.conf

$ sudo nano /etc/nginx/nginx.conf 

Finden Sie die server_names_hash_bucket_sizeRichtlinie und entfernen Sie das #Symbol, um die Zeile auszukommentieren:

server_names_hash_bucket_size 64; 

Speichern Sie die Datei. Stellen Sie als Nächstes sicher, dass keine Fehler in Nginx-Konfigurationen auftreten.

$ sudo nginx -t 

Wenn es keine Probleme gibt, starten Sie Nginx neu, um die neuen Änderungen zu aktivieren.

$ sudo systemctl restart nginx 

Wallabag installieren

Erstens: Klonen Sie Wallabag aus seinem GitHub-Depot. Da wir die Berechtigungen des html-Ordners an den Benutzer www-data vergeben haben, müssen wir auf diesen wechseln, um die Installation auszuführen.

$ sudo -u www-data /bin/bash
$ cd /var/www/example.com
git clone https://github.com/wallabag/wallabag.git html

Dadurch werden die wallabag-Installationsdateien in das html-Verzeichnis kopiert. Installieren Sie Wallabag mit dem Befehl make.

$ cd html
$ make install

Während der Installation werden Ihnen mehrere Fragen gestellt.

Wenn Sie Folgendes verwenden möchten http, eingeben http://example.com stattdessen, wenn Sie nach dem Domänennamen gefragt werden, und überspringen Sie den HTTPS-Teil des Tutorials.

database_driver (pdo_mysql): pdo_mysql
database_driver_class (null): Press Enter
database_host (127.0.0.1): 127.0.0.1
database_port (null): 3306
database_name (wallabag): wallabag
database_user (root): wallabaguser
database_password (null): wallabagpassword
database_path (null): Press Enter
database_table_prefix (wallabag_): Prefix of your choice or Press Enter for the default.
database_socket (null): Press Enter
database_charset (utf8mb4): Press Enter
domain_name ('https://your-wallabag-url-instance.com'): http://example.com 

Sie werden auch nach den SMTP-Details gefragt, um Mails bezüglich des vergessenen Passworts oder der Zwei-Faktor-Authentifizierung zu erhalten. Wenn Sie einen SMTP-Dienst eines Drittanbieters wie Mailgun oder Sendgrid verwenden möchten, können Sie die restlichen Werte ausfüllen oder einfach die Eingabetaste drücken. no gegen den Parameter fosuser_registration wenn Sie nicht wollen, dass sich jemand auf Ihrer Website registriert. Ändern Sie auch den Wert der secret Parameter. Wenn Sie große Daten importieren müssen, installieren Sie RabbitMQ oder Redis und geben Sie die Werte ein, wenn Sie dazu aufgefordert werden.

Wenn Sie gefragt werden, ob Sie Ihre bestehende Datenbank zurücksetzen möchten, drücken Sie die Eingabetaste, um die Standardoption (nein) zu verwenden. Sie werden auch aufgefordert, einen Admin-Benutzer anzulegen.

Wechseln Sie zu Ihrer Standard-Ubuntu-Benutzeranmeldung zurück, wenn Sie fertig sind.

$ exit

Konfigurieren Sie SMTP

Wenn Sie einen einfachen SMTP-Server einrichten möchten und keine SMTP-Dienste von Drittanbietern verwenden möchten, installieren Sie Mailutils.

$ sudo apt install mailutils

Während der Installation werden Sie aufgefordert, einen Konfigurationstyp für Postfix auszuwählen. Wählen Sie aus Internet Siteund fahren Sie fort. Geben Sie den Namen ein, example.comwenn Sie nach dem Feld System-Mail-Name gefragt werden. Das war’s.

HTTPS konfigurieren

Wir werden Let’s Encrypt verwenden, um HTTPS für unsere Wallabag-Installation einzurichten. Fügen Sie das folgende Repository für das Certbot-Tool hinzu.

$ sudo add-apt-repository ppa:certbot/certbot

Installieren Sie das Certbot Nginx-Paket aus dem Repository.

$ sudo apt install python-certbot-nginx

Erhalten Sie das Zertifikat für Ihre Domain example.com.

$ sudo certbot --nginx -d example.com -d www.example.com

Wenn Sie zum ersten Mal mit dem Certbot-Tool arbeiten, werden Sie gebeten, eine E-Mail zu senden und den Nutzungsbedingungen zuzustimmen. Du wirst auch gefragt, ob du möchtest, dass deine E-Mail an die EFF (Electronic Frontier Foundation) weitergeleitet wird. Wählen Sie N, wenn Sie nicht möchten, dass die EFF Sie per E-Mail über ihre Nachrichten und Kampagnen informiert.

Wenn dies erfolgreich ist, fragt Certbot Sie, wie Sie Ihre HTTPS-Einstellungen konfigurieren möchten.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
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):

Wählen Sie 2, da wir möchten, dass alle Anfragen an Ihre Domain auf https umgeleitet werden.

Das war’s. Ihre HTTPS-Domäne ist live. Certbot erneuert Ihre Domain automatisch nach jeweils 90 Tagen. Um den Erneuerungsprozess zu testen, führen Sie einen Probelauf durch.

$ sudo certbot renew --dry-run

Wenn Sie keine Fehler sehen, bedeutet das, dass alles perfekt ist.

Wallabag konfigurieren

Jetzt, wo wir Wallabag eingerichtet haben, öffnen Sie Ihre Wallabag-Domain. Sie sollten den folgenden Bildschirm sehen.

Wallabag-Anmeldung

Geben Sie die Anmeldedaten ein, die Sie während des obigen makeProzesses gewählt haben. Nach dem Einloggen sollten Sie den folgenden Bildschirm sehen.

Wallabag dashboard

Sie sollten die Zwei-Faktor-Authentifizierung aktivieren. Klicken Sie dazu auf die Schaltfläche Config auf der linken Seite und wählen Sie die USER INFORMATIONRegisterkarte aus dem folgenden Bildschirm. Aktivieren Sie das HäkchenTwo-factor authentication, um es zu aktivieren.

Wallabag-Einstellungen

Sie können Ihre Daten aus Pockets, Instapaper, Pinboard und Lesezeichen aus Firefox und Chrome-basierten Browsern importieren.

Wallabag bietet Ihnen eine Vielzahl von Anwendungen für jeden Browser, jedes Handy oder Ebook-Lesegerät, mit denen Sie Links hinzufügen können. Und wenn Ihnen nichts anderes einfällt, können Sie sogar ein Bookmarklet verwenden, auf dessen Einzelheiten Sie über den How toAbschnitt in Ihren Einstellungen zugreifen können.

Wie man Wallabag benutzt

Upgrade Wallabag

Um Wallabag auf die neueste Version zu aktualisieren, geben Sie einfach die folgenden Befehle ein.

$ sudo -u www-data /bin/bash
$ cd /var/www/example.com/html
$ make update

Das war’s mit diesem Tutorial. Jetzt können Sie Artikel von Ihrem Server speichern und lesen, ohne die Privatsphäre Ihrer Daten zu gefährden.

Das könnte Dich auch interessieren …