phpMyAdmin 2.11.1 for Windows 2000/XP
Building a Web Server, for Windows
Requirements
- PHP 4.3/4.4/5.1
- MySQL 4.0/4.1/5.0
Download
- phpMyAdmin-2.11.1 -- Select file from phpMyAdmin Downloads
Our Configuration
- Install to : C:\www\phpMyAdmin
- [note that phpMyAdmin will be placed outside of Apache's webroot]
- Apache's webroot : C:\www\webroot
- MySQL path : C:\www\mysql\bin
- Access phpMyAdmin as : http://localhost/phpMyAdmin/
Install phpMyAdmin
- Unpack file phpMyAdmin-2.11.1.zip under directory C:\www
- Rename directory C:\www\phpMyAdmin-2.11.1 to C:\www\phpMyAdmin
- Edit phpMyAdmin's default configuration file C:\www\phpMyAdmin\libraries\config.default.php, putting all changes into new file 'config.inc.php' at the base directory...
- Insert full URL path to phpMyAdmin into line...
$cfg['PmaAbsoluteUri'] = '';- If access will only be performed from localhost, use
http://localhost/phpMyAdmin/ - [note that double logins and browser errors will occur if user accesses URL 'http://127.0.0.1/phpMyAdmin/']
- If access will be performed from other systems within a LAN, use
http://local.ip.address.of-system/phpMyAdmin/ - phpMyAdmin can also try to auto-detect the proper value if this directive is left as it is (blank) and this line is changed to 'TRUE'...
$cfg['PmaAbsoluteUri_DisableWarning'] = FALSE;
- If access will only be performed from localhost, use
- Authentication Method -- for single-user (root or trusted) environment...
- Method 1: Prompt client for MySQL user/password...
$cfg['Servers'][$i]['auth_type'] = 'http'; - Method 2: Store MySQL user/password under config.ini.php...
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'root-password';[Note password 'root-password'; substitute in set password for MySQL user 'root'; if no password set, leave as is (blank)]
- Method 1: Prompt client for MySQL user/password...
- Authentication Method -- for multi-user (untrusted) environment (this step is also required for enabling phpMyAdmin's relational features)...
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';[Note password 'pmapass'] - Create MySQL controluser user 'pma@localhost' with password 'pmapass', with the proper permissions set...
C:\www\mysql\bin> mysql -u root -p
mysql> GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';[Note password 'pmapass']
mysql> GRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv) ON mysql.user TO 'pma'@'localhost';[Note that this query is too large to be pasted into the mysql command line in its entirety; select half, copy/paste, press enter, copy/paste other half]
mysql> GRANT SELECT ON mysql.db TO 'pma'@'localhost';
mysql> GRANT SELECT ON mysql.host TO 'pma'@'localhost';
mysql> GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON mysql.tables_priv TO 'pma'@'localhost';
mysql> quit
- Insert full URL path to phpMyAdmin into line...
Configuration for Apache 2.0
- Edit file C:\www\Apache2\conf\httpd.conf and uncomment line (remove the beginning character '#')...
- LoadModule alias_module modules/mod_alias.so
- Edit file C:\www\Apache2\conf\httpd.conf and make sure directive 'DirectoryIndex' contains 'index.php'...
- DirectoryIndex index.html index.html.var index.php
- Edit file C:\www\Apache2\conf\httpd.conf and add the following...
-
<IfModule mod_alias.c>
Alias /phpMyAdmin "C:/www/phpMyAdmin"
</IfModule>
-
<Directory "C:/www/phpMyAdmin">
Options None
AllowOverride None
order deny,allow
deny from all
allow from 127.0.0.1
</Directory>
- [note that this configuration will only allow access to phpMyAdmin from the HOST system -- the system Apache is running from]
-
<IfModule mod_alias.c>
- Restart Apache
Configuration for PHP v5
Note that this step is only required for PHP v5. Under PHP v4, PHP extension php_mysql.dll is build in and extension php_mysqli is not supported.
- Edit file %SYSTEMROOT%\php.ini, under the 'Dynamic Extensions' Section...
- Uncomment line
;extension=php_mbstring.dll - If using MySQL v4.0 : Uncomment line
;extension=php_mysql.dll - If using MySQL v4.1 : Insert line
extension=php_mysqli.dll
Edit config.inc.php and update server extension line...
$cfg['Servers'][$i]['extension'] = 'mysqli';
- Uncomment line
[Optional] Enable phpMyAdmin's Relational Features
Note that this step requires "Authentication Method -- for multi-user (untrusted) environment"
- Edit phpMyAdmin's configuration file C:\www\phpMyAdmin\config.inc.php
$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]['designer_coords'] = 'pma_designer_coords'; - Run phpMyAdmin's sql script file 'create_tables.sql'...
C:\www\mysql\bin> mysql -u root -pmysql> source C:\www\phpMyAdmin\scripts\create_tables.sqlmysql> quit
Testing
- Access URL http://localhost/phpMyAdmin

