Sac mural est une application auto-hébergée gratuite pour enregistrer des pages Web. C'est une alternative open source à d'autres applications propriétaires à lecture ultérieure comme Pocket et Instapaper , vous permettant de gérer une liste d'articles que vous avez trouvés sur Internet pour une lecture ultérieure.
Caractéristiques de Wallabag :
- Wallabag supprime les publicités et les éléments sans rapport de vos pages Web et ne fournit que le texte de l'article et les images associées afin qu'ils puissent être facilement lus. Ceci est particulièrement utile lorsque vous les visualisez sur un smartphone ou une tablette.
- Wallabag enregistre vos pages Web dans une base de données afin que même si la page Web d'origine disparaît, vous puissiez toujours la consulter dans Wallabag .
- Vous pouvez facilement exporter toutes vos pages Web vers un fichier TXT, HTML, CSV, EPUB, MOBI, PDF ou JSON.
- Vous pouvez également installer l'extension de navigateur Wallabag et l'application pour smartphone pour accéder facilement à Wallabag.
- La possibilité d'importer des signets à partir du navigateur Firefox et Google Chrome (ou Chromium).
Ce tutoriel explique comment héberger votre propre service Wallabag sur un Ubuntu 16.04 serveur ou VPS.
Prérequis
Pour installer wallabag, vous devrez avoir accès à un utilisateur avec root privilèges.
Il est supposé que vous avez déjà configuré une LAMPE pile ou LEMP pile sur Ubuntu 16.04. Wallabag est capable de fonctionner avec PHP>=5.5, y compris PHP 7. Si vous ne l'avez pas déjà fait, consultez les guides faciles à suivre suivants.
- Installer Apache, MariaDB et PHP7 (pile LAMP) sur Ubuntu 16.04 LTS
- Installer Nginx, MariaDB et PHP7 (pile LEMP) sur Ubuntu 16.04 LTS
Une fois que vous avez terminé, revenez ici et lisez la suite.
Se connecter via SSH
Connectez-vous à votre serveur en tant que nouvel utilisateur que vous avez créé (ou root) via SSH (remplacez ici votre nom d'utilisateur et l'adresse IP du serveur) :
ssh new_user@server_IP_address
Répondez à l'invite de mot de passe pour terminer le processus de connexion.
Commençons par l'installation de Wallabag !
Étape 1 :Créer une base de données et un utilisateur pour Wallabag
Wallabag a besoin d'une base de données pour stocker vos pages Web et nous allons utiliser la base de données MariaDB/MySQL dans ce tutoriel. Exécutez la commande suivante pour vous connecter au shell MariaDB/MySQL en tant que root. Notez qu'il s'agit de l'utilisateur racine MariaDB/MySQL, et non de l'utilisateur racine du système Ubuntu 16.04.
mysql -u root -p
Si vous voyez Access denied for user 'root'@'localhost'
erreur, vous devez désactiver l'authentification par socket unix.
Créez ensuite une nouvelle base de données pour Wallabag à l'aide de la commande suivante. Ce tutoriel le nomme wallabag, vous pouvez utiliser le nom de votre choix pour la base de données.
create database wallabag;
Ensuite, créez un nouvel utilisateur de base de données sur localhost à l'aide de la commande suivante. Encore une fois, ce tutoriel le nomme wallabaguser, vous pouvez utiliser le nom que vous voulez.
create user wallabaguser@localhost;
Définissez un mot de passe pour l'utilisateur. Remplacez your-password par votre mot de passe préféré.
set password for wallabaguser@localhost= password("your-password");
Accordez ensuite toutes les autorisations de la nouvelle base de données au nouvel utilisateur afin que plus tard Wallabag puisse écrire dans la base de données.
grant all privileges on wallabag.* to wallabaguser@localhost identified by 'your-password';
Videz la table des privilèges pour que les modifications prennent effet.
flush privileges;
Quittez MariaDB Shell :
exit;
Vos pages Web seront stockées dans wallabag_entry
tableau après avoir terminé l'installation de wallabag à la fin de ce tutoriel.
Étape 2 :Installez le package php7.0-mysql
Une autre chose importante que nous devons faire concernant la base de données est d'installer le package php7.0-mysql.
sudo apt install php7.0-mysql
Le php7.0-mysql
packages fournit le pdo_mysql
pilote qui sera utilisé par wallabag pour se connecter à la base de données MariaDB/MySQL, sinon Wallabag n'a aucun moyen de s'y connecter. Si vous exécutez PHP en tant que module Apache, une fois le package installé, vous devez redémarrer le serveur Web Apache pour que le pilote soit activé.
sudo systemctl restart apache2
Si vous exécutez PHP avec php7.0-fpm, vous n'avez pas besoin de redémarrer Apache ou php7.0-fpm. Le pdo_mysql
le pilote sera activé automatiquement après l'installation.
Si vous n'êtes pas sûr d'utiliser le Apache module
ou php7.0-fpm
, puis créez un test.php
fichier sous la racine du document (par défaut /var/www/html
).
sudo nano /var/www/html/test.php
Collez ensuite le code PHP suivant dans le fichier.
<?php phpinfo(); ?>
Appuyez sur Ctrl+O pour enregistrer le fichier, puis appuyez sur Ctrl+X pour quitter. Maintenant, dans la barre d'adresse du navigateur, entrez
server-ip-address/test.php
Remplacez sever-ip-address par votre adresse IP actuelle. Vous devriez voir les informations PHP de votre serveur. Si la valeur de Server API
est Apache 2.0 Handler
, vous utilisez PHP7.0 comme module Apache. Si la valeur est PHP7.0-FPM
, alors PHP s'exécute en tant que service FPM.
Étape 3 :Installer Wallabag
Nous utiliserons l'outil git pour cloner le référentiel Wallabag à partir de Github et installerons ultérieurement Wallabag avec Composer. Installez donc git sur Ubuntu 16.04 avec la commande ci-dessous :
sudo apt install git
Ensuite, clonez le référentiel Wallabag et remplacez votre répertoire de travail par le référentiel.
git clone https://github.com/wallabag/wallabag.git cd wallabag
La dernière version de Wallabag (2.1.2) est sortie le 17 octobre 2016. Passez à la version 2.1.2 avec le git checkout
commande.
git checkout 2.1.2
Avant d'installer Wallabag avec Composer, nous devons nous assurer que les extensions PHP suivantes sont installées sur Ubuntu 16.04.
sudo apt install php7.0-bcmath php7.0-xml php7.0-zip php7.0-curl php7.0-mbstring php7.0-gd
Ensuite, nous devons installer Composer qui est un gestionnaire de dépendances pour PHP. Il téléchargera et installera toutes les dépendances Wallabag nécessaires pour nous.
sudo apt install composer
Définissez maintenant la variable Symfony et installez Wallabag à l'aide de la commande suivante. SYMFONY_ENV=prod
dit à symfony que nous installons Wallabag dans un environnement de production. Le --no-dev
flag garantit qu'aucun package de développement n'est installé dans l'environnement de production.
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
Pendant le processus d'installation, composer téléchargera et installera toutes les dépendances nécessaires.
Après cela, il vous sera demandé de fournir les paramètres manquants afin que le app/config/parameters.yml
fichier peut être créé. Composer fournit déjà certaines valeurs par défaut mais elles ne peuvent pas être utilisées pour un service de production Wallabag.
Pour plus de simplicité, divisons les questions en deux parties. La première partie concerne les paramètres de la base de données. Voici les questions et les paramètres fournis par ce tutoriel.
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_
Cette première question est de savoir quel pilote de base de données, c'est-à-dire quelle base de données vous souhaitez utiliser pour Wallabag. Le pilote par défaut est pdo_sqlite
ce qui signifie que la base de données SQLite sera utilisée pour stocker les pages Web. Cet article utilisera MariaDB/MySQL car ils sont rapides et constituent le système de gestion de base de données relationnelle open source le plus populaire. Nous avons déjà activé le pdo_mysql
pilote au début de cet article. Entrez donc pdo_mysql
comme réponse à la première question.
Les autres questions sont faciles à répondre. Saisissez 127.0.0.1
comme hôte de la base de données et 3306
comme port de base de données car par défaut la base de données MariaDB/MySQL écoutera sur 127.0.0.1:3306. Entrez ensuite le nom de la base de données, l'utilisateur de la base de données et le mot de passe de l'utilisateur de la base de données que vous avez créés à l'étape 1. Le chemin de base de données par défaut de MariaDB/MySQL est /var/lib/mysql
. Toutes vos bases de données et tables sont stockées dans ce répertoire. Le préfixe de la table de la base de données vous aide à reconnaître que ces tables sont destinées à Wallabag.
Maintenant, dans la deuxième partie, vous pouvez simplement appuyer sur Entrée pour utiliser les valeurs par défaut.
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]):
Une fois cela fait, exécutez la commande suivante.
php bin/console wallabag:install --env=prod
Il vérifiera la configuration système requise et configurera la base de données. Lorsqu'il vous demande si vous souhaitez réinitialiser la base de données, appuyez sur n répondre non. Ensuite, il vous sera demandé de créer un utilisateur administrateur.
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
L'étape 2 créera des tables de base de données wallabag. Une fois cela fait, nous déplaçons le répertoire wallabag vers /var/www/
.
cd ~ sudo mv ~/wallabag/ /var/www/
Définissez ensuite l'utilisateur Apache (www-data) comme propriétaire.
sudo chown www-data:www-data /var/www/wallabag -R
Étape 4 :Configurer l'hôte virtuel Apache
Créez un fichier de configuration d'hôte virtuel pour Wallabag.
sudo nano /etc/apache2/sites-available/wallabag.conf
Si vous utilisez PHP comme module Apache, copiez et collez le texte suivant dans le fichier de configuration. Remplacez wallabag.example.com
avec votre propre nom de domaine. Vous devez également faire pointer votre nom de domaine vers l'adresse IP de votre serveur Ubuntu 16.04 dans DNS.
<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>
La configuration ci-dessus utilise PHP comme module Apache, si vous voulez exécuter PHP avec php7.0-fpm, ajoutez alors le ProxyPassMatch
règle sous 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>
Enregistrez et fermez le fichier. Dans la configuration ci-dessus, nous avons utilisé le module de réécriture Apache pour réécrire l'URL. Nous devons nous assurer que mod_rewrite
est activé en exécutant la commande suivante afin que la réécriture d'URL fonctionne et que le frontal de Wallabag puisse être correctement affiché.
sudo a2enmod rewrite
Activez ensuite cet hôte virtuel en créant un lien symbolique.
sudo ln -s /etc/apache2/sites-available/wallabag.conf /etc/apache2/sites-enabled/
Et pour appliquer les modifications ci-dessus, redémarrez Apache.
sudo systemctl restart apache2
Vous devriez maintenant pouvoir accéder à votre interface Web Wallabag sur wallabag.example.com
et connectez-vous.
Configuration du fichier de bloc du serveur Nginx
Créez le fichier.
sudo nano /etc/nginx/conf.d/wallabag.conf
Copiez et collez le texte suivant dans le fichier de configuration. Remplacez wallabag.example.com par votre propre nom de domaine. Vous devez également faire pointer votre nom de domaine vers l'adresse IP de votre serveur Ubuntu 16.04 dans DNS.
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; }
Enregistrez et fermez le fichier. Rechargez ensuite Nginx pour que le blocage du serveur puisse être activé.
sudo systemctl reload nginx
Vous devriez maintenant pouvoir accéder à votre interface Web wallabag sur wallabag.example.com
et connectez-vous.
Configuration d'un serveur SMTP de base
Notez que pour enregistrer de nouveaux utilisateurs, votre serveur Ubuntu 16.04 doit avoir un serveur SMTP en cours d'exécution pour envoyer des e-mails de confirmation aux nouveaux utilisateurs. Vous pouvez utiliser Postfix à cette fin.
sudo apt install postfix
Lors de l'installation, il vous sera demandé de sélectionner un type de configuration pour Postfix. Sélectionnez Internet Site
afin que Postfix puisse envoyer des e-mails à d'autres serveurs SMTP sur Internet.
Dans le champ du nom de messagerie du système, entrez quelque chose comme wallabag.your-domain.com
.
Et maintenant, nous avons enfin terminé et pouvons commencer à enregistrer des pages Web. Santé !
J'espère que ce tutoriel vous a aidé à installer Wallabag sur le serveur Ubuntu 16.04 avec LAMP ou LEMP. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite ou suivez-nous sur Google+, Twitter ou aimez notre page Facebook.