Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Windows 2000 PerlMagick Web Server How-to


Windows 2000 PerlMagick Web Server How-to

Deo Dylan-ove kolekcije PerlMagick stvari


Ovaj dokument opisuje instalaciju i konfiguraciju ActivePerl-a, ImageMagick-a i PerlMagick-a pod Microsoft-ovim IIS5 web serverom, delom Windows 2000 Server i Advanced Server operativnim sistemima. Nakon praćenja ovih instrukcija, trebalo bi da imate sistem sposoban za dinamičko kreiranje i manipulisanje slikama i njihovo slanje direktno web pretraživačima udaljenih korisnika ili njihovo skladištenje na lokalnom fajl sistemu servera.

ActivePerl je vodeća Windows verzija popularnog Perl skripting/programskog jezika. Za više informacija pogledajte

ImageMagick je open-source biblioteka manipulacije slikama dostupna za većinu operativnih sistema i platformi. Za više informacija pogledajte http://www.imagemagick.org/

PerlMagick je objektno orijentisan Perl interface za ImageMagick, koji Perl skriptima omogućava da kreiraju i manipulišu slikama. Za više informacija pogledajte http://www.imagemagick.org/www/perl.html


Preduslovi

Windows 2000 and IIS

Trebalo bi da već imate radnu instalaciju Windows 2000 Server-a ili Advanced Server-a, sa instaliranim i konfigurisanim IIS-om. IIS konfiguracija je izvan opsega ovog dokumenta, i ja neću ulaziti u više detalja nego što je neophodno.

Ne pokrećete Windows 2000?

Napomene o instaliranju PerlMagick-a pod drugim verzijama Windows-a (95, 98, Me, NT or XP) su dostupne ovde. Ove napomene su uglavnom priložili drugi korisnici - ja lično nisam testirao nijednu od njih.

Napomena o verzijama

Po mom iskustvu, PerlMagick je *izrazito* osetljiv na razlike u verzijama. PerlMagick zahteva dve komponente - sam PerlMagick modul, i ImageMagick binarne (.DLLs). Nedoslednosti verzije između ova dva paketa gotovo uvek padaju - na primer, PerlMagick 5.2.5 neće raditi sa ImageMagick-om 5.2.6.

Ove instrukcije su bazirane na kompletnoj instalaciji ImageMagick-a 5.4.4 koji koristi ActiveState ActivePerl build 631. Uključio sam takođe instrukcije za stvaranje vaših sopstvenih modula iz drugih verzija source koda.

Zaista lak način

Ovo ne uključuje nikakve ImageMagick alate komandne linije, samo Perl modul i tražene binarne.

Sastavni delovi
Instrukcije
  1. Instalirajte ActivePerl. Praćenje svih default-ova je u redu za mene. Da biste proverili da li je instaliran i radi, sačuvajte sledeće kao hello.pl u direktorijumu na vašem web serveru - ovde koristimo /cgi-bin/. Uverite se da je direktorijum izvršio dozvole pod IIS-om.
    #!/bin/perl
    print ("Content-type:text/html\r\n\r\n");
    print ("<html><body><h1>Hello World!</h2></body></html>");

    Usmeravanje pretraživača na http://myserver/cgi-bin/hello.pl bi trebalo da prikaže nešto kao:

    Hello World!

    Ako ne prikaže, vaša Perl/IIS konfiguracija ne radi kako treba - idite svađajte se sa IIS guruima i vratite se kada bude radio :)
    Od sada pa nadalje pretpostavljamo da ste instalirali Perl u c:\perl-u. Ako ste ga instalirali na drugom mestu, zamenite c:\perl\ sa kojom god putanjom koja se nalazi u instrukcijama koje slede - naglašeno je crvenim kroz ove primere.

  2. Download-ujte najnoviji puni PPM paket sa downloads stranice. Unzip-ujte ga u c:\temp. Uverite se da širite foldere unutar ZIP fajla - -d opcija ako koristite unzip.exe ili 'Use folder names' (‘Koristi imena foldera’) opciju u WinZip-u. Sada bi trebalo da imate folder c:\temp\x86 sa fajlom zvanim Image-Magick.tar.gz u njemu.

  3. Uradite ovo:
    C:\temp>ppm install Image-Magick.ppd
    Instalacioni paket 'Image-Magick.ppd'...
    Instaliranje C:\Perl\site\lib\auto\Image\Magick\colors.mgk
    -- uklonjeno mnogo redova sličnih gornjem ---
    Instaliranje C:\Perl\site\lib\auto\Image\Magick\Magick.lib
    Instaliranje C:\Perl\site\lib\Image\Magick.pm
    Pisanje C:\Perl\site\lib\auto\Image\Magick\.packlist
    C:\temp>
    Ako vidite gore navedeno,znači da je uspelo. Ako dobijete:
    C:\temp>ppm install Image-Magick.ppd
    'ppm' nije prepoznato kao interna ili eksterna komanda,
    operabilan program ili batch (niz) fajl.
    
    C:\temp>
    to znači da vaša instalacija ActivePerl-a nije konfigurisana kako treba - treba da se uverite da je folder koji sadrži ppm.bat (obično c:\perl\bin) na putanji vašeg sistema:
  4. Treba da podesite dve varijable okruženja - bilo iz komandne linije, ili desnim klikom na 'My Computer', Properties, Advanced, Environment Variables:
    1. podesite MAGICK_HOME=c:\perl\site\lib\auto\Image\Magick
    2. dodajte c:\perl\site\lib\auto\Image\Magick na putanju vašeg sistema.
  5. Restartujte kompjuter. Izgleda da IIS neće usvojiti modifikovane varijable okruženja osim ako je reboot-ovan (ponovo pokrenut) - samo restartovanje IIS-a nije dovoljno.
Testiranje

Sačuvajte fajl imagedemo1.pl direktorijum o kojem smo pričali ranije. Sada usmerite pretraživač na http://myserver/cgi-bin/imagedemo1.pl Ako vidite sledeće:

PerlMagick je instaliran OK. Ako dobijete bilo šta drugo, imate problem. Generalno ikonica 'oštećene slike' ukazuje da Perl radi dobro,a da PerlMagic ima poteškoća, dok HTTP 500 error (greška) znači bilo da postoji greška u Perl skriptu,ili problem sa vašom instalacijom ActivePerl-a. Pogledajte 'Troubleshooting' ispod za više informacija,ili se obratite na moju stranicu za PerlMagick savete o debugg-ovanju.


Teži način

Ovo vam omogućava da stvarate sopstveni PPM paket - korisno za primenu na udaljenim serverima koji nemaju instaliran Visual C++.

Instrukcije

  1. Uverite se da je ActivePerl instaliran i konfigurisan - trebalo bi da možete da uradite ovo:

    C:\>perl -e "print 'Hello World!';"
    Hello World!
    C:\> 

    Ako dobijete 'not recognised yada yada yada' (nije prepoznato...) poruku, vaša putanja nije podešena kako treba - vratite se na gore navedena uputstva. Ignorišite deo o web serverima, osim ukoliko je radna stanica vaše izrade takođe vaš web server.

  2. Uverite se da su zip.exe, unzip.exe, tar.exe i gzip.exe na putanji vaše pretrage - najlakši način da to uradite je da ih kopirate na c:\windows\system32 (ili gde god vaša kopija format.com-a leži - tu Windows drži DOS usluge (utilities) komandne linije

  3. Unzip-ujte ImageMagick source stablo na lokalni drive. Source stablo uključuje informacije o punoj putanji, tako da bi samo unzip-ovanje na C:\ trebalo da vam da source stablo pod C:\ImageMagick-5.4.0\ ili kojim god.

  4. Izgradite ImageMagick prema uputstvima koja ćete naći u \ImageMagick-5.4.0\www\install.html (ili gde god ga stavite.) Ako imate LZW licencu od Unisys-a i želite da osposobite LZW kompresiju, ne bi trebalo da editujete 'magick_config.h' fajl i “otkomentirate” (uncomment) #define HazLZW liniju. Uverite se da podešavate projektnu konfiguraciju na All - Win32 Release (Build -> Set Active Configuration u VC++) Ovo će sve DLL-ove staviti (zajedno sa alatima komandne linije kao što je convert.exe) u ImageMagick-5.4.0\VisualMagick\bin. Ovi DLL-ovi treba da su prisutni u /perl/bin direktorijumu na PerlMagick sistemu - vredi napraviti ZIP snimak DLL-ova za buduće postavljanje.

  5. Iz komande prompt, cd na ImageMagick-5.4.0/PerlMagick direktorijum i uradite sledeće:

    C:\ImageMagick-5.4.0\PerlMagick>perl makefile.nt
    C:\ImageMagick-5.4.0\PerlMagick>nmake
    C:\ImageMagick-5.4.0\PerlMagick>nmake ppm

Sada bi trebalo da imate fajl PerlMagick.zip u \PerlMagick direktorijumu. Ovo sadrži PPM (Perl module package) Image::Magick modula.

Postavljanje

(Pod pretpostavkom da je ActivePerl instaliran i radi na ciljnoj mašini - ako ne,pratite uputstva za instalaciju ActivePerl-a u odeljku 'Brzi način' gore)

  1. Kopirajte ili unzip-ujte sve DLL-ove iz koraka (4) u perl\bin direktorijum na ciljnoj mašini
  2. Kreirajte C:\imagemagick (ili koji god da je vaš sistemski drive) i izmestite *.mgk fajlove iz DLL arhive u ovaj folder.
  3. Ekstrahujte PerlMagick.zip u c:\temp - uverite se da ga širite sa imenima foledra (-d na pkunzip.exe ili 'Use folder names' (‘Koristi imena foldera’) u WinZip-u)
  4. Uradite sledeće:
    C:\TEMP>ppm install Image-Magick.ppd
    Retrieving package 'Image-Magick.ppd'...
    Installing D:\perl\site\lib\auto\Image\Magick\Magick.dll
    Installing D:\perl\site\lib\auto\Image\Magick\Magick.lib
    Installing D:\perl\site\lib\auto\Image\Magick\Magick.exp
    Installing D:\perl\site\lib\auto\Image\Magick\Magick.bs
    Installing D:\perl\site\lib\auto\Image\Magick\autosplit.ix
    Installing D:\perl\site\lib\Image\Magick.pm
    Writing D:\perl\site\lib\auto\Image\Magick\.packlist
  5. C:\TEMP>
  6. To je to - pod pretpostavkom da je sve prošlo OK, vaš sistem bi sada trebalo da je spreman za rad.

Jednostavni skripti

Jednom kada se upustite u PerlMagick, shvatićete zapravo da je instaliranje bilo lakši deo... :) Ovde je par jednostavnih skripti da počnete - imaju extra .txt ekstenziju da bi vam bilo omogućeno da pregledate source code direktno iz vašeg pretraživača; uklonite .txt ako ih čuvate lokalno da isprobate.

imagedemo1.pl - jednostavno zakošeno dugme

imagedemo2.pl - zakošeno dugme sa bojama specifikovanim korišćenjem CGI parametara

imagedemo3.pl - kao gore, sa nešto anotiranog teksta specifikovanog korišćenjem CGI parametara

buttons.html - HTML fajl koji pokazuje kako da koristite imagedemo3.pl

Dalje informacije / Troubleshooting (rešavanje problema)

Kreirao sam stranicu o savetima za debug-ovanje i troubleshooting za PerlMagick skripte ovde a koja će vam možda biti od koristi.

Ron Savage je kreirao skup hax - malih, trivijalnih skripti primera - sa namerom da demonstriraju razne karakteristike PerlMagick-a. Dostupne su ovde.

Za sva pitanja vezana za ImageMagick/PerlMagick, prvo gde treba da se obratite su ImageMagick mailing liste na http://www.imagemagick.org/www/magick-list.html - čitam ih na dnevnoj bazi, a isto radi i mnogo ljudi koji o tome znaju mnogo više nego ja.

Ako imate specifičan problem i/ili rešenje vezano za materijal u ovom dokumentu, pošaljite mi ga na <imagemagick [at] dylanbeattie [dot] net> i ja ću pokušati i ugraditi ga u buduće revizije.



Published (Last edited): 28-05-2013 , source: http://www.dylanbeattie.net/magick/howto.html