GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instale Wallabag en el servidor Ubuntu 16.04 con LAMP o LEMP

Bolsa de mano es una aplicación autohospedable gratuita para guardar páginas web. Es una alternativa de código abierto a otras aplicaciones patentadas de lectura posterior como Pocket e Instapaper , lo que le permite administrar una lista de artículos con los que se topó en Internet para leerlos más tarde.

Características de Wallabag:

  1. Wallabag elimina los anuncios y el material no relacionado de sus páginas web y proporciona solo el texto del artículo y las imágenes relacionadas para que puedan leerse fácilmente. Esto es especialmente útil cuando los está viendo en un teléfono inteligente o tableta.
  2. Wallabag guarda sus páginas web en una base de datos para que incluso si la página web original desaparece, aún puede verla en Wallabag .
  3. Puede exportar fácilmente toda su página web a archivos TXT, HTML, CSV, EPUB, MOBI, PDF o JSON.
  4. También puede instalar la extensión del navegador Wallabag y la aplicación para teléfonos inteligentes para acceder fácilmente a Wallabag.
  5. La capacidad de importar marcadores desde el navegador Firefox y Google Chrome (o Chromium).

Este tutorial cubre cómo alojar su propio servicio Wallabag en un Ubuntu 16.04 servidor o VPS.

Requisitos

Para instalar wallabag, deberá tener acceso a un usuario con raíz privilegios.

Se supone que ya ha configurado un LÁMPARA pila o LEMP pila en Ubuntu 16.04. Wallabag puede ejecutarse con PHP>=5.5, incluido PHP 7. Si aún no lo ha hecho, consulte las siguientes guías fáciles de seguir.

  • Instalar Apache, MariaDB y PHP7 (LAMP Stack) en Ubuntu 16.04 LTS
  • Instalar Nginx, MariaDB y PHP7 (LEMP Stack) en Ubuntu 16.04 LTS

Una vez que hayas terminado, vuelve aquí y sigue leyendo.

Iniciar sesión a través de SSH

Inicie sesión en su servidor como el nuevo usuario que creó (o raíz) a través de SSH (sustituya su nombre de usuario y la dirección IP del servidor aquí):

ssh new_user@server_IP_address

Responda la solicitud de contraseña para completar el proceso de inicio de sesión.

¡Comencemos con la instalación de Wallabag!

Paso 1:crear una base de datos y un usuario para Wallabag

Wallabag necesita una base de datos para almacenar sus páginas web y vamos a utilizar la base de datos MariaDB/MySQL en este tutorial. Ejecute el siguiente comando para iniciar sesión en el shell de MariaDB/MySQL como raíz. Tenga en cuenta que este es el usuario raíz de MariaDB/MySQL, no el usuario raíz del sistema Ubuntu 16.04.

mysql -u root -p

Si ve Access denied for user 'root'@'localhost' error, entonces debe deshabilitar la autenticación de socket de Unix.

Luego cree una nueva base de datos para Wallabag usando el siguiente comando. Este tutorial lo llama wallabag, puede usar el nombre que desee para la base de datos.

create database wallabag;

Luego, cree un nuevo usuario de base de datos en localhost usando el siguiente comando. Nuevamente, este tutorial lo llama wallabaguser, puede usar el nombre que desee.

create user wallabaguser@localhost;

Establecer una contraseña para el usuario. Reemplace your-password con su contraseña preferida.

set password for wallabaguser@localhost= password("your-password");

Luego otorgue todos los permisos de la nueva base de datos al nuevo usuario para que luego Wallabag pueda escribir en la base de datos.

grant all privileges on wallabag.* to wallabaguser@localhost identified by 'your-password';

Vacíe la tabla de privilegios para que los cambios surtan efecto.

flush privileges;

Salir de MariaDB Shell:

exit;

Sus páginas web se almacenarán en wallabag_entry table después de terminar de instalar wallabag al final de este tutorial.

Paso 2:Instale el paquete php7.0-mysql

Otra cosa importante que debemos hacer con respecto a la base de datos es instalar el paquete php7.0-mysql.

sudo apt install php7.0-mysql

El php7.0-mysql paquetes proporciona el pdo_mysql controlador que utilizará wallabag para conectarse a la base de datos MariaDB/MySQL; de lo contrario, Wallabag no tiene forma de conectarse. Si está ejecutando PHP como un módulo Apache, luego de instalar el paquete, debe reiniciar el servidor web Apache para que el controlador esté habilitado.

sudo systemctl restart apache2

Si está ejecutando PHP con php7.0-fpm, entonces no necesita reiniciar Apache o php7.0-fpm. El pdo_mysql el controlador se habilitará automáticamente después de la instalación.

Si no está seguro de si está utilizando Apache module o php7.0-fpm , luego crea un test.php archivo bajo la raíz del documento (por defecto /var/www/html ).

sudo nano /var/www/html/test.php

Luego pegue el siguiente código PHP en el archivo.

<?php phpinfo(); ?>

Presiona Ctrl+O para guardar el archivo, luego presione Ctrl+X salir. Ahora, en la barra de direcciones del navegador, ingrese

server-ip-address/test.php

Reemplace la dirección IP del servidor con su IP real. Debería ver la información de PHP de su servidor. Si el valor de Server API es Apache 2.0 Handler , entonces está utilizando PHP7.0 como módulo de Apache. Si el valor es PHP7.0-FPM , entonces PHP se ejecuta como un servicio FPM.

Paso 3:Instalar Wallabag

Usaremos la herramienta git para clonar el repositorio de Wallabag desde Github y luego instalaremos Wallabag con Composer. Así que instala git en Ubuntu 16.04 con el siguiente comando:

sudo apt install git

Luego, clone el repositorio de Wallabag y cambie su directorio de trabajo al repositorio.

git clone https://github.com/wallabag/wallabag.git

cd wallabag

La última versión de Wallabag (2.1.2) se lanzó el 17 de octubre de 2016. Cambie a la versión 2.1.2 con git checkout comando.

git checkout 2.1.2

Antes de instalar Wallabag con Composer, debemos asegurarnos de que las siguientes extensiones de PHP estén instaladas en Ubuntu 16.04.

sudo apt install php7.0-bcmath php7.0-xml php7.0-zip php7.0-curl php7.0-mbstring php7.0-gd

A continuación, debemos instalar Composer, que es un administrador de dependencias para PHP. Descargará e instalará todas las dependencias necesarias de Wallabag por nosotros.

sudo apt install composer

Ahora configura la variable Symfony e instala Wallabag usando el siguiente comando. SYMFONY_ENV=prod le dice a Symfony que estamos instalando Wallabag en un entorno de producción. El --no-dev flag asegura que no se instalen paquetes de desarrollo en el entorno de producción.

SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist

Durante el proceso de instalación, Composer descargará e instalará todas las dependencias necesarias.

Después de eso, se le pedirá que proporcione los parámetros faltantes para que app/config/parameters.yml se puede crear un archivo. Composer ya proporciona algunos valores predeterminados, pero no se pueden usar para un servicio Wallabag de producción.

Para simplificar, dividamos las preguntas en dos partes. La primera parte trata sobre los parámetros de la base de datos. Estas son las preguntas y los parámetros que proporciona este tutorial.

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_

Esta primera pregunta es qué controlador de base de datos, es decir, qué base de datos desea usar para Wallabag. El controlador predeterminado es pdo_sqlite lo que significa que la base de datos SQLite se utilizará para almacenar páginas web. Este artículo utilizará MariaDB/MySQL porque son rápidos y son el sistema de administración de bases de datos relacionales de código abierto más popular. Ya hemos habilitado el pdo_mysql controlador al principio de este artículo. Así que ingresa pdo_mysql como respuesta a la primera pregunta.

Las otras preguntas son fáciles de responder. Introduce 127.0.0.1 como host de la base de datos y 3306 como el puerto de la base de datos porque, de forma predeterminada, la base de datos MariaDB/MySQL escuchará en 127.0.0.1:3306. Luego ingrese el nombre de la base de datos, el usuario de la base de datos y la contraseña del usuario de la base de datos que creó en el paso 1. La ruta de la base de datos predeterminada de MariaDB/MySQL es /var/lib/mysql . Todas sus bases de datos y tablas se almacenan en este directorio. El prefijo de la tabla de la base de datos le ayuda a reconocer que estas tablas son para Wallabag.

Ahora, en la segunda parte, puede presionar Enter para usar los valores predeterminados.

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

Una vez hecho esto, ejecute el siguiente comando.

php bin/console wallabag:install --env=prod

Comprobará los requisitos del sistema y configurará la base de datos. Cuando le pregunte si desea restablecer la base de datos, presione n para responder no Luego se le pedirá que cree un usuario administrador.

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

El paso 2 creará tablas de base de datos wallabag. Una vez hecho esto, movemos el directorio wallabag a  /var/www/ .

cd ~

sudo mv ~/wallabag/ /var/www/

Luego configure el usuario de Apache (www-data) como propietario.

sudo chown www-data:www-data /var/www/wallabag -R

Paso 4:configurar el host virtual de Apache

Cree un archivo de configuración de host virtual para Wallabag.

sudo nano /etc/apache2/sites-available/wallabag.conf

Si usa PHP como módulo de Apache, copie y pegue el siguiente texto en el archivo de configuración. Reemplace wallabag.example.com con su propio nombre de dominio. También debe apuntar su nombre de dominio a la dirección IP de su servidor Ubuntu 16.04 en 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 configuración anterior usa PHP como un módulo de Apache, si desea ejecutar PHP con php7.0-fpm, agregue el ProxyPassMatch regla debajo de 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>

Guarde y cierre el archivo. En la configuración anterior, usamos el módulo de reescritura de Apache para reescribir la URL. Necesitamos asegurarnos de que mod_rewrite se habilita ejecutando el siguiente comando para que la reescritura de URL funcione y la interfaz de Wallabag se pueda mostrar correctamente.

sudo a2enmod rewrite

Luego habilite este host virtual creando un enlace simbólico.

sudo ln -s /etc/apache2/sites-available/wallabag.conf /etc/apache2/sites-enabled/

Y para aplicar los cambios anteriores, reinicie Apache.

sudo systemctl restart apache2

Ahora debería poder acceder a la interfaz web de Wallabag en wallabag.example.com e inicie sesión.

Configuración del archivo de bloque del servidor Nginx

Cree el archivo.

sudo nano /etc/nginx/conf.d/wallabag.conf

Copie y pegue el siguiente texto en el archivo de configuración. Reemplace wallabag.example.com con su propio nombre de dominio. También debe apuntar su nombre de dominio a la dirección IP de su servidor Ubuntu 16.04 en 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;
}

Guarde y cierre el archivo. Luego, vuelva a cargar Nginx para que se pueda habilitar el bloqueo del servidor.

sudo systemctl reload nginx

Ahora debería poder acceder a la interfaz web de wallabag en wallabag.example.com e inicie sesión.

Configuración de un servidor SMTP básico

Tenga en cuenta que para registrar nuevos usuarios, su servidor Ubuntu 16.04 debe tener un servidor SMTP en ejecución para enviar correos electrónicos de confirmación a los nuevos usuarios. Puede usar Postfix para este propósito.

sudo apt install postfix

Durante la instalación, le pedirá que seleccione un tipo de configuración para Postfix. Seleccione Internet Site para que Postfix pueda enviar correos electrónicos a otros servidores SMTP en Internet.

En el campo de nombre del correo del sistema, ingresa algo como wallabag.your-domain.com .

Y ahora finalmente hemos terminado y podemos comenzar a guardar páginas web. ¡Salud!

Espero que este tutorial te haya ayudado a instalar Wallabag en el servidor Ubuntu 16.04 con LAMP o LEMP. Como siempre, si encuentra útil esta publicación,  suscríbase a nuestro boletín informativo gratuito o síganos en Google+, Twitter o me gusta en nuestra página de Facebook.


Ubuntu
  1. Monitoreo de servidores con Shinken en Ubuntu 16.04

  2. Instale WordPress con LAMP Stack en Ubuntu 20.04

  3. Instale WordPress en Ubuntu 16.04 / Ubuntu 14.04 con LAMP

  4. Cómo instalar WordPress con LAMP Stack en Ubuntu 16.04

  5. Cómo instalar WordPress con LAMP Stack en Ubuntu 20.04

Instale NextCloud en Ubuntu 20.04 con Nginx (LEMP Stack)

Cómo instalar phpMyAdmin con LAMP en Ubuntu 16.04

2 formas de instalar el servidor LAMP en Ubuntu 22.04 | 20.04

Cómo instalar LEMP Stack con PhpMyAdmin en Ubuntu 20.04

Cómo instalar WordPress con LAMP en Ubuntu 20.04

Cómo instalar Joomla con LAMP en Ubuntu 20.04