Loading ...
Sorry, an error occurred while loading the content.

[mp2] mason and not using compat?

Expand Messages
  • Carl Brewer
    Hello, I m fiddling with Mason on apache2 (NetBSD 1.6.2 & 2.0RC s) and I d like to use mp2 in native mode, not compat. I found :
    Message 1 of 6 , Oct 24, 2004
    • 0 Attachment
      Hello,

      I'm fiddling with Mason on apache2 (NetBSD 1.6.2 & 2.0RC's)
      and I'd like to use mp2 in native mode, not compat.

      I found :

      http://www.masonhq.com/?ApacheModPerl2

      And the hack in there I haven't yet tried, but does anyone
      know of any plans to make this a bit neater?

      Thanks

      Carl


      --
      Report problems: http://perl.apache.org/bugs/
      Mail list info: http://perl.apache.org/maillist/modperl.html
      List etiquette: http://perl.apache.org/maillist/email-etiquette.html
    • Philippe M. Chiasson
      ... I believe there is a CPAN module that makes it a bit cleaner and less hack-ish: MasonX::Apache2Handler http://search.cpan.org/dist/MasonX-Apache2Handler
      Message 2 of 6 , Oct 25, 2004
      • 0 Attachment
        Carl Brewer wrote:
        >
        > Hello,
        >
        > I'm fiddling with Mason on apache2 (NetBSD 1.6.2 & 2.0RC's)
        > and I'd like to use mp2 in native mode, not compat.
        >
        > I found :
        >
        > http://www.masonhq.com/?ApacheModPerl2
        >
        > And the hack in there I haven't yet tried, but does anyone
        > know of any plans to make this a bit neater?

        I believe there is a CPAN module that makes it a bit cleaner and
        less hack-ish:

        MasonX::Apache2Handler
        http://search.cpan.org/dist/MasonX-Apache2Handler

        > Thanks
        >
        > Carl
        >
        >

        --
        --------------------------------------------------------------------------------
        Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5
        http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
      • Carl Brewer
        ... Thanks Philippe, I ve found that now and built a NetBSD pkg for it. But, I m having trouble using it. I really want to stay clear of mp1, but am having
        Message 3 of 6 , Oct 25, 2004
        • 0 Attachment
          Philippe M. Chiasson wrote:
          > Carl Brewer wrote:
          >

          > I believe there is a CPAN module that makes it a bit cleaner and
          > less hack-ish:
          >
          > MasonX::Apache2Handler
          > http://search.cpan.org/dist/MasonX-Apache2Handler

          Thanks Philippe, I've found that now and built a NetBSD pkg for it.

          But, I'm having trouble using it. I really want to stay clear of
          mp1, but am having trouble getting this handler to work.

          I keep seeing this :

          [Tue Oct 26 13:28:53 2004] [error] [client 211.26.251.34] Can't locate
          object method "server_root_relative" via package "Apache::ServerRec" at
          /usr/pkg/lib/perl5/site_perl/5.8.4/MasonX/Apache2Handler.pm line 618.\n


          My setup at the moment (which is very fluid as I try things to try and
          fix the problem!) :

          <VirtualHost 203.6.241.155>
          DocumentRoot /home/benfab/htdocs
          ServerName benfab.bl.echidna.id.au

          ErrorLog /home/benfab/logs/error_log
          CustomLog /home/benfab/logs/access_log common

          Alias /admin/ "/home/benfab/admin/"

          # these four lines apply to Apache2+mod_perl2 only: {{{
          PerlSetVar MasonArgsMethod CGI
          #PerlModule Apache2 Apache::compat
          PerlModule Apache2
          PerlRequire "/home/benfab/lib/startup.pl"

          #PerlModule Apache::Reload
          #PerlModule Apache::Request
          #PerlModule Apache::Cookie
          #PerlInitHandler Apache::Reload
          #PerlSetVar ReloadAll Off

          #PerlSetVar _MasonUser www
          #PerlSetVar _MasonGroup www
          #PerlSetVar _MasonDefaultDocumentRoot "/home/benfab/htdocs"

          #RewriteEngine On
          #RewriteRule ^(.*)/$ $1/index.html

          <LocationMatch "(\.html|\.txt|\.pl)$">
          SetHandler perl-script
          #PerlHandler HTML::Mason::ApacheHandler
          PerlResponseHandler MasonX::Apache2Handler
          </LocationMatch>
          <LocationMatch "(\.m(html|txt|pl)|dhandler|autohandler)$">
          SetHandler perl-script
          #PerlInitHandler Apache::Constants::NOT_FOUND
          </LocationMatch>

          <Location />
          #SetHandler perl-script
          #PerlHandler HTML::Mason::ApacheHandler
          SetOutputFilter DEFLATE
          </Location>
          </VirtualHost>


          the startup.pl script is :
          # http://perl.apache.org/docs/2.0/user/config/config.html

          use Apache2 ();
          # /usr/pkg/lib/perl5/site_perl/5.8.4/HTML/Mason/ApacheHandler.pm
          use lib qw(/home/benfab/lib
          /usr/pkg/lib/perl5/site_perl/5.8.4/HTML/Mason/);

          use ModPerl::Util (); #for CORE::GLOBAL::exit

          use Apache::RequestRec ();
          use Apache::RequestIO ();
          use Apache::RequestUtil ();

          use Apache::ServerRec ();
          use Apache::ServerUtil ();
          use Apache::Connection ();
          use Apache::Log ();

          use APR::Table ();
          use APR::Pool ();

          use ModPerl::Registry ();

          use Apache::Const -compile => ':common';
          use APR::Const -compile => ':common';

          1;


          From googling around, the error message is something to
          do with mp2 in compat mode, which I'm specifically trying to
          eliminate and avoid - and as my test page is simply this :

          /home/benfab/htdocs/index.html
          <% 2+2 %>

          I'm not using anything that should or could call it?

          any suggestions?

          Carl



          --
          Report problems: http://perl.apache.org/bugs/
          Mail list info: http://perl.apache.org/maillist/modperl.html
          List etiquette: http://perl.apache.org/maillist/email-etiquette.html
        • Randy Kobes
          ... From the mp2 Changes file, ($r|$c|$s)- server_root_relative has been removed. There is a suggested alternative, which for MasonX::Apache2Handler translates
          Message 4 of 6 , Oct 25, 2004
          • 0 Attachment
            On Tue, 26 Oct 2004, Carl Brewer wrote:

            > Philippe M. Chiasson wrote:
            > > Carl Brewer wrote:
            > >
            >
            > > I believe there is a CPAN module that makes it a bit cleaner and
            > > less hack-ish:
            > >
            > > MasonX::Apache2Handler
            > > http://search.cpan.org/dist/MasonX-Apache2Handler
            >
            > Thanks Philippe, I've found that now and built a NetBSD pkg for it.
            >
            > But, I'm having trouble using it. I really want to stay clear of
            > mp1, but am having trouble getting this handler to work.
            >
            > I keep seeing this :
            >
            > [Tue Oct 26 13:28:53 2004] [error] [client 211.26.251.34] Can't locate
            > object method "server_root_relative" via package "Apache::ServerRec" at
            > /usr/pkg/lib/perl5/site_perl/5.8.4/MasonX/Apache2Handler.pm line 618.\n

            From the mp2 Changes file, ($r|$c|$s)->server_root_relative
            has been removed. There is a suggested alternative, which
            for MasonX::Apache2Handler translates to (untested):
            ===============================================================
            --- Apache2Handler.pm~ Sun Apr 11 17:02:16 2004
            +++ Apache2Handler.pm Mon Oct 25 22:47:12 2004
            @@ -615,7 +615,7 @@
            if (exists $allowed_params->{data_dir} and not exists $params{data_dir})
            {
            # constructs path to <server root>/mason
            - my $def = $defaults{data_dir} = Apache->server->server_root_relative('mason');
            + my $def = $defaults{data_dir} = File::Spec->catfile(Apache::ServerUtil::server_root, 'mason');
            param_error "Default data_dir (MasonDataDir) '$def' must be an absolute path"
            unless File::Spec->file_name_is_absolute($def);

            =========================================================================

            --
            best regards,
            randy kobes

            --
            Report problems: http://perl.apache.org/bugs/
            Mail list info: http://perl.apache.org/maillist/modperl.html
            List etiquette: http://perl.apache.org/maillist/email-etiquette.html
          • Carl Brewer
            ... Thanks Randy, Has this been submitted to Beau Cox by you or anyone? Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info:
            Message 5 of 6 , Oct 25, 2004
            • 0 Attachment
              Randy Kobes wrote:

              > From the mp2 Changes file, ($r|$c|$s)->server_root_relative
              > has been removed. There is a suggested alternative, which
              > for MasonX::Apache2Handler translates to (untested):
              > ===============================================================
              > --- Apache2Handler.pm~ Sun Apr 11 17:02:16 2004
              > +++ Apache2Handler.pm Mon Oct 25 22:47:12 2004
              > @@ -615,7 +615,7 @@
              > if (exists $allowed_params->{data_dir} and not exists $params{data_dir})
              > {
              > # constructs path to <server root>/mason
              > - my $def = $defaults{data_dir} = Apache->server->server_root_relative('mason');
              > + my $def = $defaults{data_dir} = File::Spec->catfile(Apache::ServerUtil::server_root, 'mason');
              > param_error "Default data_dir (MasonDataDir) '$def' must be an absolute path"
              > unless File::Spec->file_name_is_absolute($def);
              >
              > =========================================================================

              Thanks Randy,

              Has this been submitted to Beau Cox by you or anyone?

              Carl




              --
              Report problems: http://perl.apache.org/bugs/
              Mail list info: http://perl.apache.org/maillist/modperl.html
              List etiquette: http://perl.apache.org/maillist/email-etiquette.html
            • Carl Brewer
              ... That works, btw. Thankyou. Now if Beau can update the Apache2Handler, it ll all be good! Carl -- Report problems: http://perl.apache.org/bugs/ Mail list
              Message 6 of 6 , Oct 25, 2004
              • 0 Attachment
                Randy Kobes wrote:

                > From the mp2 Changes file, ($r|$c|$s)->server_root_relative
                > has been removed. There is a suggested alternative, which
                > for MasonX::Apache2Handler translates to (untested):
                > ===============================================================
                > --- Apache2Handler.pm~ Sun Apr 11 17:02:16 2004
                > +++ Apache2Handler.pm Mon Oct 25 22:47:12 2004
                > @@ -615,7 +615,7 @@
                > if (exists $allowed_params->{data_dir} and not exists $params{data_dir})
                > {
                > # constructs path to <server root>/mason
                > - my $def = $defaults{data_dir} = Apache->server->server_root_relative('mason');
                > + my $def = $defaults{data_dir} = File::Spec->catfile(Apache::ServerUtil::server_root, 'mason');
                > param_error "Default data_dir (MasonDataDir) '$def' must be an absolute path"
                > unless File::Spec->file_name_is_absolute($def);
                >
                > =========================================================================
                >

                That works, btw. Thankyou. Now if Beau can update
                the Apache2Handler, it'll all be good!

                Carl




                --
                Report problems: http://perl.apache.org/bugs/
                Mail list info: http://perl.apache.org/maillist/modperl.html
                List etiquette: http://perl.apache.org/maillist/email-etiquette.html
              Your message has been successfully submitted and would be delivered to recipients shortly.