PhpMyAdmin (Español)

From ArchWiki
Jump to: navigation, search

Pre-Instalación

Revisa LAMP Para instalar y configurar Apache, MySQL, and PHP.

Instalación

Para instalar phpMyAdmin, instala los paquetes phpmyadmin y php-mcrypt con

pacman -S phpmyadmin php-mcrypt

Configuración

Asegurate que que no tienes una copia antigua de phpMyAdmin.

rm -r /srv/http/phpMyAdmin

Copia el archivo de configuracion de ejemplo a tu diretorio de configuración de httpd

cp /etc/webapps/phpmyadmin/apache.example.conf /etc/httpd/conf/extra/httpd-phpmyadmin.conf

Añade las siguientes líneas a /etc/httpd/conf/httpd.conf:

# Configuracion de phpMyAdmin
Include conf/extra/httpd-phpmyadmin.conf

Puedes ingresar esto en la terminal y obtendrás el mismo efecto:

echo -e "\nInclude conf/extra/httpd-phpmyadmin.conf" >> /etc/httpd/conf/httpd.conf

En el archivo /usr/share/webapps/phpMyAdmin/.htaccess, comenta deny from all. La línea se debería ver como esto:

#deny from all

De lo contrario obtendrás un error similar a "Error 403 - Access forbidden!" cuando intentes acceder a tu instalación de phpMyAdmin.

Tu /etc/httpd/conf/extra/httpd-phpmyadmin.conf debería tener la siguiente información:

        Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
        <Directory "/usr/share/webapps/phpMyAdmin">
                AllowOverride All
                Options FollowSymlinks
                Order allow,deny
                Allow from all
        </Directory>

Abre tu /etc/php/php.ini y ve a la línea que contiene open_basedir y añade la ruta(s) a tu instalación de phpMyAdmin algo como lo siguiente:

:/usr/share/webapps/:/etc/webapps

Por ejemplo el mio contiene lo siguiente:

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/srv/:/usr/share/webapps/:/etc/webapps/

También necesitas los módulos mcrypt y mysql, entonces descomenta en /etc/php/php.ini:

 ;extension=mcrypt.so
 ;extension=mysql.so
a
 extension=mcrypt.so
 extension=mysql.so

Añadir contraseña de blowfish_secret

Sí Tú ves el siguiente mensaje de error en la parte superior de la página cuando intentas loguearte por primera vez en /phpmyadmin (Usando un usuario y contraseña previamente configurado en MySql):

ERROR: The configuration file now needs a secret passphrase (blowfish_secret)

Tú necesitas añadir una contraseña de blowfish a el archivo de configuración de phpMyAdmin. Edita /etc/webapps/phpmyadmin/config.inc.php e inserta una contraseña aleatoria para blowfissh en la línea

$cfg['blowfish_secret'] = ; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

e aquí para obetener un blowfish_secret muy bien generado y pégalo entre las comillas . Ahora se debería ver algo como esto:

$cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

El errpr debería desaparecer cuando recargues la página de phpMyAdmin.

Accediendo a tu instalación de phpMyAdmin

Finalmente tu instalación de phpMyAdmin está terminada. Antes de empezar a usarla necesitas reiniciar tu servidor apache con el siguiente comando:

# /etc/rc.d/httpd restart

Ya puedes acceder a tu instalación de phpMyAdmin usando la siguiente url:

http://localhost/phpmyadmin/
or
http://localhost/phpmyadmin/index.php

Not: 'localhost' en el nombre de host configurado en tu archivo /etc/rc.conf .

Sí tu quieres acceder usando:

http://localhost/phpmyadmin

cambia en '/etc/httpd/conf/extra/httpd-phpmyadmin.conf':

Alias /phpmyadmin/ "/usr/share/webapps/phpMyAdmin/"

a

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"

Deberías también leer este hilo.

Si obtienes el siguiente error "#2002 - The server is not responding (or the local MySQL server's socket is not correctly configured)" entonces puede que desees cambiar "localhost" en /etc/webapps/phpmyadmin/config.inc.php en la siguiente línea:

$cfg['Servers'][$i]['host'] = 'localhost';

A tu hostname especificado en /etc/hosts y /etc/rc.conf bajo HOSTNAME.

Sí quisieras usar el script de configuración de phpMyAdmin ejecutando http://localhost/phpmyadmin/setup necesitarás crear un directorio de configuración que sea escribible por httpd en /usr/share/webapps/phpmyadmin como lo siguiente:

cd /usr/share/webapps/phpMyAdmin
sudo mkdir config
sudo chgrp http config
sudo chmod g+w config

Configuración de Lighttpd

La configuracíon de php para lighttpd es exactamente la misma que para apache. Has un alias para phpmyadmin en tu configuración de lighttpd.

 alias.url = ( "/phpmyadmin/" => "/usr/share/webapps/phpMyAdmin/")

Luego habilita mod_alias, mod_fastcgi and mod_cgi en tu configuración( sección server.modules )

Actualiza open_basedir en /etc/php/php.ini y añade "/usr/share/webapps/".

 open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/

Asegúrate que lighttpd está configurada para servir archivos php.

Lighttpd y FastCGI

Reinicia lighttpd y navega a http://localhost/phpmyadmin/index.php

Configuración de NGINX

También similar a la configuración de Apache.

Crea un enlace simbólico a el directorio /usr/share/webapps/phpmyadmin desde cualquier directorio desque que tu host virtual este sirviendo archivos, p.e. /srv/http/<domain>/public_html/

 sudo ln -s /usr/share/webapps/phpmyadmin /srv/http/<domain>/public_html/phpmyadmin

También puedes configurar un subdominio con un servidor con unas líneas como estas(Si estás usando php-fpm):

 server {
         server_name     phpmyadmin.<domain.tld>;
         access_log      /srv/http/<domain>/logs/phpmyadmin.access.log;
         error_log       /srv/http/<domain.tld>/logs/phpmyadmin.error.log;
 
         location / {
                 root    /srv/http/<domain.tld>/public_html/phpmyadmin;
                 index   index.html index.htm index.php;
         }
 
         location ~ \.php$ {
                 root            /srv/http/<domain.tld>/public_html/phpmyadmin;
                 fastcgi_pass    unix:/var/run/php-fpm/php-fpm.sock;
                 fastcgi_index   index.php;
                 fastcgi_param   SCRIPT_FILENAME  /srv/http/<domain.tld>/public_html/phpmyadmin/$fastcgi_script_name;
                 include         fastcgi_params;
         }
 }

Posiblemente encuentres algunos problemas con phpMyadmin que dicen "The Configuration File Now Needs A Secret Passphrase" y no muestra lo que escribes, el error es aún mostrado. Intenta cambiando el propietario de los archivos por el usuario o grupo especificado por NGINX, p.r. nginx...

 cd /usr/share/webapps/phpmyadmin
 sudo chown -R nginx:nginx *

Mientras ingresas cualquier cosa para la contraseña de blowfish, tal vez desees una clave generada aleatoriamente (Pos razones de seguridad). Aqui esta una herramienta muy útil que hará esto por ti.[1].

Otra información (Antigua)

Esta página tiene un ejemplo del archivo 'config.inc.php' que tu necesitas poner en el directorio de phpMyAdmin que inmediatamente emìeza a funcionar

Cosas que deberías hacer primero

Crea un 'controuser', de tal manera que phpMyAdmin pueda leer de la base de datos principal de mysql.

mysql -u root -pYOURROOTPASSWORD
mysql> grant usage on mysql.* to controluser@localhost identified by 'CONTROLPASS';

Donde está phpmyadmin

En phpMyAdmin 3.2.2-3 el archivo falta el archivo /srv/http/ crea este link simbólico

ln -s /usr/share/webapps/phpMyAdmin/ /srv/http/phpmyadmin

Cosas que deberías configurar

controluser se establece en controluser
controlpass está configurada como password
verbose ise establece name_of_server

Sample 'config.inc.php' file

<?php
/*
 * Generated configuration file
 * Generated by: phpMyAdmin 2.11.8.1 setup script by Michal Čihař <michal@cihar.com>
 * Version: $Id: setup.php 11423 2008-07-24 17:26:05Z lem9 $
 * Date: Mon, 01 Sep 2008 20:34:02 GMT
 */

/* Servers configuration */
$i = 0;

/* Server ravi-test-mysql (http) [1] */
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['controluser'] = 'controluser';
$cfg['Servers'][$i]['controlpass'] = 'password';
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['verbose'] = 'name_of_server';

/* End of servers configuration */

$cfg['LeftFrameLight'] = true;
$cfg['LeftFrameDBTree'] = true;
$cfg['LeftFrameDBSeparator'] = '_';
$cfg['LeftFrameTableSeparator'] = '__';
$cfg['LeftFrameTableLevel'] = 1;
$cfg['LeftDisplayLogo'] = true;
$cfg['LeftDisplayServers'] = false;
$cfg['DisplayServersList'] = false;
$cfg['DisplayDatabasesList'] = 'auto';
$cfg['LeftPointerEnable'] = true;
$cfg['DefaultTabServer'] = 'main.php';
$cfg['DefaultTabDatabase'] = 'db_structure.php';
$cfg['DefaultTabTable'] = 'tbl_structure.php';
$cfg['LightTabs'] = false;
$cfg['ErrorIconic'] = true;
$cfg['MainPageIconic'] = true;
$cfg['ReplaceHelpImg'] = true;
$cfg['NavigationBarIconic'] = 'both';
$cfg['PropertiesIconic'] = 'both';
$cfg['BrowsePointerEnable'] = true;
$cfg['BrowseMarkerEnable'] = true;
$cfg['ModifyDeleteAtRight'] = false;
$cfg['ModifyDeleteAtLeft'] = true;
$cfg['RepeatCells'] = 100;
$cfg['DefaultDisplay'] = 'horizontal';
$cfg['TextareaCols'] = 40;
$cfg['TextareaRows'] = 7;
$cfg['LongtextDoubleTextarea'] = true;
$cfg['TextareaAutoSelect'] = false;
$cfg['CharEditing'] = 'input';
$cfg['CharTextareaCols'] = 40;
$cfg['CharTextareaRows'] = 2;
$cfg['CtrlArrowsMoving'] = true;
$cfg['DefaultPropDisplay'] = 'horizontal';
$cfg['InsertRows'] = 2;
$cfg['EditInWindow'] = true;
$cfg['QueryWindowHeight'] = 310;
$cfg['QueryWindowWidth'] = 550;
$cfg['QueryWindowDefTab'] = 'sql';
$cfg['ForceSSL'] = false;
$cfg['ShowPhpInfo'] = false;
$cfg['ShowChgPassword'] = false;
$cfg['AllowArbitraryServer'] = false;
$cfg['LoginCookieRecall'] = 'something';
$cfg['LoginCookieValidity'] = 1800;
?>