MySQL y phpMyAdmin en openSUSE

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 MySQL y la herramienta web phpMyAdmin en openSUSE.

De seguro existen en Internet artículos muchos más completos que este, sin embargo, esta pequeña guía la preparé para dejar constancia del conjunto de pasos propios que seguí, sigo y seguiré utilizando para poner en marcha los mencionados servicios en mi distribución Linux favorita, así que no esperen un artículo fuera de serie ni mucho menos.


Motor de base de datos MySQL

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 MySQL.
  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 mysql-community-server
  2. Luego definimos los niveles de ejecución para el servicio mysql:
    testsrv:~ # chkconfig --add mysql
  3. Levantamos el servicio de MySQL por primera vez:
    testsrv:~ # service mysql start
  4. Por último definimos la contraseña para el usuario root del servicio MySQL local:
    testsrv:~ # /usr/bin/mysqladmin -u root password 'mi_contraseña'
  5. 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:~ # /usr/bin/mysql_secure_installation
Con los pasos anteriores ya tenemos el motor de base de datos MySQL corriendo y listo para ser utilizado.


Herramienta phpMyAdmin

  1. Primero instalamos algunos paquetes necesarios:
    testsrv:~ # zypper install apache2 apache2-mod_php5 php5 php5-mysql php5-mbstring mcrypt php5-mcrypt php5-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 http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.5.1/phpMyAdmin-3.5.1-all-languages.tar.gz
    testsrv:/srv/www/htdocs # tar -xzf phpMyAdmin-3.5.1-all-languages.tar.gz
    testsrv:/srv/www/htdocs # mv phpMyAdmin-3.5.1-all-languages phpMyAdmin
    testsrv:/srv/www/htdocs # rm phpMyAdmin-3.5.1-all-languages.tar.gz
    testsrv:/srv/www/htdocs # chmod -Rf 755 phpMyAdmin
    testsrv:/srv/www/htdocs # chown -Rf wwwrun:www phpMyAdmin

    Otra forma de instalar phpMyAdmin para openSUSE es mediante el método de 1-Click Install, buscando el paquete adecuado para nuestra versión de openSUSE y correspondiente arquitectura en el siguiente enlace: http://software.opensuse.org/search

  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 host, extension, port, connect_type, compress y auth_type. 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)
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['extension'] = 'mysqli'; #(OBS: Utilizar mysql si el servidor no soporta mysqli)
    $cfg['Servers'][$i]['port'] = '3306'; #(OBS: no presente en las nuevas versiones de phpMyAdmin)
  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 php5"
  6. Luego especificamos los niveles de ejecución del servicio Apache y lo iniciamos:
    testsrv:~ # chkconfig --add apache2
    testsrv:~ # service apache2 start

    Starting httpd2 (prefork) done
    testsrv:~ #
  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 MySQL 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/sysconfig/SuSEfirewall2:
    testsrv:/etc # cd /etc/sysconfig/
    testsrv:/etc/sysconfig # vi SuSEfirewall2

  2. Luego buscamos la directiva FW_CONFIGURATIONS_EXT a la cual le agregamos los nombres de los servicios mysql y apache debiendo quedar similar a lo que sigue:
    FW_CONFIGURATIONS_EXT="apache2 mysql sshd"
    OBS: La directiva anterior habilitará en el cortafuego los puertos de los servicios Apache, MySQL 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 # rcSuSEfirewall2 restart
    Starting Firewall Initialization (phase 2 of 2) SuSEfirewall2: Warning: no default firewall zone defined, assuming 'ext'
    done
    testsrv:/etc/sysconfig #
  4. Con estos cuatro pasos anteriores hemos habilitado los puertos deseados en el cortafuego, con lo cual hemos culminado.


Observaciones finales

  • openSUSE i586
  • MySQL 5
  • Apache 2
  • phpMyAdmin 3.x.x

Bueno, como dije al principio, estos son todos los pasos que sigo para poner en marcha el servicio MySQL y la herramienta web phpMyAdmin que permite administrar dicho motor de base de datos. Si tienen una consulta, quieren aportar algo más, o si existe algún error en el artículo que necesita corregirse, no duden en comentar.

Comentarios

  1. si instalo phpmyadmin para mysql y phpmyadmin para postgresql
    no tendre problemas

    ResponderEliminar
    Respuestas
    1. Hola Anónimo, la verdad que para PostgreSQL se usa otra herramienta similar phpMyAdmin que se llama phpPgAdmin de la que ya hablé en éste enlace.

      Ahora bien, hace unos pocos días la herramienta phpPgAdmin no me estaba funcionando con las versiones más recientes de PostgreSQL, así que puede ser que tengas problemas o no, depende de tu distribución y las versiones de los paquetes que utilice.

      Saludos!

      Eliminar
  2. hola si estoy trabajando con una base de datos oracle 11g hay una herramienta especifica?

    y si no seria mucha molestia me podrias ayudar con este error encontre que es del servidor pero no se como resolverlo ..!!
    Resource interpreted as Script but transferred with MIME type text/x-js:
    (Cuando corro mi aplicación en google en modo desarrollador me sale, si reconoce los js y jquery el problema es qu el servidor los interpreta como texto plano )

    ResponderEliminar
    Respuestas
    1. Hola Anónimo, para conectarme a bases de datos Oracle suelo utilizar la herramienta PLSQLDeveloper para Windows, si existe algo similar a phpMyAdmin para Oracle la verdad lo desconozco.

      Con respecto a tu otra pregunta te comento que no la entiendo muy bien, el código JS siempre se ejecuta del lado del navegador, nunca en el servidor (a menos que estés usando como servidor nodejs), quizás deberías verificar si están bien definidos tus scripts JS en el head de tu html.

      Saludos..

      Eliminar
    2. Hola Gabriel, Es que ya busque en la web el error y me dice que lo mas probable es que no se hayan configurado los tipo de mime y que por eso me los lee como texto plano, pero no hay una solución especifica.
      El navegador si me carga los JS el problema que no me los ejecuta.

      Resource interpreted as Script but transferred with MIME type text/x-js:

      Muchas gracias.
      Saludos.


      Eliminar
    3. Osea, de cargar va a cargar porque es código plano, pero me parece muy raro que el navegador web no te ejecute el código JS, busca ejemplos en Internet y prueba con varios navegadores, algo simple tiene que estar mal, como por ejemplo la definición del type cuando definís tu script JS, o esperar a que primero se cargue todo el JS antes de ejecutar código en el navegador...

      Te soy claro, la verdad hace tiempo que ya no toco javascript ni nada relacionado al desarrollo web..

      Saludos!!

      Eliminar

Publicar un comentario