Cómo instalar Wallabag en Ubuntu 18.04 LTS

27 feb 2021 7 min di lettura
Cómo instalar Wallabag en Ubuntu 18.04 LTS
Indice dei contenuti

Introducción

Wallabag es un software que le permite guardar páginas web para que pueda leerlas más tarde. Hay muchos servicios que te permiten hacer esto como Pocket, Instapaper, etc. Pero tener un servicio instalado en su propio servidor es beneficioso. Primero, no dejará de funcionar y romperá los enlaces con servicios de terceros y podrá mantener la privacidad de sus datos de navegación.

Este tutorial le mostrará cómo instalar y configurar Wallabag en un servidor que ejecuta Ubuntu 18.04 y posterior. También describirá cómo configurar Nginx, MariaDB, Git, Postfix, Composer y PHP que Wallabag requiere para funcionar.

Prerrequisitos

Necesitaría lo siguiente antes de continuar con nuestro tutorial.

También necesitará la herramienta Make Para instalarlo, simplemente use el siguiente comando:

sudo apt install make

Instalar Git

El primer paso es instalar Git, que usaremos más adelante para copiar los archivos de instalación de wallabag desde su repositorio de git. Git generalmente se instala en la mayoría de los servidores web en estos días. De lo contrario, proceda con los siguientes comandos:

sudo apt install git
git config --global user.name "Your name"
git config --global user.email "[email protected]"

Instalar Nginx

sudo apt install nginx

Si está utilizando el firewall de Ubuntu, agregue las siguientes reglas a su lista:

sudo ufw allow "Nginx HTTP"

También verifique el estado:

sudo ufw status

Debería ver algo como esto:

Status: active

 To Action From
 -- ------ ----
 OpenSSH ALLOW Anywhere
 Nginx HTTP ALLOW Anywhere
 OpenSSH (v6) ALLOW Anywhere (v6)
 Nginx HTTP (v6) ALLOW Anywhere (v6)

Intente acceder a la dirección IP de su servidor en el navegador. Debería ver la página predeterminada de Nginx que confirma que Nginx se ha instalado correctamente.

Instalar MariaDB

MariaDB es un reemplazo directo de MySQL, lo que significa que los comandos para ejecutar y ejecutar MariaDB son los mismos que los de MySQL. Para instalar MariaDB, ingrese los siguientes comandos:

sudo apt install mariadb-server

Hay una advertencia al establecer la contraseña de root. MariaDB de forma predeterminada permite a los usuarios raíz del sistema acceder a MariaDB sin una contraseña. Pero si va a utilizar una aplicación de terceros para iniciar sesión como root, una contraseña es imprescindible, de lo contrario, las aplicaciones como PHPMyAdmin fallarán. Para esto, la autenticación basada en complementos debe estar deshabilitada, que es la opción predeterminada en MariaDB.

Inicie sesión en el servidor MariaDB ejecutando los siguientes comandos:

sudo mysql -u root

Esto debería ingresar al servidor de la base de datos. A continuación, ejecute los siguientes comandos para deshabilitar la autenticación de complemento para el usuario root:

use mysql;
update user set plugin='' where User='root';
flush privileges;
exit;

Ejecute el mysql_secure_installation para mejorar la seguridad de la instalación de MariaDB:

sudo mysql_secure_installation

El script le pedirá que establezca la contraseña del usuario raíz, elimine al usuario anónimo, restrinja el acceso del usuario raíz a la computadora local y elimine la base de datos de prueba. Eventualmente, el script recargará las tablas de privilegios asegurando que todos los cambios entren en vigencia inmediatamente.

Todos los pasos se explican en detalle y se recomienda que responda " S " (sí) a todas las preguntas.

Luego reinicia MariaDB.

sudo systemctl restart mariadb.service

Eso es todo. La próxima vez que desee iniciar sesión en MySQL, use el siguiente comando

sudo mysql -u root -p

Y se le pedirá la contraseña de root que configuró inicialmente.

Configurar MariaDB para Wallabag

Ahora necesitamos configurar una base de datos para usar con la aplicación wallabag. Para hacer esto, acceda al indicador de MySQL:

sudo mysql -u root -p

Una vez que se le solicite, ingrese los siguientes comandos que configurarán una base de datos llamada wallabag y un usuario de la base de datos llamado wallabaguser y le otorgarán acceso a la base de datos.

create database wallabag;
create user wallabaguser@localhost;
set password for wallabaguser@localhost= password("yourpassword");
grant all privileges on wallabag.* to wallabaguser@localhost identified by "yourpassword";
flush privileges;
exit;

Instalar PHP y Composer

Ahora que nuestro servidor está en funcionamiento, es hora de instalar PHP y Composer. Como usamos Nginx, necesitamos instalar el paquete PHP-FPM. Junto con él, necesitaremos muchas otras extensiones PHP como mbstring, mysql, gd, bc-math, curl, zip y 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

Pasemos al siguiente paso.

Configurar Nginx

Es hora de configurar nuestra instalación de Nginx. Suponiendo que el nombre de dominio que está utilizando para wallabag es example.com (reemplace example.com con su nombre de dominio en todos los pasos), cree un directorio donde alojará su instalación. Wallabag se instalará en el directorio html.

sudo mkdir -p /var/www/example.com/html

A continuación, asigne la propiedad del directorio a los datos www utilizados por Nginx.

sudo chown -R www-data:www-data /var/www/example.com/html

Asegúrese de que estén configurados los permisos correctos.

sudo chmod -R 755 /var/www/example.com

A continuación, cree un host virtual para el sitio.

sudo nano /etc/nginx/sites-available/example.com

Pegue la siguiente configuración que funciona con wallabag.

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;
 }

Guarde el archivo presionando Ctrl + X y escribiendo Y cuando se le solicite.

A continuación, necesitamos habilitar esta configuración. Para ello, cree un enlace desde él al directorio habilitado para el sitio.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Puede haber un problema de depósito de memoria debido a nombres de servidor adicionales. Para solucionar esto, abra el archivo nginx.conf

sudo nano /etc/nginx/nginx.conf

Busque la server_names_hash_bucket_size y elimine el # para descomentar la línea:

server_names_hash_bucket_size 64;

Guarda el archivo. Por lo tanto, asegúrese de que no haya errores en las configuraciones de Nginx:

sudo nginx -t

Si no hay problemas, reinicie Nginx para habilitar los nuevos cambios.

sudo systemctl restart nginx

Instalar Wallabag

Primero, clone wallabag de su repositorio de GitHub. Dado que hemos concedido los permisos de la carpeta html al usuario www-data, tendremos que cambiar a ella para realizar la instalación:

sudo -u www-data /bin/bash
cd /var/www/example.com
git clone https://github.com/wallabag/wallabag.git html

Esto copiará los archivos de instalación de wallabag al directorio html. Instale Wallabag usando el comando make.

cd html
make install

Se le harán varias preguntas durante la instalación.

Si desea utilizar HTTP, ingrese http://example.com cuando se le solicite el nombre de dominio y omita la parte HTTPS del tutorial.

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

También se le solicitarán los detalles de SMTP para recibir correos electrónicos sobre la contraseña olvidada o la autenticación de dos factores. Si desea utilizar un servicio SMTP de terceros como Mailgun o Sendgrid, puede ingresar los valores necesarios o simplemente presionar Enter para ir a la siguiente configuración. Escriba no en el fosuser_registration si no desea que un usuario se registre en su sitio. Además, cambie el valor del parámetro secret Si tiene grandes datos para importar, instale RabbitMQ o Redis e ingrese los valores cuando se le solicite.

Cuando se le pregunte si desea restaurar la base de datos existente, presione Entrar para usar la opción predeterminada ( no ). También se le pedirá que cree un usuario administrador. Cuando termine, vuelva al inicio de sesión de usuario predeterminado de Ubuntu.

exit

Configurar SMTP

Si desea configurar un servidor SMTP básico y no utilizar servicios SMTP de terceros, instale Mailutils.

sudo apt install mailutils

Durante la instalación, se le pedirá que seleccione un tipo de configuración para Postfix. Seleccione Internet Site y continúe. Ingrese example.com cuando se le solicite el campo Correo del sistema.

Configurar HTTPS

Usaremos Let's Encrypt para configurar HTTPS para nuestra instalación wallabag. Agregue el siguiente repositorio para la herramienta Certbot.

sudo add-apt-repository ppa:certbot/certbot

Instale el paquete Certbot Nginx desde el repositorio.

sudo apt install python-certbot-nginx

Obtenga el certificado para su dominio example.com.

sudo certbot --nginx -d example.com -d www.example.com

Si es la primera vez que utiliza la herramienta Certbot, se le pedirá que proporcione un correo electrónico y acepte los términos de servicio. También se le preguntará si desea que su correo electrónico se comparta con Electronic Frontier Foundation (EFF). Elija N si no desea que EFF le envíe un correo electrónico sobre sus noticias y campañas.

Si tiene éxito, Certbot le preguntará cómo desea configurar los ajustes HTTPS.

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):

Elija 2 ya que queremos que todas las solicitudes a su dominio se redirijan a través de HTTPS.

Eso es todo. Su dominio HTTPS está activo. Certbot renovará automáticamente su dominio cada 90 días. Para probar el proceso de renovación, realice un ensayo.

sudo certbot renew --dry-run

Si no ve errores, significa que todo es perfecto.

Configurar Wallabag

Ahora que tenemos Wallabag instalado, abra su navegador y conéctese a su dominio. Debería ver la pantalla de inicio de sesión de Wallabag.

Introduzca las credenciales que ha elegido durante el make proceso.

La autenticación de dos factores debe estar habilitada. Para hacer esto, haga clic en el Config a la izquierda y seleccione la pestaña USER INFORMATION Habilite la Two-factor authentication.

Puede importar sus datos desde Pockets, Instapaper, Pinboard y marcadores desde navegadores basados ​​en Firefox y Chrome.

Wallabag te ofrece una multitud de aplicaciones para cada navegador, dispositivo móvil o lector de libros electrónicos con las que puedes agregar enlaces.

Actualizar Wallabag

Para actualizar Wallabag a la última versión, simplemente ejecute los siguientes comandos:

sudo -u www-data /bin/bash
cd /var/www/example.com/html
make update

Conclusión

Eso es todo por este tutorial que hemos instalado Wallabag en Ubuntu 18.04 LTS. Ahora puede guardar y leer artículos de su servidor sin comprometer la privacidad de sus datos.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.