Since 500 Internal Server Errors aren't ever really caused by Wakaba or Kareha themselves, but are still a big problem for lots of people, I'm setting up this thread to discuss various problems and solutions related to them.
Firstly, things that often cause Internal Server Errors:
#!/usr/bin/perl
is the correct one, but sometimes Perl is installed elsewhere. In that case, you will have to find out where, and change the hashbang. On Windows servers, it should often be changed to #!perl
.Options +ExecCGI
and AddHandler cgi-handler .pl
. SOMETIMES, but definitely not always, this can be put into the .htaccess
file. See the next point..htaccess
file. Spelling errors, trying to use modules that are not installed, or trying to use options that have been forbidden elsewhere will all cause Internal Server Errors.Secondly, things that DO NOT cause Internal Server Errors:
Third, what to do when you get Internal Server Errors?
error_log
. Internal Server Errors often generate two or more lines in the log file, make sure you read them all.Try the Perl test script:
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print "<html><body><h1>Perl is working!</h1></body></html>";
If this doesn't run, work with the server config until it runs, and only when it does, get to work on Wakaba.
Dear >>5,
Thank you for you opinion on the matter. It is being reviewed by our trained message scripts for traces of intellegence, and will be fowarded to a human if any is found. We at iichan thank you for your understanding, and will respond at the soonest a representitive is available.
I'm getting this error when I run wakaba.pl
The server encountered an internal error and was unable to complete your request.
Error message:
Premature end of script headers: wakaba.pl
I am not quite sure what is causing this
I read 1-4 and applied your suggested fixes under those 5 paragraphs of reasons it would have internal error. I am still encountering the same problems even though the server is configured to run CGI natively.
Yeah, I did the same thing as he did but I cant get it working.....
I just recently moved to a new webserver and perl does work... I used the test script to find that out.
And what does the error_log say?
I fixed it...
For some reason I had to replace all the wakaba files except for the config.....
I feel stupid here, but I just keep getting:
Forbidden
You don't have permission to access /kareha/kareha.pl on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Even when I set everything to 777.
Do you have permission to access /kareha/?
I do indeed.
You shouldn't set everything to 777. The scripts should be 755. Some Apache installations will flat out refuse to run scripts set to 777, because of security issues. They may even refuse to run scripts in directories set to 777.
Well, of course I tried 755 first, same error. I'll try to set them back.
And zero change.
What I mean is, do you get a 500 when accessing /kareha/? If the wrong execute bit is off in the dir permission, even though you can physically navigate in there on the filesystem, apache won't let you view it.
When I go to /kareha/ I can see everything in there, go into all the folders, view the css files, view txt files, etc, etc.
Does the test perl script in >>4 work?
IIRC, Apache takes a couple of configuration steps to run CGI, not just one.
Unrelated: what's up with the "reply" links next to the IDs in earlier posts of this thread?
Those weird >>q things, http://wakaba.c3.cx/sup/kareha.pl/1104778330/
Did that feature get removed?
Yes. It kind of sucked.
Okay, I'm having some problems. I'm testing out kareha (3.0.9) on my Linux home server with Apache 2 before actually making a proper site. I was having some permission-related 500 errors, and now all dir permissions are fixed. I can view kareha/ and its subdirectories as well as look at non-executable files in them as text, like example.htaccess and the css templates. Running kareha.pl from a broweser, however returns a 500 error still, though not because it cannot write or read a certain directory. Here's some relevant info from error_log:
[Wed Mar 01 12:27:12 2006] [error] [client 192.168.1.68] File does not exist:
/var/www/localhost/htdocs/favicon.ico, referer: http://192.168.1.68/kareha/
[Wed Mar 01 12:27:14 2006] [error] Can't locate config_defaults.pl in
@INC(@INC contains: . /home/httpd/perl /etc/perl /usr/lib/perl5/site_perl/5.8.7/
i686-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl /usr/lib/perl5/
vendor_perl/5.8.7/i686-linux /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/
vendor_perl/5.8.6/i686-linux /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/
vendor_perl /usr/lib/perl5/5.8.7/i686-linux /usr/lib/perl5/5.8.7 /usr/local/lib/
site_perl /usr/lib/apache2) at /var/www/localhost/htdocs/kareha/kareha.pl
line 13.\nBEGIN failed--compilation aborted at /var/www/localhost/htdocs/
kareha/kareha.pl line 13.\n
(Hope that formats correctly.)
This seems related to the path specified in kareha.pl: use lib '.';
. I assume it isn't expanding . to the dir in which kareha.pl is situated. If I edit kareha.pl and input the full path, it still doesn't work. I didn't really think it would. Disabling suexec does nothing as well. test.pl works in kareha/, so mod_perl seems to be fine.
I apologise if I'm missing something obvious, but I'm sort of at a dead end at the moment. Help would be appreciated :)
Your problem is most likely that you're using mod_perl, if I read that correctly. It is theoretically possible to run Kareha on mod_perl, but it requires some tweaks, and I've never gotten around to testing it properly.
>>27
Oh, okay. Thanks very much. Mod_perl was a bit of a pain, anyway. Guess it'll be easier to get kareha up than I thought.
Thanks very much for this wonderful piece of software.
I get an Internal Server error, but everything is fine. I have tried everything here and asked my host for help. I was told to put perl scripts into my cgi-bin folder. I did this but it still failed to help the situation. I think im using mod_perl, what are the "tweaks" that need to be made exactly.
Did you try the test script in >>4, outside cgi-bin and inside it?
Also, some hosts only allow you to run CGI scripts in cgi-bin, but then don't let you access normal files in there. Yet other hosts don't let you run perl scripts in directories that are writeable.
You need to gather some more information about what exactly you have and haven't done before we can really help you. Also, look at your server's error_log and see what it says (and remember that you may have several different problems).
i've been having issues with the cgi bin and .pl files too, i'm an awfull programmer so i have no clue what to do to fix this problem. I'm really only sponsoring the board that me and a few freinds are trying to make and i don't have a programmer anymore
is there anyone here who wants to come and join up as a programmer for my board?
I tried the test script both outside cgi-bin and inside and it doesnt work. I get an internal server error both times.
I have contacted my host but they say they cant help with issues like this, that I (the administrator) should locate the problem and fix it, but my knowlage of cgi is limited.
>>32 I have the same issue my hosts don't make any attempt to help
So what does error_log say?
My error log gives me:
Premature end of script headers[My domain info/kareha.pl][client info]
And what else?