GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installez Wallabag sur le serveur Ubuntu 16.04 avec LAMP ou LEMP

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 :

  1. 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.
  2. 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 .
  3. Vous pouvez facilement exporter toutes vos pages Web vers un fichier TXT, HTML, CSV, EPUB, MOBI, PDF ou JSON.
  4. Vous pouvez également installer l'extension de navigateur Wallabag et l'application pour smartphone pour accéder facilement à Wallabag.
  5. 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.


Ubuntu
  1. Surveillance de serveur avec Shinken sur Ubuntu 16.04

  2. Installer WordPress avec LAMP Stack sur Ubuntu 20.04

  3. Installer WordPress sur Ubuntu 16.04 / Ubuntu 14.04 avec LAMP

  4. Comment installer WordPress avec LAMP Stack sur Ubuntu 16.04

  5. Comment installer WordPress avec LAMP Stack sur Ubuntu 20.04

Installez NextCloud sur Ubuntu 20.04 avec Nginx (pile LEMP)

Comment installer phpMyAdmin avec LAMP sur Ubuntu 16.04

2 façons d'installer le serveur LAMP sur Ubuntu 22.04 | 20.04

Comment installer la pile LEMP avec PhpMyAdmin dans Ubuntu 20.04

Comment installer WordPress avec LAMP sur Ubuntu 20.04

Comment installer Joomla avec LAMP sur Ubuntu 20.04