Wallabag es un tipo de servicio de "leer para más tarde". Te permite guardar páginas web para leerlas más tarde a su ritmo libre. Hay muchos servicios que te permiten hacerlo pero tener un servicio instalado en un servidor de tu propiedad es mucho mejor. Por un lado, no cerrará y eliminará los enlaces con él.
Hace algún tiempo ya, escribí un artículo sobre como instalar Wallabag en Debian 9 utilizando Docker. Os lo dejo por aquí por si os interesa hacer esta instalación usando Docker:
Si por lo contrario queréis configurar Wallabag en un servidor con PHP e instalarlo de forma nativa en el servidor, podéis seguir estas instrucciones.
Pasos previos
Este tutorial explicará la instalación y configuración de Wallabag en un servidor que ejecuta Debian 12. Utilizaremos Nginx, MySQL, Composer y PHP, todos los cuales son necesarios para que Wallabag funcione correctamente.
Además necesitamos acceso root para realizar toda la instalación.
Como siempre será necesario tener el sistema operativo con las últimas versiones:
# apt update
# apt upgrade
Instalación de Wallabag
Para realizar la instalación deberemos de hacer varios pasos para configurar todo lo necesario, a continuación os dejamos todos los pasos:
Instalación de LEMP
Para que funcione correctamente Wallabag, es necesario tener un servidor web con Nginx y todo lo necesario. Para ello deberéis de seguir este otro tutorial:
Instalación de PHP y extensiones necesarias
En Debian 12, la versión por defecto de PHP es la 8.2. Instalaremos PHP desde los repositorios oficiales de Debian y todas las siguientes extensiones:
# apt install php8.2-fpm php8.2-mysql php8.2-bcmath php8.2-xml php8.2-zip php8.2-curl php8.2-mbstring php8.2-gd php8.2-tidy php8.2-intl php8.2-cli
Instalación de Composer
Para la instalación de Composer, seguiremos este otro tutorial sin realizar el primer punto que es instalar un servidor LEMP:
# composer --version
Composer version 2.2.22 2023-09-29 10:53:45
Crear base de datos y usuario
Necesitaremos una base de datos para almacenar toda la información, para ello crearemos una base de datos y un usuario para gestionar dicha base de datos:
CREATE DATABASE wallabag;
CREATE USER 'wallabaguser'@'localhost' IDENTIFIED BY 'supercontraseña';
GRANT ALL PRIVILEGES ON wallabag.* TO 'wallabaguser'@'localhost';
FLUSH PRIVILEGES;
Descargar y configurar Wallabag
Ahora toca descargar la última versión disponible de Wallabag, para ello ejecutaremos el siguiente comando:
wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
Y lo moveremos en la ruta que prefiramos:
mv wallabag-2.6.8/ /var/www/html/wallabag
Y configuramos permisos:
chown www-data:www-data -R /var/www/html/wallabag
Generamos una key para luego añadirlo en la configuración:
openssl rand -base64 32
Copiamos el fichero de configuración y lo editamos:
cd /var/www/html/wallabag
cp app/config/parameters.yml.dist app/config/parameters.yml
nano app/config/parameters.yml
Del fichero de configuración tendremos que configurar la base de datos:
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: wallabag
database_user: wallabaguser
database_password: supercontraseña
También configuramos el dominio y el nombre de nuestro Wallabag:
domain_name: https://news.tutos.top
server_name: "Wallabag de voidnull"
Adicionalmente, podemos configurar el apartado para configurar un SMTP y también añadiremos la key generada anteriormente:
secret: swbM0hMBufC+tkQbZJsl8EmPr2XZnfXk8Uu6I/JaG1w=
Instalación de Wallabag
Ahora que tenemos todo instalado y configurado, vamos a lanzar la instalación con composer para que se instale todo lo necesario.
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
Instalamos Wallabag:
php bin/console wallabag:install --env=prod
La salida de este comando es el siguiente:
Salida comando
wallabag installerStep 1 of 4: Checking system requirements.
Checked Status Recommendation
PDO Driver (pdo_mysql) OK!
Database connection OK!
Database version OK!
curl_exec OK!
curl_multi_init OK!
[OK] Success! Your system can run wallabag properly.
Step 2 of 4: Setting up database.
It appears that your database already exists. Would you like to reset it? (yes/no) [no]:
yes
Dropping database, creating database and schema...
Clearing the cache...
Database successfully setup.
Step 3 of 4: Administration setup.
Would you like to create a new admin user (recommended)? (yes/no) [yes]:
yes
Username [wallabag]:
admin
Password [wallabag]:
Email [wallabag@wallabag.io]:
admin@dominio.com
Administration successfully setup.
Step 4 of 4: Config setup.
Config successfully setup.
[OK] wallabag has been successfully installed.
[OK] You can now configure your web server, see https://doc.wallabag.org
Reconfigura los permisos de nuevo:
chown -R www-data:www-data /var/www/html/wallabag
Configura Nginx
Ahora que tenemos la aplicación instalada, toca configurar el acceso mediante Nginx. Para ello deberemos de crear el fichero de configuración:
nano /etc/nginx/sites-enabled/wallabag.conf
Y dentro del fichero añadimos lo siguiente:
server {
listen 80;
server_name wallabag.example.com;
access_log /var/log/nginx/wallabag.access.log;
error_log /var/log/nginx/wallabag.error.log;
root /var/www/html/wallabag/web;
location / {
try_files $uri /app.php$is_args$args;
}
# Pass PHP Scripts To FastCGI Server
location ~ ^/app\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
include fastcgi_params;
internal;
}
location ~ \.php$ {
return 404;
}
}
Guardamos y comprobamos la configuración de Nginx:
nginx -t
Y reiniciamos Nginx:
systemctl restart nginx
Configuración de SSL con Let's Encrypt
El siguiente paso es configurar el certificado SSL, para ello usaremos Certbot y deberéis de seguir este otro tutorial:
Accedemos a la interfaz web
Con todos estos pasos podremos acceder a nuestro dominio para acceder a Wallabag:
La primera página que nos mostrará sin contenido, será el siguiente donde nos dará mucha información sobre como importar datos, como configurar la aplicación, primeros pasos, etc.
Cuando añadamos un artículo, lo veremos de la siguiente forma:
Comentarios