Configuring Apache Server and Perl for CGI
Configuring Apache Server and Perl for CGI. T.A. Maisa Khudair Dr. Qusai Abu Ein. Setting up Apache for Windows. Install Apache Server from following web site: http://httpd.apache.org/download.cgi Choose the Win32 Binary (MSI Installer): apache_2.2.4-win32-x86-no_ssl.msi
Configuring Apache Server and Perl for CGI
E N D
Presentation Transcript
Configuring Apache Server and Perl for CGI T.A. Maisa Khudair Dr. Qusai Abu Ein
Setting up Apache for Windows • Install Apache Server from following web site: http://httpd.apache.org/download.cgi • Choose the Win32 Binary (MSI Installer):apache_2.2.4-win32-x86-no_ssl.msi • To start using CGI, you have to download ActivePerl from following web site: http://www.ricocheting.com/server/cgi.html
Cont’d • Get the Windows (x86) MSI version • To activate CGI in Perl, use your Notepad Editor • open E:\Apache2_2\conf\httpd.conf (note: Path in PINKis the path you had installed your ActivePerl to in your computer) • search for Options Indexes FollowSymLinks
Cont’d • when you find it add ExecCGI to the end so it looks like Options Indexes FollowSymLinks ExecCGI • Always keep writing this line at the beginning of your CGI file: #!E:/Perl/bin/perl.exe • To start using Apache Server, go to Start Menu, search for Apache Http Server, then Control Apache Server > Start
Testing Apache Server • To test your Apache Server working, go to your browser web page, type in the address bar the following: http://localhost • If you got a message telling you: It works! Your server is working well.
Writing CGI Scripts • In order to execute your CGI scripts, you have to put them in cgi-bin folder located in your Apache Directory in your PC • Your files should be saved like this: fileName.cgi • To run your CGI, type: http://localhost/cgi-bin/fileName.cgi.
First CGI Example #!d:/Perl/bin/perl.exe print "Content-type: text/html\n\n"; print "Hello, World."; print "This is ME!!";
Output Hello, World This is ME!!
Cont’d :Environment variables example #!d:/Perl/bin/perl.exe ## ## printenv -- demo CGI program which just prints its environment ## print "Content-type: text/plain; charset=iso-8859-1\n\n"; foreach $var (sort(keys(%ENV))) { $val = $ENV{$var}; $val =~ s|\n|\\n|g; $val =~ s|"|\\"|g; print "${var}=\"${val}\"\n"; }
Output DOCUMENT_ROOT = /usr/local/etc/apache/htdocs GATEWAY_INTERFACE = CGI/1.1 HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* HTTP_ACCEPT_CHARSET = iso-8859-1,*,utf-8 HTTP_ACCEPT_LANGUAGE = en HTTP_CONNECTION = Keep-Alive HTTP_HOST = 200.210.220.1:8080 HTTP_USER_AGENT = Mozilla/4.01 [en] (Win95; I) PATH = /usr/local/bin:/bin:/etc:/usr/bin QUERY_STRING = REMOTE_ADDR = 200.210.220.3 REMOTE_HOST = 200.210.220.3 REMOTE_PORT = 1029 REQUEST_METHOD = GET REQUEST_URI = /cgi-bin/utils/printenv.cgi SCRIPT_FILENAME = /usr/local/lib/apache/cgi-bin/utils/printenv.cgi SCRIPT_NAME = /cgi-bin/utils/printenv.cgi SERVER_ADMIN = adminguy@acme.com SERVER_NAME = coyote.acme.com SERVER_PORT = 8080 SERVER_PROTOCOL = HTTP/1.0 SERVER_SOFTWARE = Apache/1.2.5 TZ = :US/Eastern