![]() |
FAQ/Help |
Calendar |
Search |
#1
|
|||
|
|||
I am having a problem with this script. All other scripts I have installed running ok.
Here is the way i configured it: # ---------------------------------------------------- # Configuration File for OpenJournal v2 # ---------------------------------------------------- # Installation Instructions: # ---------------------------------------------------- # To get started, copy these files to your cgi-bin directory: # oj.cgi # oj.cfg # auth.pl # # Remove ".txt" from filenames if you downloaded the files # individually. Change "oj.txt" to "oj.cgi" # # Create two subdirectories in your cgi-bin directory called # "ojauth" and "ojtemplates". # # Create a subdirectory called "oj" # in your Web site's main HTML directory. Then create another # subdirectory underneath "oj" called "story". (You can change # the names of these defaults below if you want.) # # Chmod 777 your main /oj and /oj/story directories # Chmod 777 your /cgi-bin/ojauth directory # Chmod 755 your /cgi-bin/ojtemplates directory # # Note: You may need to also chmod 777 your main HTML and CGI-BIN # directories for the program to function properly. If you # get an error message regarding permissions, please try doing # this before posting to the support forum. # # Copy all of the default template files into the /cgi-bin/ojtemplates # directory. Edit these files to reflect your own site's look and feel. # Read the "readme" file in the templates directory which describes # the use of the variables. # # Then go through the rest of this configuration file and ensure # all of the paths and directories are set to reflect your server # layout. The program will try and create any additional files it # needs to run properly. If it cannot, it will provide you with # an error message, usually as a result of permissions not being # properly set on a directory. # # The 2.x versions of OpenJournal make use of the auth.pl # perl script to handle its authentication routines, written # and copyrighted by Gossamer Threads (http://www.gossamer-threads.com/). # It is used within OpenJournal by permission. # ---------------------------------------------------- # Configuration Section for OpenJournal v2 # ---------------------------------------------------- # Path to your Web site's main HTML directory (where the oj subdirectory is; # no trailing slash). This is also known to some people as their FTP directory. $mydir = "/home/nznownet/clients/nznownetsites/cah/cahsupportforum/cgibin/oj/"; # Complete path to your cgi-bin directory (no trailing slash). This is similar # to what you put above, except it's to your site's program or cgi-bin directory. $progdir = "/home/nznownet/clients/nznownetsites/cah/cahsupportforum/cgibin/oj.pl/"; # Name of the OpenJournal directory (oj is default; no trailing slash). If you # want OJ to manage your main homepage, put nothing between the quotes (like "") # and edit the index file in the ojtemplates subdirectory to look like your # homepage (keep the OJ HTML comments in the template file, though!). $ojdir = "/Anne's "Body For Life" Journal"; # Web path to OpenJournal program (how you access your site's cgi-bin directory # from your Web browser). $cgi_url = "cahsupportforum/cgibin/oj.pl"; # Name of your Web server (no trailing slash): $baseurl = "http://www.cahsupportforum.com"; # Name of your OpenJournal: $title = "Anne-Marie's "Body For Life" Challenge"; # Name of subdirectory in the oj directory where archives of old articles # and indexes are kept (story is default): $mesgdir = "bodyforlife"; # Default extension of file names (htm is default): $ext = "html"; # Default name of your index file (index is default): $mesgfile = "index." . $ext; # Will this OpenJournal be used by more than one person contributing to # the same journal? Multiple users are supported per journal. # 1 = Multiuser on, 0 = Multiuser off (default) $multiuser = 0; # 1 = On, 0 = Off # Your OpenJournal will automatically archive itself if you want it to. # This means the main index file will be saved as an archived index file # and is then available in the /oj/story subdirectory. # Automated indexing uses the day of the week to determine whether to # archive the main index file and start a fresh page for you. It only # works reliably if you log in every day. # Day to archive: 0=Sun, 1=Mon, 2=Tues, etc. # If you only want to archive once a month, set this to 30. # If you want to turn this function off, set to 99999. $daytoarchive = "30"; # Your local time zone: $timezone = "EDT"; # User Interface Specifications # ----------------------------- # The below customizations just change how the user interface to OJ appear. # Most of them do not affect OJ's output to your Web page. # Specify the HTML BODY colors and background image for the program to use: # (be careful not to remove the qq or the tildes on either end) $colors = qq~ bgcolor="#404000 text="#20c040" link="#20ff20" vlink="#a04080" ~; $background = qq~ background="" ~; # Pick a default font face, size, and table color for the program to use: $font = "verdana,helvetica"; $size = "1"; $tcolor = qq~ bgcolor="#404000" ~; $tbcolor = qq~ bgcolor="#a04080" ~; $tbfontcolor = "#20c040"; $tbfont = "verdana,ms sans serif"; $linebr = " "; # What to use between entry title and entry blurb $target_window = "hello"; # If you want to open an article link in a different window, just name it here # The amount of time in seconds that user files are kept in the # auth directory before the program removes them: # (Setting this to too short a time will timeout the user before # giving them the chance to write their entry.) $auth_time = 3600; # 1 hour (in seconds) # If you have troubles with file locking, set this to 0: $db_use_flock = 1; # If you want to keep the authorization or template files someplace other than in the cgi-bin # directory, set this to something else (default is recommended): # (Do not place the template files in the ojauth directory, or they will be deleted # automatically by the program from time to time!) $auth_dir = "$progdir/ojauth"; $tplt_dir = "$progdir/ojtemplates"; # If you want to change the name of the userfile, do so here (ojaccess.db is default): $auth_pw_file = "$progdir/ojaccess.db"; # ---------- Probably nothing else you need to -------------- # ---------- configure below this point. -------------------- # For future use $auth_no_authentication = 0; $auth_logging = 0; $auth_allow_default = 1; @auth_default_permissions = (1,1,0,0,0); $auth_signup = 1; @auth_signup_permissions = (1,1,1,1,0); $auth_modify_own = 1; $auth_view_own = 0; $auth_user_field = -1; $auth_logoff = "$baseurl$cgi_url"; # Date functions now work cross-platform ($second, $minute, $hour, $date, $month, $year, $day) = (localtime)[0..6]; $year = $year + 1900; @nameday=("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); @namemonth=("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ); $long_date="@nameday[$day], @namemonth[$month] $date, $year"; $w = (localtime)[6]; $today = (localtime)[3]; $lastmonth = $month; # $nfn = sprintf("%2i%2i%2i%2i%2i",($month+1),$date,($year0),$hour,$minute); $nfn = sprintf("iiiii",($month+1),$date,($year0),$hour,$minute); @weekago=localtime(time-604800); $lastweek = "$namemonth[$weekago[4]] $weekago[3], $year"; if ($hour>12) { $ampm="PM"; } else { $ampm="AM"; }; $ptime = sprintf("%2i:%2i:%2i %s %s",($hour),$minute,$second,$ampm,$timezone); # $ngn = sprintf("%2i%2i",($month+1),$date); $ngn = sprintf("ii",($month+1),$date); @dayago=localtime(time-86400); $nyn = sprintf("ii",($dayago[4]+1),$dayago[3]); $blurbonly = 0; $pt = 1; $basedir = $mydir . $ojdir; $john = $baseurl . "/"; $idxurl = $baseurl . "$ojdir/"; $db_script_url = "$baseurl$cgi_url"; # ------------- End Configuration Area ---------------------- # ----------------------------------------------------------- # Misc Subroutines # ----------------------------------------------------------- sub parse_form { # -------------------------------------------------------- # Parses the form input and returns a hash with all the name # value pairs. Removes SSI and any field with "---" as a value # (as this denotes an empty SELECT field. my (@pairs, %in); my ($buffer, $pair, $name, $value); if ($ENV{'REQUEST_METHOD'} eq 'GET') { @pairs = split(/&/, $ENV{'QUERY_STRING'}); } elsif ($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); } else { &cgierr ("This script must be called from the Web\nusing either GET or POST requests\n\n"); } PAIR: foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; (exists $in{$name}) ? ($in{$name} .= "~~$value") : # If we have multiple select, then we tack on ($in{$name} = $value); # using the ~~ as a seperator. } return %in; } sub cgierr { # -------------------------------------------------------- # Displays any errors and prints out FORM and ENVIRONMENT # information. Useful for debugging. if (!$html_headers_printed) { print "Content-type: text/html\n\n"; $html_headers_printed = 1; } print "<PRE>\n\nCGI ERROR\n==========================================\n"; $_[0] and print "Error Message : $_[0]\n"; $0 and print "Script Location : $0\n"; $] and print "Perl Version : $]\n"; $db_setup and print "Setup File : $db_setup.cfg\n"; $db_userid and print "User ID : $db_userid\n"; $db_uid and print "Session ID : $db_uid\n"; print "\nForm Variables\n-------------------------------------------\n"; foreach $key (sort keys %in) { my $space = " " x (20 - length($key)); print "$key$space: $in{$key}\n"; } print "\nEnvironment Variables\n-------------------------------------------\n"; foreach $env (sort keys %ENV) { my $space = " " x (20 - length($env)); print "$env$space: $ENV{$env}\n"; } print "\n</PRE>"; exit -1; } sub signup { # -------------------------------------------------------- # my $message; unless ((length($in{'userid'}) >= 3) and (length($in{'userid'}) <= 12) and ($in{'userid'} =~ /^[a-zA-Z0-9]+$/)) { $message = "Invalid userid: $in{'userid'}. Must only contain only letters and be less then 12 and greater then 3 characters."; } unless ((length($in{'pw'}) >= 3) and (length($in{'pw'}) <= 12)) { $message = "Invalid pw: '$in{'pw'}'. Must be less then 12 and greater then 3 characters."; } open (PASS, "<$auth_pw_file") || &create_pass_file; if ($db_use_flock) { flock(PASS, 1); } while (<PASS>) { /^\Q$in{'userid'}\E:/ and ($message = "userid already exists. Please try another."); } close PASS; if ($message) { &print_new_auth($message); return; } # Add the userid into the file with default permissions. open (PASS, ">>$auth_pw_file") or &cgierr ("unable to open: $auth_pw_file.\nReason: $!"); if ($db_use_flock) { flock(PASS, 2) or &cgierr("unable to get exclusive lock on $auth_pw_file.\nReason: $!"); } srand( time() ^ ($$ + ($$ << 15)) ); # Seed Random Number my @salt_chars = ('A' .. 'Z', 0 .. 9, 'a' .. 'z', '.', '/'); my $salt = join '', @salt_chars[rand 64, rand 64]; my $encrypted = crypt($in{'pw'}, $salt); # my $permissions = join (":", @auth_signup_permissions); print PASS "$in{'userid'}:$encrypted\n"; close PASS; &return_html("User added"); } sub return_html { $error = $_[0]; &header("$error"); print "<h3><font face=\"$font\">$title: $error</font></h3>\n"; print "<ul>"; if (($etitle) && ($blurbonly eq 0)) { print "[*]<a href=\"$ojdir/$mesgdir/$nfn\.$ext\">$etitle</a>\n"; } print "[*]<a href=\"$idxurl\">$title index</a>[*]<a href=\"$script_link\">Back to the OpenJournal console</a>\n"; print "[/list] \n"; &footer; } sub error { $error = $_[0]; &header("$error"); print "<h3><font face=\"$font\">error: $error</font></h3>\n"; print "<a href=\"$db_script_url\">Back to OpenJournal</a>\n"; &footer; } sub header { $subtitle = $_[0]; print "Content-type: text/html\n\n"; print "<html><head><title>$title: $subtitle</title></head><body $colors $background>\n"; } sub footer { print qq~ <center><div align="center"> ![]() <font size="1" face="ms sans serif"> v2.0 open source software by J Grohol</font></div></center></body></html> ~; exit(0); } sub create_pass_file { open DET,">$auth_pw_file" or &cgierr ("unable to open: $auth_pw_file.\nReason: $!"); print DET " \n"; close(DET); &signup; } 1; Any ideas what I am doing wrong. I have followed the instructions as best I can. Any help is appreciated. Thanks in advance, Administrator www.cahsupportforum.com |
#2
|
|||
|
|||
Was the question too simple or something??? Or was it too much to ask for help here?
Administrator www.cahsupportforum.com |
#3
|
|||
|
|||
<blockquote><font size=1>In reply to:</font><hr>
# Path to your Web site's main HTML directory (where the oj subdirectory is; # no trailing slash). This is also known to some people as their FTP directory. $mydir = "/home/nznownet/clients/nznownetsites/cah/cahsupportforum/cgibin/oj/"; # Complete path to your cgi-bin directory (no trailing slash). This is similar # to what you put above, except it's to your site's program or cgi-bin directory. $progdir = "/home/nznownet/clients/nznownetsites/cah/cahsupportforum/cgibin/oj.pl/ <hr></blockquote> Read this more carefully, you have included a trailing slash where you should not have. |
Reply |
|
![]() |
||||
Thread | Forum | |||
new member & seeing JVM error, IE error? | Community Feedback & Technical Support | |||
finding and installing a printer on Mac os x | Community Feedback & Technical Support | |||
installing Java.com...is it safe? | Community Feedback & Technical Support | |||
installing love | Other Mental Health Discussion | |||
Help installing POD on Win2K | Community Feedback & Technical Support |