WordPress installation experience on blank Apache/MySQL

testing 1, 2, 3 first post:)

Ha, I figured I should start this blog with a first post about installing WordPress (version 2.3.3) on a blank Apache/MySQL machine with CentOS as operating system. I have installed WordPress earlier, but that was with Fantastico. This is a script library that big hosting companies use to offer an easy installation to end users that do not have adminstrative rights on their machine. As I am now the proud owner of a Xen VPS I have my own CentOS machine to manage, including a clean Apache and MySQL. Previous installations were a piece of cake, and I didn’t think this would be otherwise. So there I went, trying to beat previous records. Alas, some things had to tweak before everything was up and running:

  1. Getting different virtual hosts up and running.
    As the web sites www.d17.nl, www.d-17.com and blog.d-17.com are running on the same machine with the same ip-address, I wanted to use name based virtual hosting to distinguish between the sites. So I configured my virtual hosts, but nothing happened:(. Turned out that I had to enable it first with the NameVirtualHost directive, which is default turned off. So I added this line to my httpd.conf:

    NameVirtualHost *:80

    which says that name based virtual hosting is active for every ip-address on the machine, but only for connections on port 80.

  2. Enabling url rewriting for SEO-friendly URLs.
    So now my homepage worked, admin part also, but clicking through to a post page I got an error. I knew I had SEO-friendly URL’s turned on, and was expecting this to be hampered by a not functional mod_rewrite. I had already put the .htacces file in the root of my blog, so apparently it wasn’t processed. So again to httpd.conf, to add this line:

    AllowOverride All

    and not in the general section, but within the Directory element within the virtualhost config section.

  3. Making MySQL behave.
    I was stubborn and didn’t want to follow the 5 minute installation manual. Turned out I misconfigured the rights of the db user related to from what hosts it was allowed to login. So you should just follow the manual precisely:)

Tada, hello word!