Saturday 16 October 2010

Forbidden You don't have permission to access /index.shtml on this server.

After getting Apache/2.2.16 (Win32) PHP/5.2.14 configured,
I got this error when trying to access a virtual host on my localhost server:

Forbidden
You don't have permission to access /index.shtml on this server.
the solution turned out to be to edit my http-vhosts.conf and add this inside each Virtual Host definition:   

    <Directory "C:/path/to/my/files/">

            Allow from all

    </Directory>

Notes while configuring Apache, php and MySQL on Windows 7

notes from installing apache / php / mysql on Windows 7 64-bit Home Premium with Norton Internet Security

  •  I used the msi installer packages to load the software. 
    • First, I installed Apache and tested it to be sure it started okay and would present me with default html page.
    • Next, I installed php and was naughty and told Php to load all extensions.... this caused me problems later, which were hard to find, so I took a break and installed MySQL.
  •  MySQL kept giving me messages suggesting I open port 3306
    • I opened the port on my router, but don't think this was necessary - still got the error message
    • I solved this by going into Norton Internet Security ->Network Settings->Program Control
  • I found MySQL and set Access = Allow
  • I was now able to start the MySQL service

      • I found Apache HTTP Server and set Access = Allow
I kept getting these errors when trying to start Apache with Php: (the errors were found in the Windows Event Viewer)
Faulting application path: C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin\httpd.exe
Faulting module path: C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin\php5ts.dll

I spent the day googling and finally found a suggestion of running php from the command prompt:
ie: c:\PHP5\php.exe -v

this gave me a list of missing dlls (which corresponded to all the php extensions I had enabled, but had not installed)

Now I edited my php.ini file and commented out each of the problem dlls

tried to start Apache again and bingo! it works!