Hay una gran cantidad de aplicaciones web convertidas en apps para Linux, y eso no está mal (del todo)

Aplicaciones web de whatsapp en Flathub

En los últimos días, Flathub ha dado varios pasos importantes para convertirse en una de las mejores opciones para instalar aplicaciones para los usuarios de Linux. Se van a desmarcar de GNOME y van a convertirse en un proyecto propio, y todos estos cambios se verán reflejados también en cómo nos presentan las cosas. Por ejemplo, el icono será diferente, y ya están preparando una web que actualmente está en fase beta. Fue cuando estuve dándome un paseo por la futura versión cuando me di cuenta de que había una «gran» (véanse las comillas) cantidad de aplicaciones web convertidas en aplicaciones de escritorio.

¿Por qué hay tantas aplicaciones web hechas aplicaciones para Linux? La verdad es que no tengo una respuesta segura, pero la captura de cabecera puede ayudarnos a hacernos una idea: hay software que sencillamente no está para Linux, pero sí podemos acceder al servicio web. WhatsApp es el mejor ejemplo para entender esto: lo que no se entiende es por qué no hay app nativa para Linux, pero sí vemos que hay hasta 5 versiones distintas en Flathub, a lo que se le suman Franz y Tangram, que son aplicaciones para gestionar varias aplicaciones web. ¿Y que ofrecen? Pues las cuatro de verde son básicamente el mismo WhatsApp web que ofrece WhatsApp Inc., mientras que Youp es lo mismo, pero con un modo a pantalla completa real, no parcial.

Las aplicaciones web de escritorio separan el contenido

En Snapcraft también encontramos software así. Me parece recordar que antes había una aplicación «de escritorio» de Microsoft Office, que era realidad era la versión web hecha app. Sigue existiendo Apple Music, y son eso, la misma web pero hecha aplicación de escritorio. ¿Tiene todo esto sentido? En mi opinión, sí y no.

Hay muchos usuarios que no quieren usar paquetes flatpak ni snap, que es en el formato en el que aparecen muchas de estas aplicaciones, por lo que usar un paquete de este tipo sólo para una aplicación que se puede ejecutar en el navegador no parece tener mucho sentido. Pero sí lo tiene. Aunque el navegador que usemos por defecto nos permita instalar las aplicaciones o crear accesos directos que se ejecuten independientemente del navegador, lo que están haciendo en realidad es abrir una ventana nueva sin campo de URL ni pestañas, pero es el mismo navegador.

Hemos puesto como uno de los ejemplos una aplicación para escuchar música. Si nos creamos un acceso directo de Chrome/Brave/Vivaldi y silenciamos la «aplicación» de música de turno, también nos silenciará el resto de ventanas y pestañas del navegador que nos ha instalado la app. Es probable que no sea esto lo que queremos, y en donde cobra un poco de sentido tener aplicaciones de escritorio hechas a partir de una página web, usen Electron o cualquier otra tecnología.

Además, si usamos WhatsApp web, las notificaciones nativas de un escritorio Linux no siempre saben dónde llevarnos cuando les hacemos clic. En ocasiones ni siquiera se ve el logotipo del servicio, mostrándonos el logotipo del navegador. Eso sí, el nombre de la pestaña sí lo suelen mostrar, y el mensaje recibido también.

Si es posible, mejor aplicaciones reales

Ahora bien, si es posible, siempre es mejor que creen aplicaciones reales. Entre los ejemplos que podemos mencionar estaba Apple Music Electron, y esa aplicación evolucionó hasta convertirse en Cider, un ejemplo de cosas bien hechas. Sus desarrolladores y colaboradores, que son muchos, crearon una app de Apple Music que supera por mucho al iTunes que actualmente sigue siendo la opción oficial para Windows. Y lo mejor es que también funciona en Linux, lo que demuestra de que en ocasiones, cuando hay una API disponible, se puede hacer mucho y muy bien.

Lo malo es algo bien sabido, y es que a los usuarios de Linux no se nos cuida tanto como a los de Windows, y casos como el de Cider no hay muchos. Lo bueno es que hay mucho software de código abierto que nos permite hacer de todo, o casi, porque si pudiéramos hacer de todo no habría tantos proyectos en los que se llevan aplicaciones web al escritorio de Linux. Mientras sea para ofrecer alternativas, y no abandonen el proyecto, bienvenidas sean.

from Linux Adictos https://ift.tt/ZWRtnFA
via IFTTT

Cómo instalar LAMP (Apache, MySQL, PHP) y phpMyAdmin en Manjaro; válido para base Arch

phpMyAdmin en Manjaro

Hay muchas cosas en Linux que son más fáciles que en Windows, pero también es cierto que mucha información se encuentra antes para Windows. Cosas como trabajar con PHP o acceder a un servidor FTP desde el mismo gestor de archivos son mucho mejor en Linux, y por ese motivo suelo moverme mejor en los sistemas con el núcleo del pingüino. Lo malo es que lo que vale para una distribución no siempre vale para otra, e instalar phpMyAdmin y todo LAMP en Manjaro y otras distros basadas en Arch no es igual que hacerlo en las derivadas en Debian.

Pero también es cierto que todo (o casi todo) lo que se puede hacer en una distribución Linux se puede hacer en otra, y lo único que es necesario es saber otro camino que nos lleve a la misma Roma. Conseguir tener LAMP en Manjaro no es difícil, y aquí vamos a enseñar el camino más sencillo, que lo es, aunque no lo parezca por el número total de pasos. Antes explicaremos qué significan las siglas: Linux, Apache, MySQL y PHP. Los pasos a seguir serían los que tenéis a continuación:

Instalando y configurando LAMP

  1. Antes de nada, ante instalaciones como esta merece la pena hacer una sincronización completa de los servidores y actualizar todos los paquetes disponibles. Eso lo conseguimos con el comando
sudo pacman -Syyu
  1. Con todo actualizado, y reiniciado si se pidiera o viéramos que se ha actualizado algo importante, seguimos. En muchos comandos vamos a necesitar privilegios, por lo que nos identificamos como root con:
sudo su
  1. Lo primero a instalar será la A, es decir, Apache:
pacman -S apache
  1. Ahora empezamos con la edición del archivo httpd.conf. Aquí vamos a usar nano, y los atajos que usaremos son Ctrl+W para buscar, para pegar es Ctrl+Shift+V (porque estamos en el terminal), Ctr+O para guardar, Enter para confirmar cambios y Ctrl+X para salir. No está de más pulsar luego la flecha hacia arriba, volver a introducir el último comando y comprobar que hemos guardado los cambios. Lo primero será entrar en la edición del archivo:
nano /etc/httpd/conf/httpd.conf
  1. Buscamos lo siguiente y lo comentamos, si no lo está ya:
# LoadModule unique_id_module modules/mod_unique_id.so
  1. Buscamos ServerName y ponemos lo que sea necesario, descomentando la línea si no lo está. Para conexiones locales:
ServerName localhost
  1. Guardamos y cerramos.
  2. Iniciamos el servicio web:
systemctl enable --now httpd
  1. comprobamos que está activo:
systemctl status httpd
  1. Hacemos una prueba, no necesaria paro recomendada, pues nos dirá que vamos por el buen camino, metiendo un archivo con nombre index.html en /srv/http, para lo que necesitaremos permisos. Por ejemplo, con este contenido: <h1>Hola, LinuxAdictos</h1>

Creando prueba HTML

  1. Ahora instalamos la M, es decir, MariaDB, que es el motor que usa Manjaro y otras distros basadas en Arch para gestionar las bases de datos MySQL.
pacman -S mariadb
  1. Inicializamos el directorio de MariaDB antes de iniciar el servicio.
mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
  1. Cuando finalice, activamos el servicio:
systemctl enable --now mariadb
  1. Comprobamos que se ha iniciado. Tiene que poner que está activo y no mostrar ningún error.
systemctl status mariadb
  1. Es recomendable ponerle seguridad a nuestra instalación de bases de datos con un script que se ha diseñado para ello. Hay que leer lo que nos pone, pero aquí van unas sugerencias:
    1. Se inicia con «mariadb-secure-installation» sin las comillas.
    2. La contraseña debe estar vacía si la iniciamos por primera vez. Si ya hemos hecho pruebas y tiene otra contraseña, tenemos que saber cuál es o restablecerla.
    3. Cuando nos pida si cambiar a la autenticación unix_socket, decimos que no.
    4. Cambiar la contraseña, sí.
    5. La introducimos dos veces, una para configurarla y otra para confirmar.
    6. Eliminar usuarios anónimos, sí.
    7. Deshabilitar el inicio de sesión remoto, de entrada, sí. Esto se puede cambiar más adelante, pero puede ser peligroso y hay que gestionar las conexiones con un cortafuegos.
    8. Sí a eliminar base de datos de prueba. O no, si se quiere eliminar más tarde. Esa base de datos sirve como ejemplo para ver algunas cosas.
    9. Recargar privilegios, sí.
  2. Instalamos ahora la P, es decir PHP:
pacman -S php php-apache
  1. Entramos en el módulo PHP de Apache:
nano /etc/httpd/conf/httpd.conf
  1. Buscamos LoadModule y dejamos esto así:
#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
  1. Al final del archivo, añadimos:
LoadModule php_module modules/libphp.so
AddHandler php-script .php
Include conf/extra/php_module.conf
  1. Comprobamos la configuración con esto, y debe decirnos «Ok»:
apachectl configtest
  1. Reiniciamos el servicio con:
apachectl restart
  1. Hacemos otra prueba, esta vez del PHP. En la misma carpeta que antes, /srv/http, creamos el archivo info.php, y dentro ponemos este texto:
<?php phpinfo(); ?>;

Prueba de php

Configuración de phpMyAdmin

  1. Instalamos phpMyAdmin:
pacman -S phpmyadmin
  1. creamos o editamos el archivo phpmariadb.ini:
nano /etc/php/conf.d/phpmariadb.ini
  1. Pegamos esto:
extension=bz2
extension=iconv
extension=mysqli
extension=pdo_mysql
  1. Verificamos que el archivo .ini se ha cargado (mostrará las rutas):
php --ini
  1. Iniciamos la configuración de Apache:
nano /etc/httpd/conf/extra/phpmyadmin.conf
  1. y pegamos esto:
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">;
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require all granted
</Directory>
  1. Abrimos el archivo la configuración de Apache:
nano /etc/httpd/conf/httpd.conf
  1. Al final añadimos lo siguiente, y la configuración final quedará como en la captura:
Include conf/extra/phpmyadmin.conf

Configuración final de phpMyAdmin

  1. guardamos y comprobamos la configuración (debe decir que no hay errores de sintaxis):
apachectl configtest
  1. Reiniciamos apache:
apachectl restart
  1. Abrimos el archivo de configuración de phpMyAdmin:
nano /etc/webapps/phpmyadmin/config.inc.php
  1. Este paso podemos hacerlo manualmente, pero merece la pena hacerlo así. En otro terminal, generamos un numero hexadecimal aleatorio:
openssl rand -hex 16
  1. Copiamos lo que nos haya dado en la línea donde pone blowfish_secret, entre las comillas. Debe quedar así (cambiando lo que hay entre comillas por el número hexadecimal del paso anterior:
$cfg['blowfish_secret'] = 'valorhexadecimancreadoenelpasoanterior';
  1. Debajo de esa línea, añadimos la carpeta termporal:
$cfg['TempDir'] = '/tmp';
  1. Guardamos y salimos. Ahora ya sólo queda entrar en este caso, localhost/phpmyadmin

Si preferimos otra opción diferente a phpMyAdmin, una de las mejores para Linux es DBeaver. Si uno se acostumbra, hay cosas que funcionan mejor, por ejemplo, crear las relaciones.

Y así es cómo se puede tener phpMyAdmin y LAMP en distros con base Arch. Si hay algo diferente, debería ser alguna ruta, pero para la mayor parte de lo explicado aquí debería valer.

from Linux Adictos https://ift.tt/jBKAq9J
via IFTTT