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:
- 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.
- 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 .
- Puede exportar fácilmente toda su página web a archivos TXT, HTML, CSV, EPUB, MOBI, PDF o JSON.
- También puede instalar la extensión del navegador Wallabag y la aplicación para teléfonos inteligentes para acceder fácilmente a Wallabag.
- 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.