Avatar billede NanoQ Nybegynder
17. februar 2001 - 16:57 Der er 10 kommentarer og
2 løsninger

Perl på Freepaq

Jeg har stort set INGEN erfaring med opsætning af serverside scripts. Derfor skal jeg lige bruge en smule hjælp.

Jeg har en flok konti hos Freepaq (jaja.. men jeg kører en foreningshjemmeside, og har ikke mulighed for at betale mig til bedre hosting). Freepaq skulle understøtte Perl mv.

Mit mål er at få Matt Kruse\'s Calendar Script (http://mkruse.netexpress.net/scripts/calendar/) til at køre. Det kan jeg umiddelbart ikke. Jeg får en:

Forbidden
You don\'t have permission to access /calendar/calendar.cgi on this server.


--------------------------------------------------------------------------------

Apache/1.3.12 Server at www.nanoq.dk Port 80

Well... for at finde ud af hvad der er galt, forsøgte jeg at smide et meget simpelt lille script op - amiclock.cgi:

(paster lige hele svineriet)



################################################################################
##                              amitime.cgi                                  ##
################################################################################

################################################################################
##                        Configuration section                              ##



# First we need to know the time offset from your server to where you live, or
# to which time you require on your pages. If the script produces the correct
# time leave this blank. Otherwise enter the number of hours that the time is
# out eg, if the page displays 8.00pm and you require 11.00pm enter 3
# if the page displays 11.00pm and you require 8.00pm enter -3

$timeoffset = \"\";

# Lets make it look good, you may add a comment before and after the clock, as
# this is called from a cgi script I have included three areas where you may
# enter the html code to effect the look. These may be all left blank.

# First lets set the font style for the comment before the clock

$bffont = \"verdana\";    #Enter the font face eg arial, verdana this will effect
$bfsize = \"2\";    #Enter the size of the font ie 1, 2, etc
$bfcolor = \"#ff0033\";  #Enter the color of the font eg #ffcc33 red navy etc

$bfbold = \"1\";  #Enter 1 for bold - 0 for plain text
$bfitalic = \"0\"; #Enter 1 for italic - 0 for plain text


# This section will effect the clock or date section

$font = \"verdana\";    #Enter the font face eg arial, verdana this will effect
$size = \"2\";    #Enter the size of the font ie 1, 2, etc
$color = \"#ff0033\";  #Enter the color of the font eg #ffcc33 red navy etc

$bold = \"0\";  #Enter 1 for bold - 0 for plain text
$italic = \"0\"; #Enter 1 for italic - 0 for plain text

# And this section will effect the comment after the clock and or date

$affont = \"verdana\";    #Enter the font face eg arial, verdana this will effect
$afsize = \"1\";    #Enter the size of the font ie 1, 2, etc
$afcolor = \"white\";  #Enter the color of the font eg #ffcc33 red navy etc

$afbold = \"1\";  #Enter 1 for bold - 0 for plain text
$afitalic = \"0\"; #Enter 1 for italic - 0 for plain text



# Now we need to know the format that you would like displayed choose from the
# following list
#
#  1: 1st, November 2000
#  2: 1/November/2000
#  3: Tuesday, 1st November
#  4: 10:44 am
#  5: 1st, November 2000 10:44
#  6: 1/November/2000 10:44
#  7: Tuesday, November 1st
#  8: 1st November 2000
#  9: 01/11/00    (European Format)
# 10: 11/01/00    (American Format)
# 11: 10:44 hrs
# 12: 10:44 hrs Tuesday 1st November 2000
# 13: 10:44 am Tuesday 1st November 2000
# 14: 10:44 am 01/11/00 (European Format)
# 15: 10:44 01/11/00 (24 hr clock)  (European Format)
# 16: 10:44 01/11/2000 (24 hr clock)  (European Format) (Long Year)
# 17: 10:44 am 11/01/00 (American format)
# 18: 10:44 11/01/00 (24 hr clock) (American Format)
# 19: Tue 1st Nov 2000
# 20: 10:44 Tue 1st Nov 2000

$display = \"5\";        # We use 5 on our site, just our choice.

# Now we need to know if you wish to place any comments around the display
# You can place a comment before the display such as Today is...., or leave it
# blank if you wish

$beforecomment = \"Today is\";

# Or if you wish to display anything after the time, leave it blank if you wish

$aftercomment = \"(BST)\";


print \"Content-type:text/html\\n\\n\";

($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time + (3600*$timeoffset));

@days = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday);
@months = qw(January February March April May June July August September October November December);
@shdays = qw(Sun Mon Tue Wed Thur Fri Sat);
@shmonths = qw(Jan Feb Mar Apr May June July Aug Sept Oct Nov Dec);
@nmmonths = qw(01 02 03 04 05 06 07 08 09 10 11 12);
$year = $year + 1900;
$shyear = substr ($year, 2,4);
$min = sprintf(\"%02d\", $min);
$mon = sprintf(\"%02d\", $mon);
$mday = sprintf(\"%02d\", $mday);


if ($hour < \"12\"){
  $ampm = \"am\";
}
else {
  $ampm = \"pm\";
}

if ($hour < \"13\") {
  $ampmhour = \"$hour\";
}
else {
  $ampmhour = $hour-12;
}

if ($bfbold eq \"1\") {
  $bfboldtag = \"<B>\";
  $bfboldendtag = \"</B>\";
}
else {
  $bfboldtag = \"\";
  $bfboldendtag = \"\";
}

if ($bold eq \"1\") {
  $boldtag = \"<B>\";
  $boldendtag = \"</B>\";
}

else {
    $boldtag = \"\";
    $Boldendtag = \"\";
}

if ($afbold eq \"1\") {
    $afboldtag = \"<B>\";
    $afboldendtag = \"</B>\";
}
else {
    $afboldtag = \"\";
    $afboldendtag =\"\";
}

if ($bfitalic eq \"1\") {
    $bfitalictag = \"<I>\";
    $bfitalicendtag = \"</I>\";
}
else {
    $bfitalictag = \"\";
    $bfitalicendtag = \"\";
}

if ($italic eq \"1\")  {
    $italictag = \"<I>\";
    $italicendtag = \"</I>\";
}
else {
    $italictag = \"\";
    $italicendtag = \"\";
}

if ($afitalictag eq \"1\") {
    $afitalictag = \"<I>\";
    $afitalicendtag = \"</I>\";
}
else {
    $afitalictag = \"\";
    $afitalicendtag = \"\";
}

if ($mday eq \"1\") {
    $end = \"st\";
}
elsif ($mday eq \"21\") {
    $end = \"st\";
}
elsif ($mday eq \"31\") {
    $end = \"st\";
}
elsif ($mday eq \"2\") {
    $end = \"nd\";
}
elsif ($mday eq \"22\") {
    $end = \"nd\";
}
elsif ($mday eq \"3\") {
    $end = \"rd\";
}
elsif ($mday eq \"23\") {
    $end = \"rd\";
}
else {
    $end = \"th\";
}

if ($display eq \"1\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$mday$end,
$months[$mon] $year</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"2\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$mday/$months[$mon]/$year</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"3\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$days[$wday], $mday$end $months[$mon]</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"4\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$ampmhour:$min $ampm</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"5\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$mday$end, $months[$mon] $year $hour:$min</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"6\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$mday/$months[$mon]/$year $hour:$min</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"7\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$days[$wday], $months[$mon] $mday$end</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"8\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$mday$end $months[$mon] $year</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"9\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$mday/$nmmonths[$mon]/$shyear</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"10\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$nmmonths[$mon]/$mday/$shyear</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"11\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$hour:$min hrs</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"12\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$hour:$min hrs $days[$wday] $mday$end $months[$mon] $year</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"13\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$ampmhour:$min $ampm $days[$wday] $mday$end $months[$mon] $year</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"14\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$ampmhour:$min $ampm  $mday/$nmmonths[$mon]/$shyear</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"15\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$hour:$min $mday/$nmmonths[$mon]/$shyear</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"16\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$hour:$min $mday/$nmmonths[$mon]/$year</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"17\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$ampmhour:$min $ampm $nmmonths[$mon]/$mday/$shyear</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"18\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$hour:$min $nmmonths[$mon]/$mday/$shyear</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"19\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$shdays[$wday]$mday$end $shmonths[$mon] $year</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} elsif ($display eq \"20\") {
print qq~<font face=\"$bffont\" size=\"$bfsize\" color=\"$bfcolor\">
$bfboldtag$bfitalictag$beforecomment$bfboldendtag$bfitalicendtag</font>
<font face= \"$font\" size=\"$size\" color=\"$color\">$boldtag$italictag$shdays$hour:$min $shdays[$wday] $mday$end $shmonths[$mon] $year</font>$boldendtag$italicendtag
  <font face=\"$affont\" size=\"$afsize\" color=\"afcolor\">$afboldtag$afitalictag
  $aftercomment</font>$afboldendtag$afitalicendtag~;
} else {
print \"Error: You havn\'t selected a correct format...\";
}

Dette giver desværre nøjagtig samme resultat - Permission denied. (ligger på www.nanoq.dk/amiclock.cgi)

Jeg har forsøgt at chmod\'e både 755 og endda 777.

Nogen der lige ved hvad der skal til? :)

NanoQ

Avatar billede klausl Nybegynder
17. februar 2001 - 17:39 #1
Jeg mener bestemt at have hørt, at perl-scripts SKAL hedde .pl til efternavn på FreePaqs server.
Avatar billede NanoQ Nybegynder
17. februar 2001 - 18:58 #2
Jeg har forsøgt med både cgi og pl - og scripts der fra default hedder det samme... med samme resultat
Avatar billede klausl Nybegynder
17. februar 2001 - 22:37 #3
Du skal lige huske at skrive stien til perl i første linje. Det skal se ud i stil med følgende:
#!/usr/bin/perl
(Prøv det samtidigt med at du prøver at døbe den amitime.pl

Scriptet virker - jeg har testet det
Avatar billede klausl Nybegynder
17. februar 2001 - 22:38 #4
Ovenstående var selvfølgelig ment som svar og ikke en kommentar :)
Avatar billede NanoQ Nybegynder
18. februar 2001 - 00:14 #5
#!/usr/bin/perl står der i det oprindelige script... var en fejl den ikke var pastet med. Men det er prøvet, og gør ingen forskel.

Iflg. freepaq er denne henvisning ikke nødvendig, da de benytter mod-perl. Så det BURDE være ok.

NanoQ
Avatar billede klausl Nybegynder
18. februar 2001 - 01:00 #6
Med den simple rettelse fik jeg det til at virke på min egen maskine ..

Husker du fortsat de klassiske: acii-upload og chmod 755 ?
Avatar billede breum Nybegynder
19. februar 2001 - 20:44 #7
som Klaus siger skal du huske acii-upload og chmod 755 ?  det er formentlig sidstnævnte du mangler det passer med din fejlmeddelelse.

så fremt du har uploadet som bin skal du slette den inden du uploader som asc!
Avatar billede NanoQ Nybegynder
19. februar 2001 - 22:24 #8
Upload er sket i ascii mode, og jeg har chmod\'ed til 755...

KAN det have noget at gøre med freepaq? - jeg har sendt dem en mail, og afventer nu svar.

NanOQ
Avatar billede klausl Nybegynder
19. februar 2001 - 22:36 #9
Hvis jeg forstår dig ret, så er det script du prøver nu, blot en prøve for at se om perl virker, så du kan arbejde med det script du i virkeligheden skal bruge.

Til sådan en test vil jeg anbefale noget det er så simpelt som muligt, som eksempelvis et \'hello-world-script\'

Prøv at gemme følgende kodestump i en fil som du kalder hallo.pl og uploader, chmod\'er og afvikler.

Kode:
print (\"Content-type: text/html\\n\\n\");
print \"Hallo verden\";
exit;


Lad os høre om det virker, hvis ikke så prøv lige at sætte #!/usr/bin/perl og prøv så igen ..
Avatar billede jukse Nybegynder
23. februar 2001 - 08:35 #10
klaus og breum har ret !

dit script skal hedde .pl til efternavn
og de skal som regel CHMODs 755

det er da godt at du afventer svar fra freepaq,  har du god tid ....... ha ha 

hvis ikke, send mig en mail, jeg gider godt at lave det for dig fujitsu2...ofir.dk
Avatar billede NanoQ Nybegynder
23. februar 2001 - 08:40 #11
Status er at mine testscripts nu virker. Jeg har dog stadig problemer med Matt Kruse\'s Calendar Script. Jeg får stadig den samme \"Forbidden\" fejl, selvom scriptet hedder .pl og jeg har chmod\'ed til 755

Jeg ved ikke hvorfor det pludselig virker med amiclock tingen. Jeg har intet gjort. Pludselig fungerede ting bare. KAN det være de kære freepaq\'ere der har et problem? :)

NanoQ
Avatar billede NanoQ Nybegynder
10. marts 2001 - 01:10 #12
Jeg tillader mig at lukke spørgsmålet, og tage nogle af pointene igen. Problemet er ikke løst, men der er ingen grund til at lade et inaktivt spørgsmål stå.

Jukse får en 10\'er for tilbuddet. Altid rart med folk der vil gøre en indsats - det er muligt jeg pludselig ta\'r dig på ordet :)

NanoQ

Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester