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

Fork me on Github
<?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

Los tutoriales aquí en LibreByte están disponible bajo una licencia de software libre. Si le gusta mi trabajo considere:
Comprar un Hosting/VPS o Servidor Dedicado en MCKHost

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

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