Page Index Toggle Pages: 1 Print
Install Troubleshooting (Read 3458 times)
Captain John
Ex Member


Install Troubleshooting
Sep 26th, 2007 at 10:57pm
Print Post  
» Error 501/502 Not implemented

After installation you're getting something like "501/502 not
implemented".  Your host does not support perl

To run YaBB you need a new host which supports at least Perl5.0.
Your current server might offer upgrade packages to execute own perl5-scripts - just ask them.

» Why am I getting a 403 Forbidden error?
This is usually due to one of these reason:

Incorrect CHMODS
Your CHMODS are in error. Make sure that your cgi-bin and yabb directories both are CHMOD 755 (drwx-r-xr-x), and your YaBB.pl/YaBB.cgi file 755 as well(-rwx-r-xr-x).

A .htaccess file is blocking access
Some times, there can be a .htaccess file somewhere that blocks access, usually inside the cgi-bin or yabb directory, but could also be right outside the cgi-bin. Note that not all .htaccess files are neccessary bad even if found in these locations, but there is a good possiblity they are. You need to remove (or rename to soemthing else, like _htaccess instead) any such .htaccess files to make sure nothing is preventing access to the yabb directory and YaBB.cgi/YaBB.pl. Note that it is only in these locations that you should remove these files. The ones that came with the yabb package (In the Members/Messages/Boards/Varibles directories) is supposed to be where they are, and do not cause this problem as long as you don't move them to other directories.
Note that .htaccess files (As well as any file starting with a period) is by default hidden, so you won't normally see them. To be able to see them, you will need to tell your FTP client to display hidden files on the server side. This is usually done by telling your client to use -a as a remote filter. If you cannot figure out to to this, you should consult your FTP client documentation.
To test that your FTP client is properly configured, you can browse to the Members directory on your server. If you uploaded all files properly, you should see an .htaccess file inside here (Note that this file is supposed to be here, do NOT remove it). If you cannot see this file, your FTP client is not yet properly configured to view hidden files (Note that you may need to reconnect to the site after reconfiguring your client)

» Why am I getting a 404 Not Found Error?
A 404 error occurs because the web server cannot find the file you requested.

I've just installed YaBB, but I get a 404 error when trying to visit my forum for the first time
Note that in this case, this has NOTHING to do with your forum configuration, so forget about Settings.pl, permissions and the like for now. They might be wrong, but they are not the cause of this error, so you can worry about them when you have resolved the 404.
There are basically 3 reasons for a 404-error to occur

1) You have spelled the URL wrong. Make sure you spell it correctly, remember that most servers are case sensitive when it comes to URL's. Also remember that to access your YaBB forum, it should end in either YaBB.pl or YaBB.cgi, like this: http://www.example.org/cgi-bin/yabb/YaBB.pl

2) Your URL doesn't point to the correct location. You may for instance have an extra directory in there, or you might be missing a directory or similar. A common mistake is to actually including the web root directory in the URL. Common root directory names are html, public_html, www and htdocs. Note that these names might also occur inside the html root, and as such might be required to be in the URL, so don't blindly go around removing these these from the URL. So, if you uploaded your YaBB files to /htdocs/forum/yabb/ using FTP, your url is most probably http://www.example.org/forum/yabb/YaBB.pl, NOT http://www.example.org/htdocs/forum/yabb/YaBB.pl

3) You uploaded the files to an illegal location on the server. In this case, no matter what URL you try, you will never find it. Usually, this happens because people creates their own directories OUTSIDE the actual webserver root, where they are not accessible by the web server at all. Another example of illegal location that happens on many servers if you create your own cgi-bin directory. Many servers have the name 'cgi-bin' pointing to some other location, thus rendering the webserver unable to see the contents of 'your' cgi-bin. One should always use the server-provided cgi-bin directory, and if none exist, never create a directory with this name, unless one know that the server doesn't have any cgi-bin redirection enabled...


I get a 404 error whenever I click a link/button in my forum
This can be for one of three reasons.
1) If you are running YaBB.pl, but whenever you click a link, it goes to YaBB.cgi instead (Or the opposite way), it means you have the wrong language file. To fix it, open up english.lng (Or your language file) and find the line that says
Code
Select All
$yyext = "cgi"; 



Now change it to read
Code
Select All
$yyext = "pl"; 



2) If you click a link, and it looks almost correct, except for the fact that YaBB.cgi/YaBB.pl appears twice (http://www.example.com/cgi-bin/yabb/YaBB.pl/YaBB.pl), this is an indication that you have not edited your $boardurl in Settings.pl correctly. You should remove the /YaBB.pl (or /YaBB.cgi) at the end of this variable. It is only meant to point to the directory containing YaBB, NOT the YaBB.pl file itself.

3) If the forum tries to access a completely wrong URL when clicking on a link, your $boardurl in Settings.pl is in error. The correct value for $boardurl is the EXACT same url you type in to the browser address bar to access the forum, minus the /YaBB.pl or /YaBB.cgi at the end. So if your URL is http://www.example.org/cgi-bin/yabb/YaBB.pl, then you should have:
$boardurl = "http://www.example.org/cgi-bin/yabb";

» Why am I getting a 500 Server Error?
Did you:

- upload the scripts in ASCII?
Note that if you didn't upload the files at all (By downloading directly to the server), or you uploaded the zip file to the server and unzipped it locally there, you either need to make sure that you unzip it with the correct parameters, or you will end up with DOS-style linebreaks on the files. The correct parameters will vary between utilities, so check the manual for yours. An alternative way is to run a utility called dos2unix on the files after extracting, as this will convert them. Note that this issue is only related to unix/linux servers.

- set CHMods correct? (Most importantly, the YaBB.pl/YaBB.cgi file and the 'yabb' directory must both be CHMOD 755. Anything else, including 777, as a high probability of causing a 500 error))

- set Perl-path correct? in first line of your script i.ex. "#!/usr/bin/perl")

- use the right absolut path's?
( userful is the "Absolute Path Finder"-Mod by Dave Baughman )

- does you server support Perl-scripts ?

- check the values in your Settings.pl! Important is especially the setting "$use_flock"
set it to 1 for Unix/Linux and WinNT and to 2 for Windows 95/ 98/ Me!

- check the chmod at the folders cgi-bin and yabb. Should be 755 in most cases

- did you erase the q^ in front and the ^ at the end of your email address in Settings.pl. If you have insert them again they have to be there.

If you have check all of the above and you are still getting a 500 ISE error, try adding "--" (without quotes) after your path to perl in YaBB.pl/YaBB.cgi.

Another usefull step is to upload an unedited Settings.pl file, as found in the YaBB installation zip file. Many 500-errors are a result of improper editing of this file, and uploading a clean one avoids these errors. You'll have to edit this file sooner or later, but it might be helpful to wait with that until you have seen the front page of your forum for the first time.

Remember that each of the steps above can generate a 500-error on itself, so it is important to make sure everything is correct at the same time.


See Also: How do I get more specific errors, not only 500 ones?
If your server is using the SBOX security software (Or you suspect it does), Check out Installing YaBB on an SBOX-protected server.

» Where's the .htaccess
After uploading it seems like the .htaccess files disappear

Files with an dot at the beginning are hidden files.
So they are there but you can't see them.

» What is CHMOD?
CHMOD is short for Change mode, it allows you to grant different access rights to certain files, but how do you do it? And what do all those numbers mean? An indept look at how to chmod with WS_FTP.

» I can't seem to chmod on a windows server.
You can't and you don't need to.

However, if you're on IIS, you need to set FULL I_USR permissions for the yabb folder and fill read write permissions for the members folder.

» How do I install an upgrade?
Step 1:
Backup your variables, boards, members and messages directories.
Step 2:
Upload the new files, but do not upload the variables, boards and messages directories. If you did this, you will have to use the backup we made in step 1.
Step 3:
CHMOD the new files and folders

» I only see a couple of lines of text after the Installation
After the installation I only see much Text like
Code
Select All
#!/usr/local/bin/perl ######################################################################## ####### # YaBB.pl # ######################################################################## ####### # YaBB: Yet another Bulletin Board # # Open-Source Community Software for Webmasters # # Version: YaBB 1 Gold - SP 1.3.1 # # Released: December 2001; Updated April 18, 2003 # # Distributed by: http://www.yabbforum.com # # ======================================================================== === # # Copyright (c) 2000-2003 YaBB (www.yabbforum.com) - All Rights Reserved. # # Software by: The YaBB Development Team # # with assistance from the YaBB community. # # Sponsored by: Xnull Internet Media, Inc. - http://www.ximinc.com # ######################################################################## ####### ### Version Info ### $YaBBversion = '1 Gold - SP 1.3.1'; $YaBBplver = '1 Gold - SP 1.3.1'; if( $ENV{'SERVER_SOFTWARE'} =~ /IIS/ ) { $yyIIS = 1; $0 =~ m~(.*)(\\|/)~; $yypath = $1; $yypath =~ s~\\~/~g; chdir($yypath); push(@INC,$yypath); } ### Requirements and Errors ### require "Settings.pl"; require "$language"; require "$sourcedir/Subs.pl"; require "$sourcedir/Load.pl"; require "$sourcedir/Security.pl"; # Those who write software only for pay should go hurt some other field. # - Erik Naggum &LoadCookie; # Load the user's cookie (or set to guest) &LoadUserSettings; # Load user settings &banning; # Check for banned people &WriteLog; # Write to the log &LoadIMs; # Load IM's if($currentboard ne "") { &LoadBoard; } # Load board information $SIG{__WARN__} = sub { &fatal_error( @_ ); }; eval { &yymain; }; if ($@) { &fatal_error("Untrapped Error:
$@"); } sub yymain { #### Choose what to do based on the form action #### if ($maintenance == 1 && $action eq 'login2') { require "$sourcedir/LogInOut.pl"; &Login2; } if ($maintenance == 1 && $settings[7] ne 'Administrator') { require "$sourcedir/Maintenance.pl"; &InMaintenance; } ### Guest can do the very few following actions. if($username eq 'Guest' && $guestaccess == 0) { if(!(($action eq 'login') || ($action eq 'login2') || ($action eq 'register') || ($action eq 'register2') || ($action eq 'reminder') || ($action eq 'reminder2'))) { &KickGuest; } } if ($action ne "") { require "$sourcedir/SubList.pl"; if ($director{$action}) { @act = split(/&/,$director{$action}); $aa = $act[1]; require "$sourcedir/$act[0]"; &$aa; } else { require "$sourcedir/BoardIndex.pl"; &BoardIndex; } } elsif($currentboard eq "") { require "$sourcedir/BoardIndex.pl"; &BoardIndex; } else { require "$sourcedir/MessageIndex.pl"; &MessageIndex; } exit; } 




This is usually because your server is not set up to execute scripts in this directory. If your host has provided you with a cgi-bin directory with your account, you should always put scripts (like YaBB) inside this directory, unless you know you can also execute scripts elswhere on the account.
If you are the admin of the server, you can also configure the current directory to allow for script execution. On Apache servers, you need to add ExecCGI for the options directive in the directory configuration in httpd.conf (Or whatever your config file is named). For IIS servers, you need to check that the directory has script execution allowed (Check the directory properties using the IIS administration tool).


On some system this might also be because the path to your perl interpreter is incorrect.
You can find it at the first line of your YaBB.pl/cgi and on most systems it's
Code
Select All
#!/usr/bin/perl 


but it will de different on some servers, so you might need to ask your host for the correct path.

» Why am I getting YaBB.? instead of YaBB.pl/cgi?
You have to use a languagepack for SP1, any older versions will not work.

» Installing multiple YaBBs on the same server
Create a second folder in your cgi-bin. Something like yabb2 or forum2. Anything different then your current "yabb" folder name. Upload all the /yabb, /Boards, /Members, /Messages, /Sources, and /Variables files and chmod them the same. Then the only thing different you need to do from a regular install is update the Settings.pl to reflect the new folder paths. Your structure should now be something similar to:

Code
Select All
/cgi-bin/yabb
/cgi-bin/yabb/Boards
/cgi-bin/yabb/Members
/cgi-bin/yabb/Messages
/cgi-bin/yabb/Sources
/cgi-bin/yabb/Variables 



and

Code
Select All
/cgi-bin/yabb2
/cgi-bin/yabb2/Boards
/cgi-bin/yabb2/Members
/cgi-bin/yabb2/Messages
/cgi-bin/yabb2/Sources
/cgi-bin/yabb2/Variables 



If you would like you can also share the same Members between the multiple boards. Install your first board. For the second one install everything the same. Just update your Members path in the Settings.pl to reflect the path of the first installed board. You may also do this with the Messages and Boards folders, etc.

» Installing YaBB on an SBOX-protected server

Some unix servers uses a security program called 'SBOX' to secure the server from bad cgi-scripts. Unfortunately, this software makes it necessary to make some small modifications to the YaBB code to make it work properly.

First, you should verify that your server is really running SBOX. This can usually be verified by changing the CHMODS of your YaBB.pl/YaBB.cgi file to 777, and then calling it in the browser. If your server runs SBOX, instead of a normal 500-error page, you should see a error page complaining about the file being world writable, and the word 'SBOX' should be mentioned. If you do not get this page when you set YaBB.pl/YaBB.cgi to this CHMOD, odds are that your server is NOT running SBOX. After verification, remember to set your YaBB.pl/YaBB.cgi file back to CHMOD 755.

Second, you need to know the COMPLETE absolute path to your yabb directory. Usually, you CAN NOT figure this path out using your FTP client, but you will most likelely have to either contact your host, or have a look at their FAQ pages. Some scripts can also detect the path, but these are unreliable on an SBOX server, due to the way it operates.

Before proceeding, make sure that you have followed the installation instructions in the manual properly. The steps below will only fix the SBOX-related issues, but you could still end up with errors due to other reasons. So in addition to following the steps below, you should also consult the FAQ topic regarding 500-errors
Also, this guide was written for YaBB 1 Gold - SP 1.3.2. Earlier versions of YaBB needed slightly more editing.

In the instructions below, i use {ABSOLUTE_PATH} to represent the absolute path to your yabb directory. Substitute this for the actual path when you edit the files.
example:
If your absolute path is /home/x/y/z/coolguy/cgi/yabb, and the instructions tells you to set:
Code
Select All
$boardsdir = "{ABSOLUTE_PATH}/Boards"; 



you would set it to:
Code
Select All
$boarddir = "/home/x/y/z/coolguy/cgi/yabb/Boards"; 




There are two files you need to edit to fix the SBOX-issues:

YaBB.pl/YaBB.cgi
Add this line right after the path to perl line:
Code
Select All
push (@INC,"{ABSOLUTE_PATH}"); 


Then, find these two lines
Code
Select All
require "Settings.pl";
require "$language";
and change them to:
require "{ABSOLUTE_PATH}/Settings.pl";
require "$boarddir/$language"; 



Save the file, and upload it. Remember to upload in ASCII mode. Also remember to check that the path to perl line is correct.

Settings.pl
Here, you need to make sure all your server paths are full ABSOLUTE paths, so find these lines:
Code
Select All
$boarddir = ".";
$boardsdir = "./Boards";
$datadir = "./Messages";
$memberdir = "./Members";
$sourcedir = "./Sources";
$vardir = "./Variables";
$facesdir = "/path/to/yabb/images/avatars"; 



and change them to:
Code
Select All
$boarddir = "{ABSOLUTE_PATH}";
$boardsdir = "{ABSOLUTE_PATH}/Boards";
$datadir = "{ABSOLUTE_PATH}/Messages";
$memberdir = "{ABSOLUTE_PATH}/Members";
$sourcedir = "{ABSOLUTE_PATH}/Sources";
$vardir = "{ABSOLUTE_PATH}/Variables";
$facesdir = "/absolute_path_to/yabb/images/avatars"; 





If your server still gives you a 500-error after performing these steps (and verifying that your absolute path is 100% correct [remember that this path is case-sensitive]), try the following:
Open up YaBB.pl/YaBB.cgi, and add this line as the second line (pushing the 'push' line down to the third line):
Code
Select All
 CGI::Carp qw(fatalsToBrowser; 



Then access yabb in your browser again. Look at the error message. If it has changed, and now starts complaining about Socket.pm not found, it means that your host is not providing you with this module. If so, you need to remove the reference to this module from the YaBB source code. Note that the absence of this module means that you cannot send emails from your board using SMTP or net::SMTP mail types. If your host provides you with access to 'sendmail' you should use this, but if not, you won't be able to have the board send out emails at all (And thus needs to let people choose their own password upon registration, instead of emailing them a random one).
To remove the reference, open up Subs.pl in an editor, and find this line:
Code
Select All
if ($mailtype==1) { use Socket; } 


Then, comment it out by placing a # symbol in front of it, like this:
Code
Select All
# if ($mailtype==1) { use Socket; } 



These steps should be the neccessary steps for installing YaBB on an SBOX protected server. However, installing on SBOX can be tricky, and SBOX is also configurable, so some host has configured it in a way that will make it impossible for YaBB to run at all. If this guide doesn't solve your SBOX-related installation problems, feel free to post in the forums, and one of the YaBB support staff will try to help you out.

» Why do I get "Error: Missing right curly or square bracket..."

It is NOT because of ascii vs. binary uploads. You do NOT need to re-install and it is NOT a big problem

The cause of this problem is that the file you uploaded is incomplete. To solve this, you need to upload a COMPLETE file. The source file is complete if it ends with 1;

This error has been seen most often with ModifyMessage.pl, LogInOut.pl and ManageCats.pl

All you have to do is the following
1) Download a new ZIP - it's possible the one you have is corrupt
2) Unzip it
3) Verify the new file is complete (see above)
3) Re-upload the file that is causing the problem
« Last Edit: Jan 22nd, 2008 at 4:20am by »  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Print
 
  « Board Index ‹ Board  ^Top