How to be a WordPress WIMP
August 7, 2004
I’ve pretty much been a Microsoft person for my entire career and have only rarely crossed the threshhold into the Anything But Microsoft (ABM) camp. I’ve used Blogger (an online blog tool) and .Text (a .Net blog application) and was left wanting more control and a refined user experience.
Unfortunately, it appeared that the cream of the crop in web log apps ran on the LAMP platform (Linux + Apache + MySQL + Perl/PHP/Python). Since all of my experience and my site is with WISA (Windows + IIS + SQL Server + ASP.Net), I thought I was out of luck. However, a little bit more research showed that you can put together all sorts of viable combinations of acronyms. In my case, I wanted to be a WIMP (Windows + IIS + MySQL + Perl/PHP/Python).
Someday I want to learn more about Linux and Apache (and I may with Knoppix) but for now, I need to stick with Windows and IIS. So, specifically for WordPress, I needed to get MySQL and PHP installed and running on my server. This is my attempt to document this process since a lot of the given documentation doesn’t directly address being a total newbie to the WIMP platform. NOTE: The documentation that comes with and is available online for MySQL and PHP is very thorough and very good. However, it is a bit generic and can get a little confusing when all you want to do is install it and go.
Specifically, the directions in this post is directed at the following versions:
- Windows Server 2003
- IIS 6.0
- MySQL 4.0.2d
- PHP 4.3.8
Windows Server 2003 and IIS 6.0
This post assumesthat you have Windows Server 2003 and IIS 6.0 running on your machine. You will need to find some other source of instructions for configuring them if you don’t know how.
Installing and configuring MySQL database server
I’m really just pulling out the highlights from section 2.2.1 Installing MySQL on Windows but with a specific focus on the quickest path to getting it up and running.
- Go to MySQL Downloads and download MySQL 4.0 database server. Select the Windows (x86) download that comes with the installer. Save the downloads to a directory on the machine you are installing on. I wanted to keep all of my non-microsoft apps in one location, so I created a c:\ABM folder (ABM = Anything But Microsoft) and saved the file there.
- Install the MySQL database server and Administrator client. I installed to C:\ABM\MySQL.
- Once installed, create a file called my.ini and save it to C:\WINDOWS. Open this file in your favorite text editor and add the following:
Save and close the file.
- To verify that MySQL is installed correctly, open a command prompt window and run the following:
You should then see something along the lines of:
- To close the running instance of MySQL, open another command prompt window and type:
- To get MySQL running as a Windows service, type the following:
See 2.2.1.4 Selecting a Windows server for more information on which version to run. Note: You might think that you could change to the C:\ABM\MySQL\bin directory and run all of your commands successfully from there. In theory, you should be able to do that. However, I ran across an issue where I couldn’t get the service to run/install until I actually ran it with the complete path.
- Go to the Services control panel and start the MySQL service.
Installing and configuring MySQL Administrator
- Go to MySQL Downloads and download the MySQL Administrator graphical client. Select the Windows (x86) download that comes with the installer. Save the download to the same directory that you saved the MySQL database server installer to.
- Install the MySQL database server and Administrator client. I installed to C:\ABM\MySQL\GUITools\MySQL Administrator.
- Run MySQL Administrator.
- You will need to add a new Connection in order to connect to your database. Use the following settings:
- Connection: localhost
- Username: root
- Password: leave this blank, we haven’t changed the default password yet.
- Hostname: localhost
- Apply changes
- Once you are in MySQL Administrator, click on the User Administration icon.
- Click on the ‘root’ User Account below and change the password.
- Click on the ” (the guest/anonymous) User Account below and change the password.
- You will need to add a new database for your WordPress installation. Click on Catalogs. Right-click in the Schemata section, and select Create new Schema and give it a name (wordpress is good).
- You then need to create a new user to access this database. Click on User Administration. Right-click in the Users Accounts section and select Add new User. Enter a name in MySQL User field and enter the passwords. Click on Apply Changes
- Right-click on the user you just created and select Add Host from which the User can connect. Enter localhost.
- Click on the Schema Privileges tab for that user.
- You need to assign the correct privileges to your new user to be able to work with your new database. Be sure that the localhost node under your new user is selected. Then under the Schemata column, select your WordPress database. Then click the << button to assign all privileges to your new user when connecting through localhost.
- Optionally, you can also click on the top node of the user and assign the same privileges for logging in locally to MySQL administrator with that account but most likely you will be logging in with the root account anyway.
- Apply Changes
- You can close the MySQL Administrator. Don’t forget that when you come back, you will need to change the password on the initial connection you created.
Installing and configuring PHP
- Go to PHP Downloads and download the PHP 4.3.8 zip package under PHP 4.3.8 Windows Binaries. We don’t want PHP 5 because WordPress 1.2 apparently has some issue running on that version. In addition, we don’t want the Installer version because it doesn’t come with all the extensions that we may want.
- Extract the zip file to C:ABM. This should create a C:\ABM\php-4.3.8-Win32 directory structure which can be renamed to C:\ABM\PHP
- In C:\ABM\PHP, copy the php4ts.dll file to C:\WINDOWS
- In C:\ABM\PHP, rename the php.ini-recommended file to php.ini and copy it to C:\WINDOWS directory.
- Create a file called test.php and add the following line of code:
- To test if PHP is working correctly open a command prompt window and run:
You should see a lot of HTML text rendered to the command prompt window.
Configuring IIS for PHP
- Open the IIS Management Console
- Right-click on the Web Sites folder and choose Properties
- On the Home Directory tab, click the Configuration… button
- On the Mappings tab, click the Add… button
- On the Add/Edit Application Extension Mapping form, the Executable path should be C:\ABM\PHP\sapi\php4isapi.dll and the Extension should be .php
- Click OK to add the mapping and OK again to close the Application Configuration window.
- On the Documents tab, you will need to add index.php
- For best results, restart IIS.
Installing and configuring WordPress
- If you have made it this far, then we are doing pretty good. Go to WordPress > Downloads and download the latest release.
- Now the 5 Minute Installation directions should work.
Popularity: 37% [?]
Comments
15 Responses to “How to be a WordPress WIMP”
Got something to say?
You forgot to add the “Use old passwords” in the MySQL config section
[…] olve them for you. Credit where credit is due - the main place i got this info from was:- http://www.swoofware.com/posts/2004/08/07/how-to-be-a-wordpress-wimp/ I hav […]
Thanks Matt!! without your above post - my site would have never moved to Wordpress…
Hehe, I’m a wimp… really liked that (all though this is what i’ve been looking for - thanks)
Hey I’m a WIMP with problems. I’m having problems installing and configuring MySQL database server. I installed it on C:/MySQL, created the my.ini file using the proper directory but I’m not understanding how to to verify it was installed correctly using the commands you have noted. Am I using Windows Command Prompt or the MySQL Client Command Prompt? Either way though it is not working for me. I tried following the process without verifying but then it gives me this message:
Could not connnect ot the specified instance.
MySQL Error Number 2005
From the Windows Command Prompt, try running the following command:
C:\ABM\MySQL\bin\mysqld –console
After running it is where you should see something similar to:
040807 13:06:46 InnoDB: Started
C:\ABM\MySQL\bin\mysqld: ready for connections.
Version: ‘4.0.20a-debug’ socket: ” port: 3306
** Of course, for both of the above paths, substitute in the appropriate path for your specific installation.
The text of the original command was obliterated by an issue with an earlier version of WordPress which would garble strings that look escaped. I believe that I have fixed all the messed up occurences.
Sorry I guess it would help if I knew how to spell. I guess this is no how you spell “locahost”
After running it in the command I get this message:
051103 13:30:14 InnoDB: Operation system error number 32 in a file operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_codes.html
InnoDB: File operation call: ‘open’ -
InnoDB: Cannot continue operation-
Thanks Matt, your remarks where a great source of help, although I haven’t been able to complete the WIMP process.
I have tried following your instructions, and after installing the MySQL and following the line: C:ABMMySQLbinmysqld –console on step 4 (replaced with my location of installation), I received the following reply: “Can’t start server: Bind on TCP/IP port: Invalid argument
051223 0:55:44 [ERROR] Do you already have another mysqld server running on port: 3306 ?
051223 0:55:44 [ERROR] Aborting
051223 0:55:44 [Note] mysqld: Shutdown complete
“. Since this is my first installation attempt - do you have any idea why I got this reply? does that mean my installation failed?
Anonymous: Unfortunately I can’t give you much direction. I really didn’t have too many problems and this article is kind of written for the best-case scenario.
However, when I first wrote the article I was using a version of WordPress that wanted to escape all of my backslashes (\). If you noticed, all of the paths that I listed were concatenated. I suspect that might be throwing a couple people off. I recently upgraded to the latest WP and it doesn’t seem to be having that same problem. I went back and re-added all the backslashes to the code. In addition, I added a syntax highlighter that should make it easier to see and copy the various code snippets.
One other gotcha that you need to look out for:
Hope that helps!
[…] As soon as WordPress 2.0 was realeased I just had to play around with it. My blog was proudly being hosted for FREE at WordPress.com but they had not made the move to 2.0 yet. I really liked WordPress.com but I really wanted more control of my blog. I am what some might say a hardcore Microsoft guy and it was bad enough that my blog was written in PHP. Some may say that I have crossed over to the dark side, but whatever they may say I have installed MySQL and PHP on my Windows 2003 server and I am proud of it. It took me awhile to get everything going. Mainly cause nothing is documented well on the open side of things and different versions of PHP come with certain stuff that makes certain versions of MySQL work togethor and then you have to make sure that WordPress is compatible with those versions. uggghhhhh! I was about to throw in the towel and then ran across this lifesaving article. It tells you how to become a WIMP. So what did I do, I swallowed my pride and became a WIMP. […]
Okay I have tried to follow the detailed instructions… IIS is working, with a new virtual directory called ‘blog.’ MySql is working - I can run mysql admin fine and connect up to the database, create users etc.
I am still getting a 404 error trying to run install.php.
btw i did the ‘test.php’ procedure which is supposed to show that the php is working. also i added the extension to the applications & documents on the IIS website properties.
Other documents in my wordpress directory are accessable via the virtual directory eg localhost\blog\readme.html; localhost\blog\wp-admin\license.txt
Can somebody help me zero in on some possible causes for the 404 error?
and in case somebody asks - I would LOVE to ditch IIS, but this server needs to run IIS because it is hosting a Windows business application that requires IIS & MSSQL.
[…] Advice on setting up and configuring MySQL and mysqlcc SwoofWare » How to be a WordPress WIMP MySQL 5.0 Reference Manual TUTORIAL: How to install PHP and MySQL on IIS Installing MySQL to run with IIS Free Workshop: How to Install PHP 5, Apache 2, MySQL 4.1, SQLite, SQLite Manager and XSLT on Windows How to Install Apache, PHP and MySQL on Linux MySQL Tutorial - Uninstalling MySQL as a Service Mysql: How do you uninstall MySQL completely? […]
fyi, you might want to disable access to http://www.swoofware.com/wp-admin
[…] my installation of MediaWiki three years ago was pain enough to convince me to not try another WAMP/WIMP stack there. Not that it was difficult, but nobody wants to touch it with a ten-foot […]