110 likes | 374 Views
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
E N D
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