“Create & Self-Host Websites in 60 Seconds!”

» Advanced, High-Performance Web Server Software with Apache, PHP, MySQL - for Windows

  • Host websites after a simple 60 seconds 1-click installation!
  • Provides a complete web development and website hosting platform on which to create standards-based dynamic HTML + CSS + JavaScript sites running on PHP and MySQL!
  • Performance Optimized. Secured. And Fully Supported!
  • Built on standards and best-practices, with 7+ years of web-development and website hosting experience! (since 2003)
  • Now comes standard with WordPress, Drupal, Joomla, Magento, phpBB and MediaWiki (1-click install in any website and URL)!
System Websites Local DNS Web Applications Proxy Pass Components
Get Wamp-Developer Now »

"For your PC, Server, Laptop! Use it to develop and host websites at home, from office, or in a datacenter."

WAMP: Windows + Apache + MySQL + PHP | Developer: That's You!Developer - Thumbs Up

phpMyAdmin 3.3.10 for Windows XP/Vista/7

Building a Web Server, for Windows

Requirements

  • PHP 5.2/5.3
  • MySQL 5.1/5.5
  • Apache 2.0/2.2 (or IIS)

Download

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-3.3.10.zip under directory C:\www
  • Rename directory C:\www\phpMyAdmin-3.3.10 to C:\www\phpMyAdmin
  • Edit phpMyAdmin's default configuration file C:\www\phpMyAdmin\config.sample.inc.php, rename it to 'config.inc.php'...
    • 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;
    • 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 blank)
    • 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 MySQL user 'pma' and password 'pmapass'; will create in next step)
    • Create MySQL's phpMyAdmin 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

Configuration for Apache 2.2

  • Edit file C:\www\Apache2.2\conf\httpd.conf and uncomment line (remove the beginning character '#')...
    • LoadModule alias_module modules/mod_alias.so
  • Edit file C:\www\Apache2.2\conf\httpd.conf and make sure directive 'DirectoryIndex' contains 'index.php'...
    • DirectoryIndex index.html index.html.var index.php
  • Edit file C:\www\Apache2.2\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)
  • Restart Apache.

Configuration for PHP 5

Note that this step is only required for PHP 5. Under PHP 4, PHP extension php_mysql.dll is build in and extension php_mysqli is not supported.

  • Edit PHP's configuration file php.ini, under the 'Dynamic Extensions' Section, uncomment lines (remove ';')...
    • ;extension=php_mbstring.dll
    • ;extension=php_mysql.dll
    • ;extension=php_mysqli.dll
  • Edit phpMyAdmin's configuration file C:\www\phpMyAdmin\config.inc.php, and update server extension line... $cfg['Servers'][$i]['extension'] = 'mysqli';
  • Save both files. Restart Apache.

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, uncomment lines
    $cfg['Servers'][$i]['controluser'] = 'pma';
    $cfg['Servers'][$i]['controlpass'] = 'pmapass';

    $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';
  • Run phpMyAdmin's sql script file 'create_tables.sql' and then grant permissions...
    • C:\www\mysql\bin> mysql -u root -p
      • mysql> source C:\www\phpMyAdmin\scripts\create_tables.sql
      • GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
      • mysql> quit

Testing