Wallabag ist eine Art Service, den man später lesen kann. Es ermöglicht Ihnen, Webseiten zu speichern, damit Sie sie später in Ihrem eigenen Tempo lesen können. Es gibt viele Dienste, mit denen Sie dies tun können, wie Pocket, Instapaper usw., aber es ist von Vorteil, einen Dienst auf einem eigenen Server zu installieren. Zum einen wird es nicht aus dem Geschäft gehen und die Verbindungen damit zerstören. Und Sie können Ihre Browserdaten privat halten.
Dieses Tutorial behandelt die Installation und Einrichtung von Wallabag auf einem Server, auf dem Ubuntu 18.04 und höher ausgeführt wird. Es wird auch behandelt, wie man Nginx, MariaDB, Git, Postfix, Composer und PHP einrichtet, die alle von Wallabag zum Ausführen benötigt werden.
Voraussetzungen
Sie benötigen Folgendes, bevor Sie mit unserem Tutorial fortfahren.
-
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, das wir später verwenden werden, um die Wallabag-Installationsdateien aus seinem Git-Repository zu kopieren. Git ist heutzutage normalerweise auf den meisten Webservern installiert. Wenn dies nicht der Fall ist, 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 Firewall von Ubuntu verwenden, fügen Sie die folgenden Regeln zu ihrer 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 Nginx-Standardseite sehen, die bestätigt, dass Nginx erfolgreich installiert wurde.
Installieren Sie MariaDB
MariaDB ist ein Drop-in-Ersatz für MySQL, was bedeutet, dass die Befehle zum Ausführen und Betreiben von MariaDB dieselben sind wie die für MySQL. Um MariaDB zu installieren, führen Sie die folgenden Befehle aus
$ sudo apt install mariadb-server
Führen Sie den folgenden Befehl aus, um eine Standardkonfiguration durchzuführen, z. B. das Vergeben eines Root-Passworts, das Entfernen anonymer Benutzer, das Unterbinden der Root-Anmeldung aus der Ferne und das Löschen von Testtabellen. Drücken Sie für alles Ja und richten Sie ein Root-Passwort ein.
$ sudo mysql_secure_installation
Es gibt eine Einschränkung beim Einrichten des Root-Passworts. MariaDB erlaubt standardmäßig System-Root-Benutzern, sich ohne Passwort bei MariaDB anzumelden. Wenn Sie jedoch eine Anwendung eines Drittanbieters für den Zugriff über Root verwenden, ist ein Passwort ein Muss, da sonst Apps wie PHPMyAdmin fehlschlagen. Dazu müssen Sie die Plugin-basierte Authentifizierung deaktivieren, die die Standardoption von MariaDB ist.
Um die Plugin-Authentifizierung zu deaktivieren und das Root-Passwort wiederherzustellen, geben Sie zuerst die MySQL-Eingabeaufforderung ein, indem Sie den folgenden Befehl verwenden.
$ 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
Starten Sie danach Ihren MariaDB-Dienst neu.
$ sudo systemctl restart mariadb.service
Das ist es. Wenn Sie sich das nächste Mal bei MySQL anmelden möchten, verwenden Sie den folgenden Befehl
$ sudo mysql -u root -p
Und Sie werden nach Ihrem Root-Passwort gefragt, das Sie ursprünglich festgelegt hatten.
MariaDB für Wallabag konfigurieren
Jetzt müssen wir eine Datenbank für die Wallabag-Anwendung einrichten. Melden Sie sich dazu bei der MySQL-Eingabeaufforderung an. Wir gehen davon aus, dass Sie für den Rest des Tutorials die Standard-Authentifizierungsmethode von MariaDB verwenden (d. h. ohne Verwendung des Root-Passworts).
$ sudo mysql -u root
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, die eine Datenbank namens wallabag und einen Datenbankbenutzer namens wallabaguser einrichten und ihm 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
Installieren Sie PHP und Composer
Jetzt, da unser Server betriebsbereit ist, 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 mehrere 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 es fürs Erste. Zum konfigurierenden Teil von PHP und Composer kommen wir später noch. Kommen wir zum nächsten Schritt.
Nginx konfigurieren
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, 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
Weisen Sie als Nächstes den www-Daten, die von Nginx verwendet werden, den Besitz des Verzeichnisses zu.
$ sudo chown -R www-data:www-data /var/www/example.com/html
Stellen Sie sicher, dass die richtigen Berechtigungen festgelegt sind.
$ sudo chmod -R 755 /var/www/example.com
Erstellen Sie als Nächstes einen virtuellen Host für die Site.
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 geben Sie Y ein wenn Sie dazu aufgefordert werden. Als nächstes müssen wir diese Konfiguration aktivieren. Erstellen Sie dazu einen Link von dort zum Verzeichnis „sites-enabled“.
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Aufgrund zusätzlicher Servernamen kann es zu einem Memory-Bucket-Problem kommen. Um das zu beheben, öffnen Sie die Datei nginx.conf
$ sudo nano /etc/nginx/nginx.conf
Suchen Sie die server_names_hash_bucket_size
Direktive und entfernen Sie den #
Symbol zum Auskommentieren der Zeile:
server_names_hash_bucket_size 64;
Speicher die Datei. Stellen Sie als Nächstes sicher, dass die Nginx-Konfigurationen fehlerfrei sind.
$ sudo nginx -t
Wenn es keine Probleme gibt, starten Sie Nginx neu, um die neuen Änderungen zu aktivieren.
$ sudo systemctl restart nginx
Wallabag installieren
Klonen Sie zunächst Wallabag aus seinem GitHub-Repository. Da wir dem www-data-Benutzer die Berechtigungen des HTML-Ordners gegeben haben, müssen wir dorthin 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. Installiere Wallabag mit dem Befehl make.
$ cd html
$ make install
Während der Installation werden Ihnen einige Fragen gestellt.
Wenn Sie http
verwenden möchten , geben Sie http://example.com
ein 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 vergessenem Passwort oder Zwei-Faktor-Authentifizierung zu erhalten. Wenn Sie einen SMTP-Dienst eines Drittanbieters wie Mailgun oder Sendgrid verwenden möchten, können Sie die verbleibenden Werte eingeben oder einfach die Eingabetaste drücken durch sie. Geben Sie no
ein gegen den Parameter fosuser_registration
wenn Sie nicht möchten, dass sich jemand auf Ihrer Website registriert. Ändern Sie auch den Wert des secret
Parameter. Wenn Sie große Datenmengen 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 vorhandene Datenbank zurücksetzen möchten, drücken Sie Eingabe um die Standardoption (nein) zu verwenden. Sie werden auch aufgefordert, einen Admin-Benutzer zu erstellen.
Wechseln Sie zurück zu Ihrem Standard-Ubuntu-Benutzer-Login, wenn Sie fertig sind.
$ exit
SMTP konfigurieren
Wenn Sie einen einfachen SMTP-Server einrichten 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 Internet Site
und fortfahren. Geben Sie example.com
ein wenn Sie nach dem Feld System-E-Mail-Name gefragt werden. Das ist es.
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
Rufen Sie das Zertifikat für Ihre Domäne example.com ab.
$ sudo certbot --nginx -d example.com -d www.example.com
Wenn Sie das Certbot-Tool zum ersten Mal verwenden, werden Sie aufgefordert, eine E-Mail-Adresse anzugeben und den Nutzungsbedingungen zuzustimmen. Sie werden auch gefragt, ob Sie möchten, dass Ihre E-Mail mit EFF (Electronic Frontier Foundation) geteilt wird. Wählen Sie N wenn Sie nicht möchten, dass EFF Sie per E-Mail über Neuigkeiten 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 ist es. Ihre HTTPS-Domain ist aktiv. Certbot verlängert Ihre Domain automatisch alle 90 Tage. Führen Sie einen Probelauf durch, um den Erneuerungsprozess zu testen.
$ sudo certbot renew --dry-run
Wenn Sie keine Fehler sehen, bedeutet das, dass alles perfekt ist.
Wallabag konfigurieren
Nachdem wir Wallabag eingerichtet haben, öffnen Sie Ihre Wallabag-Domain. Sie sollten den folgenden Bildschirm sehen.
Geben Sie die Anmeldeinformationen ein, die Sie während des make
gewählt haben Vorgang oben. Nachdem Sie sich angemeldet haben, sollten Sie den folgenden Bildschirm sehen.
Sie sollten die Zwei-Faktor-Authentifizierung aktivieren. Klicken Sie dazu links auf die Schaltfläche Config und wählen Sie USER INFORMATION
aus Registerkarte aus dem folgenden Bildschirm. Aktivieren Sie das Häkchen Two-factor authentication
um es zu aktivieren.
Sie können Ihre Daten aus Pockets, Instapaper, Pinboard und Lesezeichen aus Firefox- und Chrome-basierten Browsern importieren.
Wallabag stellt Ihnen eine Vielzahl von Apps für jeden Browser, jedes Handy oder jeden Ebook-Reader zur Verfügung, 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 unter How to
zugreifen können Abschnitt in Ihren Einstellungen.
Upgrade Wallabag
Um Wallabag auf die neueste Version zu aktualisieren, führen Sie einfach die folgenden Befehle aus.
$ sudo -u www-data /bin/bash
$ cd /var/www/example.com/html
$ make update
Das war es für dieses Tutorial. Jetzt können Sie Artikel auf Ihrem Server speichern und lesen, ohne die Vertraulichkeit Ihrer Daten zu gefährden.