Wallabag ist eine kostenlose, selbst hostbare Anwendung zum Speichern von Webseiten. Es ist eine Open-Source-Alternative zu anderen proprietären Read-Later-Apps wie Pocket und Instapaper , mit dem Sie eine Liste von Artikeln verwalten können, auf die Sie im Internet gestoßen sind, um sie später zu lesen.
Wallabag-Eigenschaften:
- Wallabag entfernt Anzeigen und andere Inhalte von Ihren Webseiten und stellt nur Artikeltext und zugehörige Bilder bereit, damit sie leicht gelesen werden können. Dies ist besonders nützlich, wenn Sie sie auf einem Smartphone oder Tablet anzeigen.
- Wallabag speichert Ihre Webseiten in einer Datenbank, sodass Sie selbst wenn die ursprüngliche Webseite verschwindet, sie immer noch in Wallabag anzeigen können .
- Sie können ganz einfach Ihre gesamte Webseite in eine TXT-, HTML-, CSV-, EPUB-, MOBI-, PDF- oder JSON-Datei exportieren.
- Sie können auch die Wallabag-Browsererweiterung und die Smartphone-App installieren, um einfach auf Wallabag zuzugreifen.
- Die Möglichkeit, Lesezeichen aus dem Firefox- und Google Chrome- (oder Chromium-) Browser zu importieren.
Dieses Tutorial behandelt, wie Sie Ihren eigenen Wallabag-Dienst auf einem Ubuntu 16.04 hosten Server oder VPS.
Voraussetzungen
Um Wallabag zu installieren, benötigen Sie Zugriff auf einen Benutzer mit root Privilegien.
Es wird davon ausgegangen, dass Sie bereits eine LAMP eingerichtet haben Stack oder LEMP Stack auf Ubuntu 16.04. Wallabag kann mit PHP>=5.5, einschließlich PHP 7, ausgeführt werden. Wenn Sie dies noch nicht getan haben, sehen Sie sich die folgenden leicht verständlichen Anleitungen an.
- Installieren Sie Apache, MariaDB und PHP7 (LAMP Stack) auf Ubuntu 16.04 LTS
- Installieren Sie Nginx, MariaDB und PHP7 (LEMP Stack) auf Ubuntu 16.04 LTS
Wenn Sie fertig sind, kommen Sie hierher zurück und lesen Sie weiter.
Melden Sie sich über SSH an
Melden Sie sich bei Ihrem Server als der neue Benutzer an, den Sie erstellt haben (oder root) über SSH (ersetzen Sie hier Ihren Benutzernamen und Ihre Server-IP-Adresse):
ssh new_user@server_IP_address
Beantworten Sie die Passwortabfrage, um den Anmeldevorgang abzuschließen.
Beginnen wir mit der Wallabag-Installation!
Schritt 1:Erstellen Sie eine Datenbank und einen Benutzer für Wallabag
Wallabag benötigt eine Datenbank, um Ihre Webseiten zu speichern, und wir werden in diesem Tutorial die MariaDB/MySQL-Datenbank verwenden. Führen Sie den folgenden Befehl aus, um sich als root bei der MariaDB/MySQL-Shell anzumelden. Beachten Sie, dass dies der MariaDB/MySQL-Root-Benutzer ist, nicht der Root-Benutzer des Ubuntu 16.04-Systems.
mysql -u root -p
Wenn Sie Access denied for user 'root'@'localhost'
sehen Fehler, dann müssen Sie die Unix-Socket-Authentifizierung deaktivieren.
Erstellen Sie dann mit dem folgenden Befehl eine neue Datenbank für Wallabag. Dieses Tutorial nennt es Wallabag, Sie können einen beliebigen Namen für die Datenbank verwenden.
create database wallabag;
Erstellen Sie als Nächstes mit dem folgenden Befehl einen neuen Datenbankbenutzer auf localhost. Auch dieses Tutorial nennt es Wallabaguser, Sie können einen beliebigen Namen verwenden.
create user wallabaguser@localhost;
Legen Sie ein Passwort für den Benutzer fest. Ersetzen Sie Ihr-Passwort durch Ihr bevorzugtes Passwort.
set password for wallabaguser@localhost= password("your-password");
Gewähren Sie dann dem neuen Benutzer alle Berechtigungen für die neue Datenbank, damit Wallabag später in die Datenbank schreiben kann.
grant all privileges on wallabag.* to wallabaguser@localhost identified by 'your-password';
Leeren Sie die Berechtigungstabelle, damit die Änderungen wirksam werden.
flush privileges;
Verlassen Sie die MariaDB-Shell:
exit;
Ihre Webseiten werden in wallabag_entry
gespeichert Tabelle, nachdem Sie wallabag am Ende dieses Tutorials installiert haben.
Schritt 2:Installieren Sie das php7.0-mysql-Paket
Eine weitere wichtige Sache, die wir in Bezug auf die Datenbank tun müssen, ist die Installation des Pakets php7.0-mysql.
sudo apt install php7.0-mysql
Der php7.0-mysql
Pakete stellt pdo_mysql
bereit Treiber, der von Wallabag verwendet wird, um sich mit der MariaDB/MySQL-Datenbank zu verbinden, andernfalls hat Wallabag keine Möglichkeit, sich damit zu verbinden. Wenn Sie PHP als Apache-Modul ausführen, müssen Sie nach der Installation des Pakets den Apache-Webserver neu starten, damit der Treiber aktiviert wird.
sudo systemctl restart apache2
Wenn Sie PHP mit php7.0-fpm ausführen, müssen Sie Apache oder php7.0-fpm nicht neu starten. Die pdo_mysql
Der Treiber wird nach der Installation automatisch aktiviert.
Wenn Sie nicht sicher sind, ob Sie Apache module
verwenden oder php7.0-fpm
, erstellen Sie dann eine test.php
Datei im Dokumentstammverzeichnis (standardmäßig /var/www/html
).
sudo nano /var/www/html/test.php
Fügen Sie dann den folgenden PHP-Code in die Datei ein.
<?php phpinfo(); ?>
Drücken Sie Strg+O um die Datei zu speichern, drücken Sie dann Strg+X beenden. Geben Sie nun in der Adressleiste des Browsers
einserver-ip-address/test.php
Ersetzen Sie Server-IP-Adresse durch Ihre tatsächliche IP. Sie sollten die PHP-Informationen Ihres Servers sehen. Wenn der Wert von Server API
ist Apache 2.0 Handler
, dann verwenden Sie PHP7.0 als Apache-Modul. Wenn der Wert PHP7.0-FPM
ist , dann läuft PHP als FPM-Dienst.
Schritt 3:Wallabag installieren
Wir werden das Git-Tool verwenden, um das Wallabag-Repository von Github zu klonen und später Wallabag mit Composer zu installieren. Installieren Sie also git auf Ubuntu 16.04 mit dem folgenden Befehl:
sudo apt install git
Klonen Sie dann das Wallabag-Repository und ändern Sie Ihr Arbeitsverzeichnis in das Repository.
git clone https://github.com/wallabag/wallabag.git cd wallabag
Die neueste Version von Wallabag (2.1.2) wurde am 17. Oktober 2016 veröffentlicht. Wechseln Sie mit dem git checkout
zu Version 2.1.2 Befehl.
git checkout 2.1.2
Bevor wir Wallabag mit Composer installieren, müssen wir sicherstellen, dass die folgenden PHP-Erweiterungen auf Ubuntu 16.04 installiert sind.
sudo apt install php7.0-bcmath php7.0-xml php7.0-zip php7.0-curl php7.0-mbstring php7.0-gd
Als nächstes müssen wir Composer installieren, einen Abhängigkeitsmanager für PHP. Es wird alle notwendigen Wallabag-Abhängigkeiten für uns herunterladen und installieren.
sudo apt install composer
Setzen Sie nun die Symfony-Variable und installieren Sie Wallabag mit dem folgenden Befehl. SYMFONY_ENV=prod
teilt Symfony mit, dass wir Wallabag in einer Produktionsumgebung installieren. Der --no-dev
Flag stellt sicher, dass keine Entwicklungspakete in der Produktionsumgebung installiert werden.
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
Während des Installationsvorgangs lädt Composer alle erforderlichen Abhängigkeiten herunter und installiert sie.
Danach werden Sie aufgefordert, fehlende Parameter anzugeben, damit die app/config/parameters.yml
Datei erstellt werden kann. Composer bietet bereits einige Standardwerte, aber sie können nicht für einen Wallabag-Produktionsdienst verwendet werden.
Lassen Sie uns die Fragen der Einfachheit halber in zwei Teile aufteilen. Im ersten Teil geht es um Datenbankparameter. Hier sind die Fragen und die Parameter, die dieses Tutorial bereitstellt.
Creating the "app/config/parameters.yml" file Some parameters are missing. Please provide them. database_driver (pdo_sqlite): pdo_mysql database_host (127.0.0.1): 127.0.0.1 database_port (null): 3306 database_name (symfony): wallabag database_user (root): wallabaguser database_password (null): your-password database_path ('%kernel.root_dir%/../data/db/wallabag.sqlite'): /var/lib/mysql/wallabag database_table_prefix (wallabag_): wallabag_
Diese erste Frage ist, welchen Datenbanktreiber, dh welche Datenbank Sie für Wallabag verwenden möchten. Der Standardtreiber ist pdo_sqlite
was bedeutet, dass die SQLite-Datenbank zum Speichern von Webseiten verwendet wird. In diesem Artikel wird MariaDB/MySQL verwendet, da sie schnell und das beliebteste Open-Source-Verwaltungssystem für relationale Datenbanken sind. Wir haben bereits den pdo_mysql
aktiviert Treiber am Anfang dieses Artikels. Geben Sie also pdo_mysql
ein als Antwort auf die erste Frage.
Die anderen Fragen sind einfach zu beantworten. Geben Sie 127.0.0.1
ein als Datenbankhost und 3306
als Datenbankport, da die MariaDB/MySQL-Datenbank standardmäßig auf 127.0.0.1:3306 lauscht. Geben Sie dann den Datenbanknamen, den Datenbankbenutzer und das Datenbankbenutzerpasswort ein, die Sie in Schritt 1 erstellt haben. Der Standarddatenbankpfad von MariaDB/MySQL ist /var/lib/mysql
. Alle Ihre Datenbanken und Tabellen werden in diesem Verzeichnis gespeichert. Das Präfix der Datenbanktabelle hilft Ihnen zu erkennen, dass diese Tabellen für Wallabag sind.
Jetzt können Sie im zweiten Teil einfach die Eingabetaste drücken, um die Standardwerte zu verwenden.
mailer_transport (smtp): mailer_host (127.0.0.1): mailer_user (null): mailer_password (null): locale (en): secret (ovmpmAWXRCabNlMgzlzFXDYmCFfzGv): twofactor_auth (true): twofactor_sender ([email protected]): fosuser_confirmation (true): from_email ([email protected]):
Führen Sie anschließend den folgenden Befehl aus.
php bin/console wallabag:install --env=prod
Es überprüft die Systemanforderungen und richtet die Datenbank ein. Wenn Sie gefragt werden, ob Sie die Datenbank zurücksetzen möchten, drücken Sie n mit nein antworten. Dann werden Sie aufgefordert, einen Admin-Benutzer zu erstellen.
Installing Wallabag... Step 1 of 5. Checking system requirements. +-----------------+--------+----------------+ | Checked | Status | Recommendation | +-----------------+--------+----------------+ | PDO Driver | OK! | | | curl_exec | OK! | | | curl_multi_init | OK! | | +-----------------+--------+----------------+ Success! Your system can run Wallabag properly. Step 2 of 5. Setting up database. It appears that your database already exists. Would you like to reset it? (y/N)n Creating schema Clearing the cache Step 3 of 5. Administration setup. Would you like to create a new admin user (recommended) ? (Y/n)y Username (default: wallabag) : your-admin-username Password (default: wallabag) : admin-pasword-here Email: admin-email-here Step 4 of 5. Config setup. Step 5 of 5. Installing assets. Wallabag has been successfully installed. Just execute `php bin/console server:run --env=prod` for using wallabag: http://localhost:8000
Schritt 2 erstellt Wallabag-Datenbanktabellen. Sobald dies erledigt ist, verschieben wir das Wallabag-Verzeichnis nach /var/www/
.
cd ~ sudo mv ~/wallabag/ /var/www/
Legen Sie dann den Apache-Benutzer (www-data) als Eigentümer fest.
sudo chown www-data:www-data /var/www/wallabag -R
Schritt 4:Richten Sie den virtuellen Apache-Host ein
Erstellen Sie eine virtuelle Host-Konfigurationsdatei für Wallabag.
sudo nano /etc/apache2/sites-available/wallabag.conf
Wenn Sie PHP als Apache-Modul verwenden, kopieren Sie den folgenden Text und fügen Sie ihn in die Konfigurationsdatei ein. Ersetzen Sie wallabag.example.com
mit eigenem Domainnamen. Sie sollten Ihren Domänennamen auch auf die IP-Adresse Ihres Ubuntu 16.04-Servers im DNS verweisen.
<VirtualHost *:80> ServerName wallabag.exmaple.com ServerAlias wallabag.example.com DocumentRoot /var/www/wallabag/web <Directory /var/www/wallabag/web> AllowOverride None Order Allow,Deny Allow from All <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L] </IfModule> </Directory> # uncomment the following lines if you install assets as symlinks # or run into problems when compiling LESS/Sass/CoffeScript assets # <Directory /var/www/wallabag> # Options FollowSymlinks # </Directory> # optionally disable the RewriteEngine for the asset directories # which will allow apache to simply reply with a 404 when files are # not found instead of passing the request into the full symfony stack <Directory /var/www/wallabag/web/bundles> <IfModule mod_rewrite.c> RewriteEngine Off </IfModule> </Directory> ErrorLog /var/log/apache2/wallabag_error.log CustomLog /var/log/apache2/wallabag_access.log combined </VirtualHost>
Die obige Konfiguration verwendet PHP als Apache-Modul. Wenn Sie PHP mit php7.0-fpm ausführen möchten, fügen Sie den ProxyPassMatch
hinzu Regel unter CustomLog
.
..... CustomLog /var/log/apache2/wallabag_access.log combined ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/run/php/php7.0-fpm.sock|fcgi://localhost/var/www/wallabag/web/ </VirtualHost>
Speichern und schließen Sie die Datei. In der obigen Konfiguration haben wir das Apache-Umschreibungsmodul verwendet, um die URL umzuschreiben. Wir müssen sicherstellen, dass mod_rewrite
wird durch Ausführen des folgenden Befehls aktiviert, damit das URL-Umschreiben funktioniert und das Wallabag-Frontend ordnungsgemäß angezeigt werden kann.
sudo a2enmod rewrite
Aktivieren Sie dann diesen virtuellen Host, indem Sie einen symbolischen Link erstellen.
sudo ln -s /etc/apache2/sites-available/wallabag.conf /etc/apache2/sites-enabled/
Und um die obigen Änderungen zu übernehmen, starten Sie Apache neu.
sudo systemctl restart apache2
Jetzt sollten Sie auf Ihre Wallabag-Weboberfläche unter wallabag.example.com
zugreifen können und melden Sie sich an.
Einrichten der Nginx-Serverblockdatei
Erstellen Sie die Datei.
sudo nano /etc/nginx/conf.d/wallabag.conf
Kopieren Sie den folgenden Text und fügen Sie ihn in die Konfigurationsdatei ein. Ersetzen Sie wallabag.example.com durch Ihren eigenen Domainnamen. Sie sollten Ihren Domänennamen auch auf die IP-Adresse Ihres Ubuntu 16.04-Servers im DNS verweisen.
server { server_name wallabag.example.com; root /var/www/wallabag/web; location / { # try to serve file directly, fallback to app.php try_files $uri /app.php$is_args$args; } location ~ ^/app\.php(/|$) { fastcgi_pass unix:/run/php/php7.0-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; } error_log /var/log/nginx/wallabag_error.log; access_log /var/log/nginx/wallabag_access.log; }
Speichern und schließen Sie die Datei. Laden Sie dann Nginx neu, damit der Serverblock aktiviert werden kann.
sudo systemctl reload nginx
Jetzt solltest du auf deine Wallabag-Weboberfläche unter wallabag.example.com
zugreifen können und melden Sie sich an.
Einrichten eines Basis-SMTP-Servers
Beachten Sie, dass zum Registrieren neuer Benutzer auf Ihrem Ubuntu 16.04-Server ein SMTP-Server ausgeführt werden muss, um Bestätigungs-E-Mails an neue Benutzer zu senden. Zu diesem Zweck können Sie Postfix verwenden.
sudo apt install postfix
Während der Installation werden Sie aufgefordert, einen Konfigurationstyp für Postfix auszuwählen. Wählen Sie Internet Site
damit Postfix E-Mails an andere SMTP-Server im Internet senden kann.
Geben Sie im Feld für den System-E-Mail-Namen etwas wie wallabag.your-domain.com
ein .
Und jetzt sind wir endlich fertig und können mit dem Speichern von Webseiten beginnen. Prost!
Ich hoffe, dieses Tutorial hat Ihnen geholfen, Wallabag auf einem Ubuntu 16.04-Server mit LAMP oder LEMP zu installieren. Wie immer, wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie unseren kostenlosen Newsletter oder folgen Sie uns auf Google+, Twitter oder liken Sie unsere Facebook-Seite.