I had exactly the same problem, installing v.1.5.2 onto Redhat 8.0, Apache 2.0.40, PHP 4.2.2 via Safari 1.3 on Mac OS X 10.3.9.
I setup the DB, DB user & pass, made the appropriate entries in wp-config.php and attempted to install, but could not proceed past Step 2 where the page indicated it was creating tables & populating with sample data and that was it! No tables were created in MySQL DB at all.
After some testing with the install.php file in wp-admin/, I discovered that the page was hanging on the flush(); PHP instruction (https://ca3.php.net/manual/en/function.flush.php) on line 138. After commenting out this instruction, the install proceeded with no problem, creating the tables, populated them with sample data, creating the admin account & password, and emailing the admin account info to the email address supplied in Step 1.
Everything appears to be working just fine now. Looks like the culprit was definitely the flush(); instruction on line 138 of wp-admin/install.php.
I’m not sure why that instruction is in there. The PHP manual indicates that this instruction flushes the output buffer – but why that needs to be done during this step of the install process is beyond me. Obviously, it’s not really required, as I managed to install just fine when it was removed …
Hope this helps other people who have come across similar behaviour when attempting to install.