Instalar phpMyAdmin en GNU/Linux

phpMyadmin es una herramienta que permite administrar un servidor MySQL a través de una interfaz web, es rico en funcionalidades y presenta un interfaz agradable e intuitiva, está disponible en 62 idiomas, soporta mysqli, InnoDB, llaves foráneas y configuración personalizada. Con phpMyadmin podemos:

  • Administrar varios servidores MySQL
  • Realizar tareas de mantenimientos al servidor MySQL, base de datos y tablas, recomendándonos configuraciones para el servidor
  • Administrar usuarios y privilegios
  • Visualizar tablas, vistas, columnas, índices
  • Chequear integridad referencial
  • Crear/renombrar/copiar/eliminar tablas, vistas, columnas, índices
  • Crear/editar/ejecutar/exportar/eliminar procedimientos almacenados
  • Crear/editar/exportar/eliminar eventos y triggers
  • Ejecutar, editar y hacer bookmarks a consultas y grupos de consulta
  • Importar/Exportar desde/a varios formatos: CSV, XML, PDF, SQL
  • Exportar a varios formatos: CSV, XML, PDF, SQL
  • Obtener el DER de de una base datos

El siguiente procedimiento ha sido ejcutado en un servidor CentOS 5.7 con apache, php-5.3 y la versión phpMyAdmin-3.4.10.1, aunque puede usarse en cualquier distro incluso en SO BSD.

1- Descargar phpMyAdmin

Ir al sitio phpMyadmin y seleccionar la versión deseada, la serie 3.x requiere php > 5.2

De forma opcional se pueden instalar las extensiones php: mbstring, mcrypt. Para instalar estas extensiones se recomienda ver el artículo: Actualizar a PHP 5.3.x en CentOS

2- Descompactar

Asumimos que descargó la version phpMyAdmin-3.4.10.1-english.7z en $HOME

$ 7z x phpMyAdmin-3.4.10.1-english.7z

3- Copiar a /var/www/

$ sudo  cp -rv phpMyAdmin* /var/www/7z

4- Cambiar contexto si SELinux

$ sudo  chcon -Rt  httpd_sys_content_t /var/www/phpMyAdmin*

5- Cambiar propietario

$ sudo chown -Rc root:apache /var/www/phpMyAdmin*

Los siguientes pasos 6 – 8 son necesarios si desea habilitar funcionalidades extras, antes de continuar se recomienda leer los siguientes artículos:
Administrar servidor MySQL – Básico
MySQL Administración de usuarios

6- Crear bd phpmyadmin

mysql> create schema phpmyadmin;
mysql> use phpmyadmin

7- Crear usuario y dar acceso total a phpmyadmin

mysql> grant all on phpmyadmin* to 'usuario'@'locahost' identified by 'contraseña';
mysql> flush privileges;

8- Ejecutar script: create_tables.sql que se encuentra en la carpeta scripts de phpMyAdmin

mysql> source CAMINO/create_tables.sql

9- Crear host virtual y apuntar a la carpeta phpMyAdmin que está en /var/www/

Instalar y configurar Apache HTTP server

10- Crear fichero de configuración del phpMyAdmin

$ sudo cp -v /var/www/phpMyAdmin/config.sample.inc.php 
/var/www/phpMyAdmin/config.inc.php

11- Aqui les dejo mi fichero de configuración

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * phpMyAdmin sample configuration, you can use it as base for
 * manual configuration. For easier setup you can use setup/
 *
 * All directives are explained in Documentation.html and on phpMyAdmin
 * wiki <http://wiki.phpmyadmin.net>.
 *
 * @package phpMyAdmin
 */

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/*
 * Servers configuration
 */
$i = 0;

/*
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = true;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

/*
 * phpMyAdmin configuration storage settings.
 */

/* User used to manipulate with storage */
$cfg['Servers'][$i]['controluser'] = 'usuario-del-paso-7';
$cfg['Servers'][$i]['controlpass'] = 'clave-del-paso-7';

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
/* Contrib / Swekey authentication */
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';

/*
 * End of servers configuration
 */

/*
 * Directories for saving/loading files from server
 */
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';

/**
 * Defines whether a user should be displayed a &quot;show all (records)&quot;
 * button in browse mode or not.
 * default = false
 */
$cfg['ShowAll'] = true;

/**
 * Number of rows displayed when browsing a result set. If the result
 * set contains more rows, &quot;Previous&quot; and &quot;Next&quot;.
 * default = 30
 */
$cfg['MaxRows'] = 50;

/**
 * Use graphically less intense menu tabs
 * default = false
 */
$cfg['LightTabs'] = true;

/**
 * disallow editing of binary fields
 * valid values are:
 *   false  allow editing
 *   'blob' allow editing except for BLOB fields
 *   'all'  disallow editing
 * default = blob
 */
$cfg['ProtectBinary'] = 'all';

/**
 * Default language to use, if not browser-defined or user-defined
 * (you find all languages in the locale folder)
 * uncomment the desired line:
 * default = 'en'
 */
//$cfg['DefaultLang'] = 'en';
//$cfg['DefaultLang'] = 'de';

/**
 * default display direction (horizontal|vertical|horizontalflipped)
 */
$cfg['DefaultDisplay'] = 'horizontal';


/**
 * How many columns should be used for table display of a database?
 * (a value larger than 1 results in some information being hidden)
 * default = 1
 */
//$cfg['PropertiesNumColumns'] = 2;

/**
 * Set to true if you want DB-based query history.If false, this utilizes
 * JS-routines to display query history (lost by window close)
 *
 * This requires configuration storage enabled, see above.
 * default = false
 */
$cfg['QueryHistoryDB'] = true;

/**
 * When using DB-based query history, how many entries should be kept?
 *
 * default = 25
 */
//$cfg['QueryHistoryMax'] = 100;

/*
 * You can find more configuration options in Documentation.html
 * or here: http://wiki.phpmyadmin.net/pma/Config
 */
$cfg['LoginCookieValidity'] = 86400;

/*
 * Enables check for latest versions using Javascript on the main 
 * phpMyAdmin page. Possible values are true or false
 */
$cfg['VersionCheck'] = false;


/* Defines whether to refresh only parts of certain pages using 
 * Ajax techniques. Applies only where a non-Ajax behavior is possible; 
 * for example, the Designer feature is Ajax-only so this directive does 
 * not apply to it. 
 */
$cfg['AjaxEnable'] = true;

/*
 * Defines whether to use GZip output buffering for increased speed in HTTP transfers. 
 */
$cfg['OBGzip'] = true;

$cfg['PersistentConnections'] = true; 
?>

Lecturas recomendadas

Proyecto oficial phpMyAdmin

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.