T-Home internet előfizetéssel 2 MB web tárhelyet adnak és elmondásuk szerint lehet rá CGI szkriptet készíteni perl-ben. Az a kérdés, hogy hogyan? Ezt rendeztem sajtó alá...
Először is próbálkozzunk egy nagyon egyszerű perl script-tel. Ez csak annyit csinál, hogy ha meghívják, akkor az ablak neve az lesz, hogy "My First Script" és az oldal tartalma a sokat emlegetett "Hello world!" leszen.
#!/usr/bin/perl
use strict;
use warnings;
print "Content-type:text/html\n\n";
print "<html><head><title>My First Script</title></head>\n\n";
print "<body>\n";
print "<p>Hello world!</p>\n";
print "</body></html>";
Az első sort besaccoltam (de, mint később kiderült, bejött). Ezt most fel kellene tölteni futtatható jogokkal mondjuk test.pl-ként. Bejelentkeztem a t-home.hu-n (e-mail cím + jelszó, vagy mt ügyfél azonosító + pin kód). Balra van egy "web tárhely" link. Odaklikk. Erre eljutottam az ftp login-hoz. Ezt is megadva eljutunk a felhasználónk gyökér könyvtárához. Alapban ott van a megszokott public_html könyvtár. Odaklikk. Itt csak a várva várt cgi-bin könyvtár van. Hurrá. Ide is bemegyek. Jobbra lent van egy "Fájl feltöltés" gombocska. Erre klattyolva feltöltöttem, de a file csak írható/olvasható jogosultsággal bír. Kipróbáltam az "http://web.t-online.hu/<username>/cgi-bin/test.pl". De az Apache szerver sír, hogy minima 755 jogok kellenének a file-ra. Na ja!
Akkor marad a windows beépített ftp kliense. Megpróbáltam felölteni, de "Access denied 530"-at kaptam. Cygwin alatt feltettem egy cURL-t is, de annak sem ment. Control Panel / Window Firewall / Allowed Programs-ban beállítottam a "Windows Firewall with Advanced Security"-ben, hogy a curl.exe is használhassa a hálózatot. Az ftp.exe alapban hozzá volt adva. (Így utólag nem tudom, hogy ez valóban kellett-e, mert most kiszedtem a konfigból, de így is engedi a feltöltést. Hmmm...)
Következő lépésben a T-Home router-én beállítottam, hogy a gépem használhassa a 21-es TCP portot. Curl még mindig nem megy, de az ftp-vel sikerült feltöltenem (ftp ftp.t-home.hu; <user / passwd megadása>; cd public_html/cgi-bin; put test.pl; lit chmod 755 test.pl). Ezzel elszórakoztam egy darabig. Úgy tűnik, hogy passive ftp kapcsolat esetén nem kell a router cseszegetése, és cURL-ben nem szabad elgépelni a user nevet.
curl -u "<user>:<pswd>" -q -Q "-chmod 755 test.pl" -T test.pl ftp://ftp.t-online.hu/public_html/cgi-bin/
A chmod előtt azért kell a '-', hogy a feltöltés után fusson le. Különben előtte próbálkozna.
Így már használható! Igaz, egyből át lett irányítva a "http://cgi.t-online.hu/<user>/test.pl".
Végigbogarásztam a @INC könyvtárakat. Nagyon sok minden elérhető. Pl. Van DBD::SQLite csomag is, ami tök jó.
Legyünk írnokok minden nap!
+jegyzések