Installation on Bluehost HTTP 403 error

Hello!

So I have been having issues with trying to install Omeka on my bluehost account. I have tried numerous times to reupload the software and each time something different goes wrong. This time I downloaded 2.0.1 and I put in the correct database information, I put it all in the public_html folder, I adjusted the permissions, but when I try to go to the website and set up, it gives me an "HTTP 403" error message telling me the site needs me to login first. Now, I've changed the "debug.exceptions" value in config.ini to "true" but nothing seems to have changed. I have relatively basic skills, so if anyone could help me out, you would be a gem. Thanks!

This sounds like you've got your server set up to do HTTP-level authentication. That's not really controlled by Omeka.

You might have this set up in your .htaccess file or your site's control panel.

Thank you so much for your prompt response. So I contacted Bluehost and brought up what you had said and they went back and did some things and came back saying that it seems like mod_rewrite wasn't installed, but they went on to say that it has been installed, it's just not being recognized by Omeka, so when I go to http://www.dnscollection.com/omeka/install/index.html it brings up the "mod_rewrite is not installed" message.

I looked up some of the .htaccess file issues and a lot of them seem to have to do with the previous version of Omeka, and since I'm using the 2.0.1 version, there is no .htaccess file in "omeka/install". There are only two: one in my main Omeka folder (alongside folders "admin", "application", "files", etc., and files "db.ini", etc.) and one in the main "public_html" that sits alongside my "omeka" folder. I looked at one conversation (I think that had you) that said to add the IP address to the hosts file under the etc folder, but the only file under my "etc" folder is "ftpquota", and it's empty. Is that the right one?

I also searched more broadly for advice and found someone advising to put the following in the .htaccess file, though it was from 2009, so it might not be relavant:
"
RewriteEngine On
RewriteBase /public/install
RewriteRule ^checkModRewrite([^/]*)\.html$ mod_rewrite.php?enabled=true [L]
"

It didn't work, but maybe I didn't do it correctly. Mine lokos like this:

# RewriteBase /public/install

# Allow direct access to files (except PHP files)
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule !\.php$ - [C]
RewriteRule .* - [L]

RewriteRule ^install/.*$ install/install.php [L]
RewriteRule ^admin/.*$ admin/index.php [L]
RewriteRule .* index.php
RewriteRule ^checkModRewrite([^/]*)\.html$ mod_rewrite.php?enabled=true [L]

Sorry about such a crowded response. I really appreciate your help. Thanks!

Have you tried the suggestion in the .htaccess file:

# If you know mod_rewrite is enabled, but you are still getting mod_rewrite
# errors, uncomment the line below and replace "/" with your base directory.
#
# RewriteBase /

You definitely don't want to follow any of that old .htaccess advice. The "hosts" file stuff is also no longer necessary.

I'd start by putting the .htaccess back to its original state as it was unzipped from the Omeka zip file.

Do you have any Deny lines in your htacess files? It seems like something's denying access to install.php. The Omeka 2.0 .htaccess file won't do that, but if you have an old leftover one, or you've been copying things in from old threads, something could have crept in.

I restored the .htaccess file and changed the suggestion in the file to:

RewriteBase /omeka/install/

However, that hasn't changed anything. I tried a number of things, like "/omeka" "omeka" "/omeka/install" "/omeka/install/index.html" "public_html/omeka" "/public_html/omeka", but nothing seems to work.

There was one line in the file that was in Deny-mode, so I changed it to:

# Block access to all .ini files.
<FilesMatch "\.ini$">
Order Allow,Deny
Allow from all
</FilesMatch>

But that hasn't yielded any results. I looked at the file "/omeka/install/index.html" and found that it was simply an html file that was encoded to look that way, but is it just an "if this happens than show this" case? I tried just visiting dnscollection.com/omeka, however that comes up with an internal error message now instead of the http 403 error.

nevermind, it's still an HTTP 403 error.

You don't want to change the RewriteBase in that file either. If you do set a RewriteBase line, it should just be RewriteBase /omeka/. The stuff with "install" on the end dates from when there was a separate .htaccess in the install folder (there isn't, and shouldn't be, one there anymore).

The offending directives could be in the top-level htacess, the one above the omeka directory. What's in there? Apart from a "Deny" or a RewriteRule ending in [F], I can't think of anything that would obviously give you a 403 Forbidden like this.

I suppose one other thing to check would be the permissions on install/install.php. It needs to be readable by the server to work.

Success! You were right about the top-level htaccess file. There was a "Deny" in there, however, when I went to change it, I was not permitted to do so. After calling bluehost a few times, they didn't know what to do. Finally I just started over from scratch and followed everything again (the first few times I had missed the "utf8_unicode_ci" configuration). I still got the HTTP 403 error, but with the htaccess file now adjusted I was able to get it installed.

When the page came up, however, it gave this warning:

"The following issues will not affect installation, but they may negatively affect the behavior of Omeka:'
1.
"fileinfo" module not loaded

Without the fileinfo module loaded into PHP, the content type and encoding of uploaded files about cannot be read. The installer will disable file upload validation."

Do you know what that is? The guy at bluehost did not, so I thought you might. Thank you so much for all your help!

That's an Omeka-specific message.

It means that you're probably using PHP 5.2 and don't have the "fileinfo" PHP extension installed. Omeka will still work, but it won't be able to use that extension when its trying to figure out the types of uploaded files.

When "fileinfo" isn't present, we start with the upload filetype validation turned off by default. You can turn it back on in the security settings if you wish.