Setting up a database program based on MySQL (an alternative to Microsoft Access)

MySQL has a (for some people) unwieldy command-line interface, and its graphical tools aren't that great; you can instead use phpMyAdmin (which requires PHP to run, which itself requires the Apache web server to run). These instructions explain how to install this collection of software; they don't explain how to configure each application for security or performance or anythhing beyond how they're configured out-of-the-box as we don't know anything about that yet.

these instructions only cover installing on Windows NT (Windows 2000 in particular), if you're installing on other versions of Windows then you should read the documentation that comes with each package as your installation will necessarily be different

MySQL

download and install the package.
(no desktop icons will be created. it might be useful to create a couple manually for winmysqladmin (the configuration tool) and mysqlshow)

copy the template configuration file provided in the MySQL program directory to c:\winnt\my.ini (you can put it elsewhere but putting it here allows you to also use a graphical tool to edit it) and change the settings for program directory (progdir) and data directory (datadir) to match your situation. (I couldn't get the database service to start with datadir set to H: (my data partition) so had to use the default location in the MySQL program directory, this is something I need to learn how to fix)

install MySQL as a Windows service by running 'mysqld-max-nt --install' in the MySQL program directory
(you can use either mysqld-nt or mysqld-max-nt (with --enable-named-pipe if possible)). if you need to manually start and stop MySQL use 'net start mysql' and 'net stop mysql', or use 'mysqladmin' (or presumably winmysqladmin?)

test if MySQL is up and running with 'mysqlshow' or 'mysqladmin version status proc' in the MySQL program directory

Apache

note: the version of PHP used when this document was written, version 4.2.3, didn't work with Apache 2.x, so Apache 1.3.x was used instead. Presumably the new PHP version 4.3 works with Apache 2, but I haven't tested it.

download and install the package

you may have to manually add the Apache program directory to the path statement if it doesn't work

it may be wise to set the location for hypertext documents to somewhere other than below the Apache program directory

Apache runs as a Windows service. to test if its working point your web browser at 'http://localhost/'

PHP

download and copy the manual installer files to a directory in your program files directory

copy 'php-program-directory'\sapi\php4apache.dll to PHP program directory

copy 'php-program-directory'\phpini-dist to c:\winnt\php.ini

edit c:\winnt\php.ini to set the extension_dir to 'php-program-directory'\extensions

edit Apache's 'apache-program-directory'\conf\httpd.conf to work with PHP:

'LoadModule php4_module d:/programs/php/php4apache.dll' (change the directory to match your situation)

'AddModule mod_php4.c (but mod_php4.c' doesn't exist so you may have to comment out this line, i.e. #AddModule mod_php4.c)

'AddType application/x-httpd-php .php'

copy php4ts.dll to c:\winnt\system32

stop and start Apache with 'net stop apache' and 'net start apache'

phpMyAdmin

download, unzip and copy to Apache's web documents directory (i.e. ...\htdocs)

load 'http://localhost/phpmyadmin/index.php' into your web browser

for quick access, you could bookmark this link in your browser and/or create a desktop shortcut by creating a batch file with something like 'd:\programs\mozilla\mozilla.exe http://localhost/phpmyadmin/index.php'

Postscript...

Installing this lot on Debian GNU/Linux, rather than Windows, would be much easier:

Apache's directory for web pages is /var/www. To upload files to it from another machine, use an SSH client program. If ssing Windows, WinSCP is one such program.

There exist compilations of all the above applications wrapped into one installable, auto configuring package (i.e. FoxServ). while this may be a simpler means of getting a database program up and running, if instead you learn to install each application individually then you understand the seperation between them; and, in the case of Apache, which can act as a foundation for other applications, understand how modules (such as PHP) can be added to it, that allow other applications based upon that module (such as PHPMyAdmin), to be very easily dropped into place and available for a whole organisation, or the Internet, through peoples' web browsers.