Error: mysql_secure_installation command not found

Cuando se instala el gestor de bases de datos MariaDB, una de las primeras cosas que se suele hacer es ejecutar el script mysql_secure_insallation, que permite aumentar la seguridad de la instalación de varias formas, como podemos leer en la página correspondiente de la documentación de MySQL.

Como dicho script tiene su origen en MySQL, como es evidente por su nombre, los desarrolladores de MariaDB decidieron a partir de la versión 10.5 que mejor creaban su propio script, que es mariadb-secure-installation. Aunque en su página de documentación dicen que aún puede ejecutarse dicho script usando el nombre original, porque hay un enlace simbólico que relaciona ambos scripts, lo cierto es que si, por ejemplo, instalas Debian 12 de la rama testing, dicho enlace no existe, por lo que es posible que nos surja cierto desconcierto al no encontrar un script tan conocido y usado. Que al renombrar dicho script no solo se haya cambiado el nombre mysql por el de mariadb, sino que también se hayan sustituido los guiones bajos por guiones normales, no ayuda mucho a la hora de encontrar este nuevo script.

Así que habrá que acostumbrarse al nuevo nombre y ejecutar mariadb-secure-installation cada vez que instalemos una nueva inistancia de MariaDB.

Cómo iniciar Linux sin entorno gráfico por defecto con systemd

Si tenemos un ordenador con una distribución Linux que arranca con systemd, podemos muy fácilmente conseguir que el inicio sea en modo gráfico o no, simplemente activando el servicio que corresponda.

Primero buscaremos qué gestor de pantallas se está utilizando, para eso en un terminal lanzamos el comando

cat /etc/X11/default-display-manager

El cual nos mostrará por pantalla si nuestro sistema usa gdm (lo normal en Gnome), kdm (utilizado por KDE) o sddm (usado en KDE Plasma). En mi caso me muestra «/usr/bin/sddm» porque estoy usando Debian 12 con KDE.

Para confirmar que el servicio que tenemos que modificar es el correcto lanzamos en un terminal el comando:

sudo systemctl status | grep sddm

El cual nos mostrará, si tenemos el servicio activado, algo como lo siguiente:

Al estar el servicio «enabled» se arranca automáticamente al iniciar el sistema, que lo hará, por lo tanto, en modo gráfico. Para desactivarlo, solo tenemos que lanzar el comando:

sudo systemctl disable sddm.service

De esta manera cuando arranquemos la próxima vez no se cargará el gestor de pantallas y podremos iniciar sesión directamente en modo consola.

Si en un momento dado queremos volver a estar en modo gráfico, solo tenemos que lanzar el comando:

sudo systemctl start sddm.service

Y nos aparecerá la ventana de inicio de sesión de sddm.

Más información en:

https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units-eshttps://wiki.debian.org/es/GDM

Instalar OnlyOffice en Debian 12 Bookworm

Si intentamos instalar la aplicación de escritorio OnlyOffice en Debian 12 siguiendo las instrucciones de su página web para hacerlo mediante el método de añadir el repositorio, cuando lanzamos la instalación con apt, da un error.

dpkg: error al procesar el paquete onlyoffice-desktopeditors (--configure):
el subproceso instalado paquete onlyoffice-desktopeditors script post-installation devolvió el código de salida de error 127

No tengo claro por qué se produce este error, pero al mirar las instrucciones de esa página veo que el repositorio de Debian que indican es para la versión 6 (Squeeze) que es muy antigua. Intentando acceder al mismo repositorio pero con la versión Bookworm (Debian 12) vemos que no existe.

La forma de instalarlo y que funcione es utilizar la AppImage, siguiendo las instrucciones de la página https://helpcenter.onlyoffice.com/installation/desktop-install-appimage.aspx

Yo me he descargado la versión 8.0.1 y me ha funcionado perfectamente en Debian 12 con KDE. El fichero AppImage realmente es un ejecutable similar a los «exe» del entorno Windows, yo lo he guardado en /opt pero podría estar en cualquier lugar del disco.

Añadir el ejecutable al menú de KDE es fácil pulsando con el botón derecho sobre el lanzador de aplicaciones, eligiendo «Editar aplicaciones», botón derecho sobre «Oficina», seleccionar «añadir elemento», rellenar la información del ejecutable y guardar.

Yii: error de permisos en /var/lib/php/sessions

Al probar una instalación limpia de Yii2 basic en Debian 12, salta el error:

Estoy ejecutando Yii2 en un directorio web de usuario colgando de /home/<usario>/public_html. Parece que el usuario con el que se ejecuta Yii no tiene permisos para crear una sesión en la carpeta del sistema, que por defecto pertenece a root.

Una solución rápida pero poco aconsejable es cambiar los permisos de la carpeta /var/lib/php/sessions para que cualquier usuario pudiera grabar información en ella, pero no es aconsejable cambiar los permisos de los directorios por defecto de la instalación. Una mejor solución es cambiar en PHP el directorio en el que se guardan las sesiones, creando previamente uno cerca del lugar donde está situado el raíz de nuestra aplicación web. Para ello insertamos las siguientes líneas en el archivo index.php antes de iniciar la sesión:

ini_set('session.save_path',realpath(dirname($_SERVER['DOCUMENT_ROOT']) . '/../../session'));

ini_set('session.gc_probability', 1);

session_start();

Hemos creado previamente un directorio «session» dos niveles más arriba en el árbol de directorios de donde tenemos situado el index.php de la aplicación.

La primera línea de código indica a PHP que guarde los archivos de sesión en esa carpeta. La segunda es específica para un sistema Debian, donde el borrado de sesiones obsoletas se hace de forma periódica eliminándolas de las carpetas por defecto. Como hemos cambiado la carpeta donde se guardan, tenemos que decirle que limpie sesiones para que no se nos acumulen.

Instalar KDE en Debian 11

Después de mucho tiempo trabajando en Debian con Gnome, me entraron las ganas de volver a usar KDE, escritorio que hace tiempo que no uso. Hacer el cambio es muy sencillo. Ejecutamos en un terminal:

sudo apt update && sudo apt upgrade
sudo apt install tasksel -y

A continuación ejecutamos tasksel

sudo tasksel

Y seleccionamos el escritorio que queremos instalar, en este caso KDE.

Esta es la forma en la que se explica la forma de instalar KDE en Debian en las páginas que he consultado, sin embargo, en ninguna de ellas se cita, y creo que es importante, que hay que tener en cuenta que el gestor de inicio de sesión por defecto en KDE es sddm, por lo que si procedemos de Gnome, que usa el gdm3, algunas cosas no funcionan, como por ejemplo activar el inicio de sesión automático de un usuario. Por evitar esto, tenemos que instalar también:

sudo apt install sddm kde-config-sddm sddm-theme-debian-maui

Y a continuación seleccionamos sddm como gestor de inicio con:

sudo dpkg-reconfigure sddm

Y ya está, ya tenemos KDE en Debian funcionando con su inicio de sesión correcto.

Instalar MySQL Workbench en Debian 10

Para poder instalar el programa MySQL Workbench en Debian 10 hay que instalar previamente una serie de dependencias sin las cuales no funciona correctamente. El proceso de instalación es como sigue:

  1. Descargar el paquete deb de la página de MySQL Workbench, necesitamos el correspondiente a Ubuntu 18.04 y la versión 8.0.23:

2. Actualizamos el sistema e instalamos las siguientes librerías:

sudo apt update && sudo apt upgrade
sudo apt install libatkmm-1.6-1v5 libglibmm-2.4-1v5 libgtkmm-3.0-1v5 libsigc++-2.0-0v5 libtinfo5 libcairomm-1.0-1v5 libpangomm-1.4-1v5 libpcrecpp0v5 libproj-dev proj-bin gnome-keyring

3. Instalamos el paquete en el directorio donde lo hayamos descargado:

sudo dpkg -i mysql-workbench-community_8.0.23-1ubuntu18.04_amd64.deb

En mi caso, como uso KDE, necesité instalar el gnome-keyring porque si no me daba error al intentar guardar la password para la conexión.

Hay que recordar que tenemos que tener la versión MySQL Server 5.7, pues versiones posteriores dan problemas.

Instalar el cliente de Spotify en Debian 10

Las instrucciones para instalar en Linux el cliente de Spotify las tenemos en la página web de dicha empresa. En el caso de Debian/Ubuntu podemos instalarlo mediante un paquete deb, pero tanto antes como después de instalarlo hay que hacer un par de cosillas tontas que son:

Instalar curl y net-tools. Abrimos un terminal y tecleamos:

sudo apt-get install curl net-tools

A continuación ya podemos instalar el cliente de Spotify mediante los comandos que indican en su página web:

curl -sS https://download.spotify.com/debian/pubkey.gpg | sudo apt-key add

echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list

Ahora ya tenemos el cliente instalado, pero es posible que no nos funcione porque es necesario abrir los puertos que utiliza en el router. Para ello obtenemos nuestra IP de red local (que será algo así como 192.168.1.n siendo n normalmente un número entre 2 y 50) lanzando el comando ifconfig en un terminal (para eso instalamos las net-tools) y entramos en nuestro router con un navegador, normalmente en la dirección 192.168.1.1. Allí tendremos que abrir para nuestra IP el puerto 4070.

Cuando hayamos guardado la nueva configuración en el router, reiniciamos y ya debería de funcionar el cliente de Spotify.

Instalar Guest Additions de Virtual Box en Debian

Para instalar las Guest Additions de Virtual Box en Debian hay que seguir el siguiente procedimiento:

  • En el menú de VirtualBox de la máquina «guest» con Debian pulsamos en Dispositivos / Insertar imagen de CD de las Guest Additions.
  • Ya en la máquina virtual, editar el fichero /etc/fstab y añadir la opción «exec» a la unidad cdrom0. La línea correspondiente del fichero tiene que quedar así:
/dev/sr0    /media/cdrom0   udf,iso9660 user,noauto,exec     0       0
  • Ejecutar como root

# apt-get install build-essential

# apt-get install linux-headers-$(uname -r)

A continuación ejecutamos (ya no hace falta ser root, es más, cuando se ejecuta como root curiosamente falla la ejecución):

$ cd /media/cdrom0

$ ./autorun.sh

Una vez que acabe la ejecución, reiniciamos y ya deberíamos ver la máquina Debian a pantalla completa, síntoma de que se han instalado correctamente las Guest Additions. (Probado en Debian 9 y Virtualbox 5.2.18)

Cómo habilitar las clean url de Drupal en el directorio de usuario de Apache2 en Debian/Ubuntu y Fedora

  1. Habilitar el módulo mod_rewrite de Apache. En Debian/Ubuntu hay que lanzar el comando: sudo a2enmod rewrite. En Fedora ese módulo ya viene habilitado por defecto.
  2. Editar el fichero /etc/apache2/mods-enabled/userdir.conf en Debian/Ubuntu cambiando la linea con AllowOverride FileInfo AuthConfig Limit Indexes de forma que solo tenga AllowOverride All. En Fedora dicho fichero está en /etc/httpd/conf.d/userdir.conf
  3. Editar el fichero .htaccess de nuestro directorio de Drupal descomentando la linea con la opción RewriteBase y dejándola como  RewriteBase /~MiUsuario/miDirectorioDrupal/
  4. Reiniciar Apache. En Debian/Ubuntu con el comando: sudo service apache2 restart y en Fedora con: sudo service httpd restart

Este procedimiento me ha funcionado con Ubuntu 14.04 con Drupal 8, y también en Fedora 23 con Drupal 7

En esta entrada recojo mi experiencia personal tras seguir las indicaciones de:
http://tolocalhost.blogspot.com.es/2013/04/enabling-drupal-clean-url-in-apache2.html

Instalar Firefox o Thunderbird en Debian 8

Aunque las versiones adaptadas para Debian son perfectas y funcionales 100%, mi aprecio al proyecto Mozilla me impulsa siempre a usar directamente sus programas, por lo que si no eres un fan absoluto de Mozilla Foundation como yo, entonces no te hace falta hacer lo que sigue a continuación, tanto Iceweasel como Icedove funcionan perfectamente.

Primero descargamos el fichero de instalación de la página de descargas de Mozilla Firefox o Thunderbird.

Hacemos login en una consola como root y lanzamos los siguientes comandos (suponiendo que el fichero lo hemos descargado en el directorio Descargas):
#cd /opt
#tar xvf /home/nuestro_usuario/Descargas/firefox-...tar.bz2
#cp /opt/firefox/browser/icons/mozicon128.png /usr/share/pixmaps/firefox.png
#rm /usr/bin/firefox && ln -s /opt/firefox/firefox /usr/bin/firefox

Para el caso de Thunderbird los comandos son:

#cd /opt
#tar xvf /home/nuestro_usuario/Descargas/thunderbrid-...tar.bz2
#cp /opt/thunderbird/chrome/icons/default/default48.png /usr/share/pixmaps/thunderbird.png
#rm /usr/bin/thunderbird && ln -s /opt/thunderbird/thunderbird /usr/bin/thunderbird

A continuación tenemos que asignar el directorio en el que hemos hecho las instalaciones a nuestro usuario, para que así podamos actualizar las versiones sin tener que repetir la instalación. Para ello lanzamos el comando:

#chown -R nuestro_usuario:nuestro_grupo /opt/firefox
#chown -R nuestro_usuario:nuestro_grupo /opt/thunderbird

Para tener un acceso en el escritorio o el menú, depende de si usas Gnome, LXDE, etc tendrán que seguir un procedimiento u otro, por ejemplo, para Gnome y LXDE basta con crear el archivo firefox.desktop (hay que hacerlo con usuario root) en el directorio /usr/share/applications con el contenido siguiente:

[Desktop Entry]
Encoding=UTF-8
Name=Firefox
Comment=Browse the World Wide Web
GenericName=Web Browser
X-GNOME-FullName=Firefox Web Browser
Exec=/opt/firefox/firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;
StartupWMClass=Firefox
StartupNotify=true

Es conveniente cerrar sesión y entrar de nuevo en el escritorio, porque he visto en Gnome que si por ejemplo copias el archivo de otro programa para crear éste, a veces se mantiene el icono del anterior. Para Thunderbird sería igual  pero cambiando el nombre del programa, la descripción, etc y adaptándola al cliente de correo. El fichero thunderbird.desktop quedaría así:

[Desktop Entry]
Encoding=UTF-8
Name=Thunderbird
Comment=Mail client
GenericName=Mail client
X-GNOME-FullName=Thunderbird Web Browser
Exec=/opt/thunderbird/thunderbird %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=thunderbird
Categories=Network;
StartupWMClass=Thunderbird
StartupNotify=true

Y ya está, a disfrutar con los programas de la Mozilla Foundation.