MariaDB y phpMyAdmin en openSUSE 15.1

Como ya lo dice el título, este artículo va a tratar acerca de la instalación y configuración básica para poner en marcha el motor de base de datos MariaDB (Fork de MySQL) y la herramienta web phpMyAdmin en openSUSE 15.1.

Esta pequeña guía es una adaptación y actualización del tutorial que escribí hace años sobre el proceso de instalación y configuración básico de MySQL.


Motor de base de datos MariaDB

Los pasos de configuración que van a continuación son los más básicos para poner en marcha el motor de base de datos MariaDB.
  1. Instalamos los paquetes necesarios a partir de los repositorios en linea o del propio DVD de instalación mediante el comando zypper:
    testsrv:~ # zypper install mariadb
    
  2. Luego definimos los niveles de ejecución para el servicio mariadb:
    testsrv:~ # systemctl enable mariadb
    
  3. Levantamos el servicio de mariadb por primera vez:
    testsrv:~ # systemctl start mariadb
    
  4. Por último definimos la contraseña para el usuario root del servicio mariadb local:
    testsrv:~ # mysqladmin -u root password 'mi_contraseña'
    
    Otra forma para asignar la contraseña al usuario root y de configurar algunas otras cosas más es mediante la ejecución del asistente de configuración mysql_secure_instalation, lo ejecutamos de la siguiente forma:
    testsrv:~ # mysql_secure_installation
    
Con los pasos anteriores ya tenemos el motor de base de datos MariaDB corriendo y listo para ser utilizado.


Herramienta phpMyAdmin

  1. Primero instalamos algunos paquetes necesarios:
    testsrv:~ # zypper install apache2 apache2-mod_php7 php7 php7-mysql php7-mbstring php7-pear-MDB2_Driver_mysqli
    
  2. Una de las formas para obtener esta herramienta es descargándola desde su sitio web, para luego descomprimirla en el directorio /srv/www/htdocs y asignarle los permisos correspondientes como se aprecia en la siguiente secuencia de comandos:
    testsrv:~ # cd /srv/www/htdocs/
    testsrv:/srv/www/htdocs # wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.tar.gz
    testsrv:/srv/www/htdocs # tar -xzf phpMyAdmin-4.9.0.1-all-languages.tar.gz
    testsrv:/srv/www/htdocs # mv phpMyAdmin-4.9.0.1-all-languages phpMyAdmin
    testsrv:/srv/www/htdocs # rm phpMyAdmin-4.9.0.1-all-languages.tar.gz
    testsrv:/srv/www/htdocs # chmod -Rf 755 phpMyAdmin
    testsrv:/srv/www/htdocs # chown -Rf wwwrun:www phpMyAdmin
    
  3. El siguiente paso consiste en crear una copia llamada config.inc.php a partir del archivo /srv/www/htdocs/phpMyAdmin/config.sample.inc.php
    testsrv:~ # cd /srv/www/htdocs/phpMyAdmin
    testsrv:/srv/www/htdocs/phpMyAdmin # cp config.sample.inc.php config.inc.php
    
  4. Editamos el nuevo archivo config.inc.php,
    testsrv:/srv/www/htdocs/phpMyAdmin # vi config.inc.php
    
    y verificamos la configuración de las directivas auth_type y host. El contenido debería ser similar a lo sigue:
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
    $cfg['Servers'][$i]['host'] = 'localhost'; #(OBS: probar 127.0.0.1 si no funciona)
    
  5. Guardamos los cambios y verificamos que el servidor Apache tenga activado el soporte php en la directiva APACHE_MODULES del archivo /etc/sysconfig/apache2, y si no lo está lo incluimos:
    testsrv:~ # vi /etc/sysconfig/apache2
    
    APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl userdir php7"
    
  6. Luego especificamos los niveles de ejecución del servicio Apache y lo iniciamos:
    testsrv:~ # systemctl enable apache2
    testsrv:~ # systemctl start apache2
    
  7. Con estos pasos concluimos con la puesta en marcha de Apache, lo que nos permitirá acceder localmente a phpMyAdmin mediante la siguiente URL:
    http://localhost/phpMyAdmin
    


Habilitación de puertos en el cortafuegos

Si necesitamos acceder a los servicios de MariaDB y Apache (para acceder a phpMyAdmin) remotamente y no solo trabajar en forma local, necesitamos habilitar los puerto correspondiente en el firewall de openSUSE que se puede hacer fácilmente a través de YAST, o mejor aún a través de la línea de comandos como se explicará a continuación.
  1. Editamos el archivo /etc/firewalld/zones/public.xml:
    testsrv:/etc/sysconfig # vi /etc/firewalld/zones/public.xml
    
  2. Configuración a la que le agregamos la línea referente al protocolo http, debiendo quedar similar a lo que sigue:
    <?xml version="1.0" encoding="utf-8"?>
    <zone>
      <short>Public</short>
      <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
      <service name="ssh"/>
      <service name="http"/>
      <service name="mysql"/>
      <service name="dhcpv6-client"/>
    </zone>
    
    OBS: La directiva anterior habilitará en el cortafuego los puertos de los servicios Apache, MariaDB y SSH.
  3. Guardamos los cambios y salimos del editor, en mi caso con los comandos :wq para Vim, y luego procedemos a reiniciar el servicio del firewall de openSUSE con el siguiente comando:
    testsrv:/etc/sysconfig # systemctl restart firewalld
    
  4. Con los pasos anteriores hemos habilitado los puertos deseados en el cortafuego, con lo cual hemos culminado.


Observaciones finales

  • openSUSE 15.1 x86_64
  • MariaDB v10.2.22
  • Apache 2 v2.4.33
  • php 7
  • phpMyAdmin v4.9.0.1

Estos fueron todos los pasos para poner en marcha el servicio MariaDB y la herramienta web phpMyAdmin que permite administrar dicho motor de base de datos.

Comentarios