I get Internal Server Error messages, how can I make it work?
If you get this error after you login in the main frame, also see the answer below.
If this error happens when you visit the login page (irc.cgi) then make sure you uploaded all the files in ASCII format from windows, if your provider has any specific instructions regarding the path to perl then you will need to change the first line in all the cgi scripts (irc.cgi, nph-irc.cgi, client-perl.cgi). Also double check that the CGI files are set to the correct permissions (mode), 755 (-rwxr-xr-x) is recommended.
If you access the login page as irc.cgi?interface=nonjs you will get more information to help you with sorting out the problem.
The main frame isn't loading?
The main frame depends on your server supporting nph (non-header parsed) CGI scripts and streams. Apache is known to support these in the default configuration, but modules such as mod_gzip, mod_deflate and some CGI wrappers stop streams working. Cobalt RAQs are also known to have this problem (see below). Also some web-proxies don't support streams (Novell Border manager is the only example currently).
Problems on Cobalt RAQs
If the main frame does not load, and if you use irc.cgi?interface=nonjs and get an internal server error message then you will need to edit nph-irc.cgi. Open nph-irc.cgi and find the line that says:
'HTTP/1.0 200 OK',
Delete that line and upload nph-irc.cgi again, hopefully everything should work. (Technical reasoning: cobalt raqs do not support nph- scripts and when it sees the HTTP response header it produces an internal server error).
Why does the server say 'Your username is invalid' on logon?
Due to a misguided attempt to stop floodbots, some undernet(ircu) and efnet(hybrid) based servers reject usernames with lots of numbers - this means the encoded IPs sent by CGI:IRC are sometimes rejected. Disabling encoded_ips in the config file and making sure default_user is set should fix the problem (they are found in cgiirc.config.full). (UnderNet, QuakeNet connection problems, USER: Bad username).