Internal Server Error (Code 500), or Not Found (404), or Forbidden (401)
Question:
When accessing the Centova Cast web interface I get an "Internal Server Error (500)", "Not Found (404)", or "Forbidden (401)" message. What is the problem?
Answer:
These errors are generated by your web server (Apache), not Centova Cast. To understand why, it helps to understand how requests are handled by your server when you bring up a page in your web browser.
- Browser connects to Apache, says "I want to receive the page /login/index.php"
- Apache looks up the path for
/login/index.php
and makes sure it exists - Apache fires up PHP, and says "I need you to run /login/index.php, and then send me back the HTML"
- PHP opens
/login/index.php
and reads the script it contains - PHP passes control to the script (Centova Cast in this case) which runs and generates its HTML, and passes that HTML back to PHP
- PHP sends the HTML back to Apache.
- Apache sends it back to your browser.
This is of course heavily oversimplified, but generally that's how a normal
request works. The problem in your case is that in step 2 (for code 401
or 404
errors) or steps 2-4 (for code 500
errors) Apache or PHP is unable or
unwilling to open the script file.
As illustrated above, this takes place long before PHP ever passes control to Centova Cast (in step 5), so the message is definitely not being generated by Centova Cast. As such, this is an Apache/PHP issue and you'll need to contact your systems administrator and ask him to look into this problem for you. A good place to start looking is the Apache master error log.
Tip: If suPHP is installed on your server and you're encountering a code 500
(Internal Server Error) immediately after installing or upgrading Centova
Cast, it's likely that the permissions/ownerships are set incorrectly on the
Centova Cast files under your web root. suPHP is extremely strict about
permissions/ownerships and will throw an Internal Server Error if the files
under the web root are not owned by the correct user account.
If that's the case in your situation, you can fix this by running:
chown -R username.groupname /path/to/webroot/
chmod -R 0755 /path/to/webroot/
You must of course replace username
with the username for your web site,
groupname
with the group name for your web site (which is usually identical
to the username), and /path/to/webroot/
with the actual path to your web
root.