Using Mason on Panix

These instructions outline how to set up the HTML::Mason templating system to generate dynamic web pages for your site on our shared webservers. Substitute your user name for yourusername, and, where appropriate, your domain name for yourdomainname, throughout.

  1. Log into your Panix shell account.
  2. Change directories into your web space:
    • Personal & Cheap-web customers:
    cd public_html
    • Standard, Advanced, and Developer Web customers:
    cd corp-web/yourdomainname
  3. If you do not already have one, create a pcgi-bin directory:
    mkdir pcgi-bin
    chmod 701 pcgi-bin/
  4. Create a Mason handler: edit pcgi-bin/mason-handler.cgi (substitute your user name for yourusername)
    $ENV{ PATH_INFO } =~ s{/~\w+}{};
    use HTML::Mason::CGIHandler;
    • Personal Web & Cheap-web customers:
    my $h = new HTML::Mason::CGIHandler(comp_root=>'/htdocs/userdirs/yourusername');
    • Standard, Advanced, and Developer Web customers:
    my $h = new HTML::Mason::CGIHandler(comp_root=>'/htdocs/corp-dirs/yourusername/yourdomainname');
  5. Adjust permissions on your new handler:
    chmod 500 pcgi-bin/mason-handler.cgi
  6. Tell apache about the new handler: append to or create a .htaccess file (substitute your user name for yourusername) these 2 lines.
    AddHandler html-mason mhtml
    • Personal Web customers:
    Action html-mason /~yourusername/pcgi-bin/mason-handler.cgi
    • Cheap-web, Standard, Advanced, and Developer Web customers:
    Action html-mason /pcgi-bin/mason-handler.cgi
  7. Create .mhtml files, such as, with autohandlers and include files to your taste. Minimum permissions on the new files are 400 (owner-readable). You might prefer 600 (which is also owner-writeable) for convenience while actively working with your files.
    > cat mason-test.mhtml
    foreach my $key (sort keys %ENV) {
    <dt><% $key %></dt><dd><% $ENV{$key} %></dd>

    > cat autohandler
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    <html xmlns="">
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />
    <title><% $m->request_comp->attr('title') %></title>
    <% $m->call_next() %>
  8. Get help online.

Last Modified:Tuesday, 19-Apr-2016 15:09:31 EDT
© Copyright 2006-2011 Public Access Networks Corporation