Hace uno 6-7 años utilizaba Wallabag como un Read-It-Later privado, hasta que hicieron un cambio en la instalación/actualización, y lo eliminé de mi server, hasta hace unas semanas que me llegó por dos sitios diferentes, Ubuntu y Rocky, artículos de como instalar Wallabag en tu server privado.

Seguí las indicaciones de esta web, Ubuntu, pero de forma "personalizada", así que basándome en esa misma ayuda, detallo los pasos que seguí para instalar esta app.

Aclaraciones y Pre requisitos:

  • Instalación en Debian/Ubuntu
  • Versión de PHP 7.4.33 / 8.2.XX
  • Instalaremos Wallabag en un subdominio - (Ejemplo: wallabag.example.com)
  • Tener certificados ofrecidos por Let's Encrypt para el dominio que utilizaremos - (Ejemplo: wallabag.example.com)
  • No instalamos Wallabag directamente en el directorio que utiliza Apache como directorio root, porque lo utilizaremos como proxy, para utilizar Wallabag con certificados - (Ejemplo: https://wallabag.example.com)

1- Pre Requisitos

  • Server MySQL Instalado
  • Crear un usuario y una DB para Wallabag
  • servidor Apache2 Instalado

2- Instalación de librerías PHP, adaptar la versi

sudo apt install php7.4-fpm php7.4-mysql php7.4-bcmath php7.4-xml php7.4-zip php7.4-curl php7.4-mbstring php7.4-gd php7.4-tidy php7.4-intl php7.4-cli 

3- Crear directorio

mkdir /var/www/wallabag

4- Descargar wallabag en el directorio temporal, descomprimir y copiar el nuavo directorio

cd /tmp
git clone https://github.com/wallabag/wallabag.git
cp -R /tmp/wallabag/* /var/www/wallabag/

5- Descargar Composer

cd /var/www/wallabag
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --2.2
php -r "unlink('composer-setup.php');"

6- Configurar Wallabag

mkdir /var/www/wallabag/data/assets
cd /var/www/wallabag

7- Copiar el Archivo de configuración

cp app/config/parameters.yml.dist app/config/parameters.yml

8- Se necesita una llave seceta, que generaremos con openssl

openssl rand -base64 32
QLV/GpZwDobQbyQZQ15FkM1Hvt+ZFJZXw8GW9F4KR3o=

9- Editamos el archivo de configuración y lo personalizamos

nano app/config/parameters.yml

Condifuración de la Base de Datos

    database_driver: pdo_mysql
    database_host: 127.0.0.1
    database_port: 3306
    database_name: wallabag
    database_user: wallabaguser
    database_password: Your_password2

Configuración del dominio y nombre del sitio

    domain_name: https://wallabag.example.com
    server_name: "Howtoforge Wallabag"

Configuración del correo electrónico

    mailer_transport:  smtp
    mailer_user:       YOUR_AES_USERNAME
    mailer_password:   YOUR_AES_PASSWORD
    mailer_host:       email-smtp.us-west-2.amazonaws.com
    mailer_port:       587
    mailer_encryption: tls

Configuración de la llave secreta,(la creamos en el paso 8), y otras personalizaciones de seguridad

    # A secret key that's used to generate certain security-related tokens
    secret: QLV/GpZwDobQbyQZQ15FkM1Hvt+ZFJZXw8GW9F4KR3o=

    # two factor stuff
    twofactor_auth: true
    twofactor_sender: no-reply@wallabag.example.com

    # fosuser stuff
    fosuser_registration: true
    fosuser_confirmation: true

    from_email: no-reply@wallabag.example.com

10- Cambiamos permisos, para que el usuario de Apache puede modificar los archivos

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

11- Instalamos Wallabag

cd /var/www/wallabag
php composer.phar bin/console wallabag:install --env=prod

Serguir las indicaciones del instalador y personalizar la instalación

12- Apache2 como proxy Utilzaremos este servidor web como proxy, para poder conectar a Wallabar por HTTPS, para ello crearemos un nuevo archivo de configuración

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

Copiamos el siguiente texto, (personalizar el contenido con tu sistema)

<VirtualHost *:443>
    ServerName wallabag.wallabag.example.com
    DocumentRoot /var/www/wallabag

    <Directory /var/www/wallabag>
        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>
    <Directory /var/www/wallabag/bundles>
        <IfModule mod_rewrite.c>
            RewriteEngine Off
        </IfModule>
    </Directory>

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/wallabag.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/wallabag.example.com/privkey.pem

    ErrorLog ${APACHE_LOG_DIR}/wallabag-error.log
    CustomLog ${APACHE_LOG_DIR}/wallabag-access.log combined

    RewriteEngine On
</VirtualHost>

Guardamos, habilitamos el nuevo subdominio y reiniciamos Apache2 para que publique el nuevo subdominio

Para guardar: Ctlr + x
Para habilitar: a2ensite wallabag-ssl
Para Reiniciar Apache2: systemctl restart apache2

Con estos pasos ya podrías acceder a "https://wallabag.example.com" y encontrarte con la página de inicio de Wallabag, si tienes problemas, revisa la configuración y sobre todo los logs de apache, que dan mucha información.

Para este post, me basé en las webs:

Previous Post