PageSourceSearch

https://ferarg.com/blog/como-instalar-wallabag-en-debian

html ferarg.com collected 2026-10-10 02:03:47 UTC 21,490 bytes, 444 lines download raw bytes

1<!DOCTYPE html>
2<html lang="es">
3<head>
4    <meta charset="utf-8" />
5    <title>Como instalar Wallabag en Debian | FErArg</title>
6
7    <meta http-equiv="X-UA-Compatible" content="IE=edge">
8    <meta name="viewport" content="width=device-width, initial-scale=1">
9        <meta name="generator" content="GravCMS" />
10    <meta name="description" content="Blog de FErArg" />
11
12    <link rel="icon" type="image/png" href="/user/themes/quark/images/favicon.png" />
13    <link rel="canonical" href="https://ferarg.com/blog/como-instalar-wallabag-en-debian" />
14
15                        
16            
17    <link href="/user/plugins/backtotop/assets/css/font-awesome-4.7.0.min.css" type="text/css" rel="stylesheet">
18<link href="/user/plugins/admin-power-tools/assets/scroll_fix.css" type="text/css" rel="stylesheet">
19<link href="/user/plugins/backtotop/assets/css/return-to-top.css" type="text/css" rel="stylesheet">
20<link href="/user/plugins/breadcrumbs/css/breadcrumbs.css" type="text/css" rel="stylesheet">
21<link href="/user/plugins/external_links/assets/css/external_links.css" type="text/css" rel="stylesheet">
22<link href="/user/plugins/form/assets/form-styles.css" type="text/css" rel="stylesheet">
23<link href="/user/plugins/simplesearch/css/simplesearch.css" type="text/css" rel="stylesheet">
24<link href="/user/plugins/youtube/css/youtube.css" type="text/css" rel="stylesheet">
25<link href="/user/plugins/login/css/login.css" type="text/css" rel="stylesheet">
26<link href="/user/themes/quark/css-compiled/spectre.min.css" type="text/css" rel="stylesheet">
27<link href="/user/themes/quark/css-compiled/theme.min.css" type="text/css" rel="stylesheet">
28<link href="/user/themes/quark/css/custom.css" type="text/css" rel="stylesheet">
29<link href="/user/themes/quark/css/line-awesome.min.css" type="text/css" rel="stylesheet">
30
31    
31<script>
32var pageStats = {"sid":"702772","url":"\/page-stats\/event-collection","config":{"ping":15}}
33</script>
vendor: 1 bytes, line 33
33
34<script src="/system/assets/jquery/jquery-3.x.min.js"></script>
vendor: 1 bytes, line 34
34
35<script src="/user/plugins/page-stats/js/ps.js"></script>
vendor: 1 bytes, line 35
35
36<script src="/user/plugins/lazy-image/vendor/lazyload.min.js"></script>
vendor: 1 bytes, line 36
36
37<script>
38// Grav Lazy Image Plugin - START
39document.onreadystatechange = function() {
40  if(document.readyState == "complete") {
41    let lazyLoadImages = document.querySelectorAll(".img-fluid");
42    lazyload(lazyLoadImages);
43  }
44};
45// Grav Lazy Image Plugin - END
46</script>
46
47
48</head>
49<body id="top" class=" header-fixed header-animated sticky-footer"><a href="https://ferarg.com/cdn-cgi/content?id=GE3tfWR1APNiTMReCsY5TPWwUudvb9HZ5kShVkKW5DQ-1791597826.6156738-1.2.1.1-NoMQt7YFrrv3HMmFa6Z9HEo8fyEJuLgGt0eAj.TDqZZc1WPJt7yMZj11sdECzWkn" aria-hidden="true" rel="nofollow noopener" style="display: none !important; visibility: hidden !important"></a>
50    <div id="page-wrapper">
51            <section id="header" class="section">
52            <section class="container grid-xl">
53                <nav class="navbar">
54                    <section class="navbar-section logo">
55                        <a href="/" class="navbar-brand mr-10">
56    <img src="/user/themes/quark/images/logo/steawi_1-modified_2.png" alt="FErArg" />
57</a>                    </section>
58                    <section class="navbar-section desktop-menu">
59
60                        <nav class="dropmenu animated">
61                                                    
62<ul >
63                <li>
64      <a href="/" class="active">
65        Home
66      </a>
67          </li>
68          <li>
69      <a href="/contacto" class="">
70        Contacto
71      </a>
72          </li>
73  
74</ul>
75
76                                                </nav>
77
78                        
79                    </section>
80                </nav>
81            </section>
82        </section>
83        <div class="mobile-menu">
84            <div class="button_container" id="toggle">
85                <span class="top"></span>
86                <span class="middle"></span>
87                <span class="bottom"></span>
88            </div>
89        </div>
90    
91        
92        <section id="start">
93        <section id="body-wrapper" class="section blog-listing">
94    <section class="container grid-xl">
95
96                    
97<div id="breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">
98            <span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
99                                    <a itemscope itemtype="http://schema.org/Thing" itemprop="item" href="/" itemid="/">
100                    <span itemprop="name">Home</span>
101                </a>
102                        <i class="fa fa-angle-right"></i>
103                <meta itemprop="position" content="1" />
104    </span>
105        <span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
106                                    <span itemscope itemtype="http://schema.org/Thing" itemprop="item" itemid="/blog/como-instalar-wallabag-en-debian">
107                    <span itemprop="name">Como instalar Wallabag en Debian</span>
108                </span>
109                            <meta itemprop="position" content="2" />
110    </span>
111    </div>
112        
113        
114<div class="columns">
115    <div id="item" class="column col-9 col-md-12 extra-spacing">
116                        <div class="content-item h-entry">
117
118    <div class="content-title text-center">
119            <h2 class="p-name mt-1"><a href="/blog/como-instalar-wallabag-en-debian" class="u-url">Como instalar Wallabag en Debian</a></h2>
120                <span class="blog-date">
121    <time class="dt-published" datetime="2023-03-26T00:00:00+00:00">
122        <i class="fa fa-calendar"></i> 26th Mar 2023
123    </time>
124</span>
125        <span class="tags">
126        <a class="label label-rounded label-secondary p-category" href="/tag:wallabag#body-wrapper">wallabag</a>
127    </span>
128    </div>
129    <div class="e-content">
130        <p>Hace uno 6-7 años utilizaba <a href="https://www.wallabag.it/" target="_blank" rel="nofollow noopener noreferrer" class="external-link no-image">Wallabag</a> 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, <a href="https://www.howtoforge.com/how-to-install-wallabag-on-ubuntu-22-04/" target="_blank" rel="nofollow noopener noreferrer" class="external-link no-image">Ubuntu</a> y <a href="https://www.linuxteck.com/how-to-install-apache-on-rocky-linux/" target="_blank" rel="nofollow noopener noreferrer" class="external-link no-image">Rocky</a>, artículos de como instalar Wallabag en tu server privado.</p>
131<p>Seguí las indicaciones de esta web, <a href="https://www.howtoforge.com/how-to-install-wallabag-on-ubuntu-22-04/" target="_blank" rel="nofollow noopener noreferrer" class="external-link no-image">Ubuntu</a>, pero de forma "personalizada", así que basándome en esa misma ayuda, detallo los pasos que seguí para 
131instalar esta app.</p>
132<p>Aclaraciones y Pre requisitos:</p>
133<ul>
134<li>Instalación en Debian/Ubuntu</li>
135<li>Versión de PHP 7.4.33 / 8.2.XX</li>
136<li>Instalaremos Wallabag en un subdominio - (Ejemplo: wallabag.example.com)</li>
137<li>Tener certificados ofrecidos por Let's Encrypt para el dominio que utilizaremos - (Ejemplo: wallabag.example.com)</li>
138<li>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)</li>
139</ul>
140<p>1- Pre Requisitos</p>
141<ul>
142<li>Server MySQL Instalado</li>
143<li>Crear un usuario y una DB para Wallabag</li>
144<li>servidor Apache2 Instalado</li>
145</ul>
146<p>2- Instalación de librerías PHP, adaptar la versi</p>
147<pre><code>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 </code></pre>
148<p>3- Crear directorio </p>
149<pre><code>mkdir /var/www/wallabag</code></pre>
150<p>4- Descargar wallabag en el directorio temporal, descomprimir y copiar el nuavo directorio</p>
151<pre><code>cd /tmp
152git clone https://github.com/wallabag/wallabag.git
153cp -R /tmp/wallabag/* /var/www/wallabag/</code></pre>
154<p>5- Descargar Composer</p>
155<pre><code>cd /var/www/wallabag
156php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
157php composer-setup.php --2.2
158php -r "unlink('composer-setup.php');"</code></pre>
159<p>6- Configurar Wallabag</p>
160<pre><code>mkdir /var/www/wallabag/data/assets
161cd /var/www/wallabag</code></pre>
162<p>7- Copiar el Archivo de configuración</p>
163<pre><code>cp app/config/parameters.yml.dist app/config/parameters.yml</code></pre>
164<p>8- Se necesita una llave seceta, que generaremos con openssl</p>
165<pre><code>openssl rand -base64 32
166QLV/GpZwDobQbyQZQ15FkM1Hvt+ZFJZXw8GW9F4KR3o=</code></pre>
167<p>9- Editamos el archivo de configuración y lo personalizamos</p>
168<pre><code>nano app/config/parameters.yml</code></pre>
169<p>Condifuración de la Base de Datos</p>
170<pre><code>    database_driver: pdo_mysql
171    database_host: 127.0.0.1
172    database_port: 3306
173    database_name: wallabag
174    database_user: wallabaguser
175    database_password: Your_password2</code></pre>
176<p>Configuración del dominio y nombre del sitio </p>
177<pre><code>    domain_name: https://wallabag.example.com
178    server_name: "Howtoforge Wallabag"</code></pre>
179<p>Configuración del correo electrónico</p>
180<pre><code>    mailer_transport:  smtp
181    mailer_user:       YOUR_AES_USERNAME
182    mailer_password:   YOUR_AES_PASSWORD
183    mailer_host:       email-smtp.us-west-2.amazonaws.com
184    mailer_port:       587
185    mailer_encryption: tls</code></pre>
186<p>Configuración de la llave secreta,(la creamos en el paso 8), y otras personalizaciones de seguridad</p>
187<pre><code>    # A secret key that's used to generate certain security-related tokens
188    secret: QLV/GpZwDobQbyQZQ15FkM1Hvt+ZFJZXw8GW9F4KR3o=
189
190    # two factor stuff
191    twofactor_auth: true
192    twofactor_sender: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="127c7d3f6077627e6b5265737e7e737073753c776a737f627e773c717d7f">[email&#160;protected]</a>
193
194    # fosuser stuff
195    fosuser_registration: true
196    fosuser_confirmation: true
197
198    from_email: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="98f6f7b5eafde8f4e1d8eff9f4f4f9faf9ffb6fde0f9f5e8f4fdb6fbf7f5">[email&#160;protected]</a></code></pre>
199<p>10- Cambiamos permisos, para que el usuario de Apache puede modificar los archivos</p>
200<pre><code>chown www-data:www-data * -R /var/www/wallabag</code></pre>
201<p>11- Instalamos Wallabag</p>
202<pre><code>cd /var/www/wallabag
203php composer.phar bin/console wallabag:install --env=prod</code></pre>
204<p>Serguir las indicaciones del instalador y personalizar la instalación</p>
205<p>12- Apache2 como proxy
206Utilzaremos este servidor web como proxy, para poder conectar a Wallabar por HTTPS, para ello crearemos un nuevo archivo de configuración</p>
207<pre><code>nano /etc/apache2/sites-available/wallabag-ssl.conf</code></pre>
208<p>Copiamos el siguiente texto, (personalizar el contenido con tu sistema)</p>
209<pre><code>&lt;VirtualHost *:443&gt;
210    ServerName wallabag.wallabag.example.com
211    DocumentRoot /var/www/wallabag
212
213    &lt;Directory /var/www/wallabag&gt;
214        AllowOverride None
215        Order Allow,Deny
216        Allow from All
217        &lt;IfModule mod_rewrite.c&gt;
218            Options -MultiViews
219            RewriteEngine On
220            RewriteCond %{REQUEST_FILENAME} !-f
221            RewriteRule ^(.*)$ app.php [QSA,L]
222        &lt;/IfModule&gt;
223    &lt;/Directory&gt;
224    &lt;Directory /var/www/wallabag/bundles&gt;
225        &lt;IfModule mod_rewrite.c&gt;
226            RewriteEngine Off
227        &lt;/IfModule&gt;
228    &lt;/Directory&gt;
229
230    SSLEngine on
231    SSLCertificateFile /etc/letsencrypt/live/wallabag.example.com/fullchain.pem
232    SSLCertificateKeyFile /etc/letsencrypt/live/wallabag.example.com/privke
232y.pem
233
234    ErrorLog ${APACHE_LOG_DIR}/wallabag-error.log
235    CustomLog ${APACHE_LOG_DIR}/wallabag-access.log combined
236
237    RewriteEngine On
238&lt;/VirtualHost&gt;
239</code></pre>
240<p>Guardamos, habilitamos el nuevo subdominio y reiniciamos Apache2 para que publique el nuevo subdominio</p>
241<pre><code>Para guardar: Ctlr + x
242Para habilitar: a2ensite wallabag-ssl
243Para Reiniciar Apache2: systemctl restart apache2
244</code></pre>
245<p>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.</p>
246<p>Para este post, me basé en las webs:</p>
247<ul>
248<li><a href="https://www.howtoforge.com/how-to-install-wallabag-on-ubuntu-22-04/" target="_blank" rel="nofollow noopener noreferrer" class="external-link no-image">How to Install Wallabag on Ubuntu 22.04</a></li>
249<li><a href="https://nxnjz.net/2019/02/install-wallabag-on-ubuntu-18-04-lts/" target="_blank" rel="nofollow noopener noreferrer" class="external-link no-image">How to Install WallaBag on Ubuntu 18.04 LTS</a></li>
250<li><a href="https://www.howtoforge.com/how-to-install-wallabag-on-ubuntu-1804/" target="_blank" rel="nofollow noopener noreferrer" class="external-link no-image">How to Install Wallabag on Ubuntu 18.04 LTS</a></li>
251<li><a href="https://httpd.apache.org/docs/trunk/es/howto/reverse_proxy.html" target="_blank" rel="nofollow noopener noreferrer" class="external-link no-image">Apache - Guía de Proxy Inverso</a></li>
252<li><a href="https://blog.jitendrapatro.me/installing-vaultwarden-server-with-apache-and-sslh-proxy/" target="_blank" rel="nofollow noopener noreferrer" class="external-link no-image">Installing Vaultwarden server with Apache and SSLH proxy</a></li>
253<li><a href="https://serverfault.com/questions/309847/how-do-i-have-an-apache-site-in-a-subdirectory-when-the-root-is-proxypassed-to" target="_blank" rel="nofollow noopener noreferrer" class="external-link no-image">How do I have an Apache site in a subdirectory, when the root is ProxyPassed to something else?</a></li>
254</ul>
255    </div>
256
257    </div>
258
259<p class="prev-next text-center">
260                <a class="btn" href="/blog/actualizados-repositorios-git"><i class="fa fa-angle-left"></i> Previous Post</a>
261    
262            <a class="btn" href="/blog/como-clonar-repositorio-git-a-otro-server">Next Post <i class="fa fa-angle-right"></i></a>
263    </p>
264                </div>
265        <div id="sidebar" class="column col-3 col-md-12">
266                        
267<div class="sidebar-content">
268    <div class="search-wrapper">
269    <form name="search" data-simplesearch-form>
270        <input
271            name="searchfield"
272            class="search-input"
273            aria-label="search"
274            type="text"
275             data-min="3"             required
276            placeholder="Search …"
277            value=""
278            data-search-invalid="Please add at least 3 characters"
279            data-search-separator=":"
280            data-search-input="/search/query"
281            autofocus
282        />
283            </form>
284</div>
285</div>
286<div class="sidebar-content">
287    <h4>Related Posts</h4>
288    <ul class="related-pages menu">
289                                <li class="menu-item">
290                                    <div class="menu-badge">
291                        <span class="label label-primary">100</span>
292                    </div>
293                                <a href="/blog/como-actualizar-wallabag" title="Cómo Actualizar Wallabag">Cómo Actualizar Wallabag</a>
294            </li>
295            </ul></div>
296<div class="sidebar-content">
297	<h4>Random Article</h4>
298	<a class="button" href="/random"><i class="fa fa-retweet"></i> I&#039;m Feeling Lucky!</a>
299</div>
300
301<!--
302#### Some Text Widget
303You can **edit** this by modifying the `modules/sidebar/default.md` page. 
304To **reorder** things in the sidebar you need to modify the `partials/sidebar.html.twig` template file.
305-->
306
307<div class="sidebar-content">
308    <h4>Popular Tags</h4>
309    
310</div>
311<div class="sidebar-content">
312    <h4>Archives</h4>
313	<ul class="archives">
314
315    <li>
316    	<a href="/archives_month:oct_2025">
317                <span class="label label-rounded label-primary">4</span>
318                  <span class="archive_date">October 2025 </span>
319        </a>
320    </li>
321    <li>
322    	<a href="/archives_month:jan_2025">
323                <span class="label label-rounded label-primary">1</span>
324                  <span class="archive_date">January 2025 </span>
325        </a>
326    </li>
327    <li>
328    	<a href="/archives_month:mar_2023">
329                <span class="label label-rounded label-primary">2</span>
330                  <span class="archive_date">March 2023 </span>
331        </a>
332    </li>
333    <li>
334    	<a href="/archives_month:feb_2023">
335                <span class="label label-rounded label-primary">9</span>
336                  <span class="archive_date">February 2023 </span>
337        </a>
338    </li>
339    <li>
340    	<a href="/archives_month:jul_2019">
341                <span class="label label-rounded label-primary">1</span>
342                  <span class="archive_date">July 2019 </span>
343        </a>
344    </li>
345    <li>
346    	<a href="/archives_month:feb_2019">
347                <span class="label label-rounded label-primary">1</span>
348                  <span class="archive_date">February 2019 </span>
349        </a>
350    </li>
351    <li>
352    	<a href="/archives_month:sep_2018">
353                <span class="label label-rounded label-primary">1</span>
354                  <span class="archive_date">September 2018 </span>
355        </a>
356    </li>
357    <li>
358    	<a href="/archives_month:may_2018">
359                <span class="label label-rounded label-primary">1</span>
360                  <span class="archive_date">May 2018 </span>
361        </a>
362    </li>
363    <li>
364    	<a href="/archives_month:sep_2016">
365                <span class="label label-rounded label-primary">1</span>
366                  <span class="archive_date">September 2016 </span>
367        </a>
368    </li>
369    <li>
370    	<a href="/archives_month:dec_2015">
371                <span class="label label-rounded label-primary">2</span>
372                  <span class="archive_date">December 2015 </span>
373        </a>
374    </li>
375    <li>
376    	<a href="/archives_month:aug_2015">
377                <span class="label label-rounded label-primary">1</span>
378                  <span class="archive_date">August 2015 </span>
379        </a>
380    </li>
381    <li>
382    	<a href="/archives_month:may_2015">
383                <span class="label label-rounded label-primary">1</span>
384                  <span class="archive_date">May 2015 </span>
385        </a>
386    </li>
387</ul>
388</div>
389<div class="sidebar-content syndicate">
390    <h4>Syndicate</h4>
391    <a class="btn" href="/blog.atom"><i class="fa fa-rss-square"></i> Atom 1.0</a>
392    <a class="btn" href="/blog.rss"><i class="fa fa-rss-square"></i> RSS</a>
393    </div>
394                </div>
395    </div>
396
397
398    </section>
399</section>
400        </section>
401
402    </div>
403
404            <section id="footer" class="section bg-gray">
405    <section class="container grid-xl">
406        <p><a href="https://getgrav.org">Grav</a> was <i class="fa fa-code"></i> with <i class="fa fa-heart-o pulse "></i> by <a href="https://trilby.media">Trilby Media</a>.</p>
407    </section>
408</section>
409    
410        <div class="mobile-container">
411        <div class="overlay" id="overlay">
412            <div class="mobile-logo">
413                <a href="/" class="navbar-brand mr-10">
414    <img src="/user/themes/quark/images/logo/steawi_1-modified_2.png" alt="FErArg" />
415</a>            </div>
416            <nav class="overlay-menu">
417                
418<ul class="tree">
419                <li>
420      <a href="/" class="active">
421        Home
422      </a>
423          </li>
424          <li>
425      <a href="/contacto" class="">
426        Contacto
427      </a>
428          </li>
429  
430</ul>
431
432            </nav>
433        </div>
434    </div>
vendor: 118 bytes, lines 434-436
434
435    
436    <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
436<script src="/user/plugins/backtotop/assets/js/return-to-top.js"></script>
vendor: 1 bytes, line 436
436
437<script src="/user/plugins/simplesearch/js/simplesearch.js"></script>
vendor: 1 bytes, line 437
437
438<script src="/user/themes/quark/js/jquery.treemenu.js"></script>
vendor: 1 bytes, line 438
438
439<script src="/user/themes/quark/js/site.js"></script>
439
440
441
442<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4820cf05d8590bd',t:'MTc5MTU5NzgyNg=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
442<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"bfc1e76dd6244c32b5d776f2a45bb80a","r":1,"spa":2}' crossorigin="anonymous"></script>
442
443</body>
444</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.