PhpMyAdmin (Español)
Contents
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.
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; ?>