Apache

ActivePerl and Apache CGI config

Question: 

How do I configure Apache to use ActivePerl for CGI?

Answer: 

To configure appache to use ActivePerl for CGI:

  1. Edit your httpd.conf file. You can open this file by selecting
    Start | Programs | Apache HTTP Server | Configure Apache Server
    | Edit the Apache httpd.conf Configuration File
    which will open
    httpd.conf file in the notepad editor.
  2. Search for "DocumentRoot". You should see a section that looks like this:

    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    #
    DocumentRoot "C:/apacheroot"

  3. Change the value of DocumentRoot to the actual local path to your web site.
    Make sure you use '/' forward slashes in the path. Apache doesn't understand
    '\' backward slashes in paths.
  4. Just below the DocumentRoot section you will see the main directory section:
    Options FollowSymLinks
    AllowOverride None
    

    on the Option line, add "ExecCGI":

    Options FollowSymLinks ExecCGI
    
  5. Search for the line:
    #AddHandler cgi-script .cgi
    

    Remove the '#' at the beginning to uncomment this line.

    AddHandler cgi-script .cgi
    

    If you want to use the .pl extension for your CGI scripts, change the extension
    so that the line looks like this:

    AddHandler cgi-script .pl
    
  6. Save and close httpd.conf.

  7. Restart the Apache service using the Apache Service
    Monitor
    .
  8. Test your configuration by placing the following test script in your
    DocumentRoot directory as 'test.pl' (or test.cgi). Open the
    local URL http://localhost/test.pl in your browser.

    The test script:

    #!c:\perl\bin\perl.exe
    # ^^^ this must be the first line of the script! ^^^
    # start code

    use strict;
    use CGI;
    my $q = new CGI;

    # print header and start the markup output

    print $q->header( "text/html" ),$q->start_html( "hello from perl cgi!" );
    print $q->h2("Hello World!");
    print $q->end_html;
    # end code

Komodo Debugging with PHP / Apache

Question: 

How do I configure Apache for PHP debugging in Komodo?

Answer: 
  1. Edit the php.ini file that Apache is using and add these values:

        zend_extension_ts=c:\path\to\php_xdebug.dll
        xdebug.remote_enable=1
        xdebug.remote_handler=dbgp
        xdebug.remote_mode=req
        xdebug.remote_host=127.0.0.1
        xdebug.remote_port=9000
        xdebug.idekey=1
    

    To verify that this is configured properly, create a script called 'info.php' containing the code:

        <?php phpinfo(); ?>
    

    You should see the xdebug extension settings section near the bottom of the output.

  2. Open Komodo and go to Edit / Preferences / Debugger. Change the debugger
    listener port to 9000. Also, go into the 'Debug' menu and make sure the
    debugger listener is enabled.
  3. Open up a browser window and point it at a PHP script on your local Apache,
    but first append the XDEBUG_SESSION_START variable to the url:

        http://localhost/index.php?XDEBUG_SESSION_START=1
    

    A dialog-box should appear in Komodo announcing that a remote debug session has been
    requested.