Re: Apache2::Request

2008-05-23 Thread xyon
Shouldn't it be:

 sub my_handler {
   my $r = shift;
   my $req = Apache2::Request-new($r, POST_MAX = 1M);
...


On Friday 23 May 2008 04:49:55 mome wrote:
 Hi,

 I am trying to use mod_perl2 with Apache2::Request. My intention is to get
 parameter value of post method. As described in its document and previouse
 threads said to cache the data with post method...
 Use Apache2::Request in the auth handler, and apreq
 will do the SOMETHING you need automatically.

 My existing code i.e. handler  begins with
 sub my_handler {
   my $self = shift;
   my $r = shift;
 
 ...
  I guess that  $r refers to  Apache2::RequestRec object because the lines
 that follows use methods of this object.

 With the little knowledge, I don't know why calling $r = shift returns
 Apache2::RequestRec.
 How can I make use Apache2::Request in my handler so I can preseve the
 parameter via post method?

 I tried the following line without success

 sub my_handler {
   my $self = shift;
   my $r = shift;
   my $req = Apache2::Request-new($r, POST_MAX = 1M);
 ...
 ...
 }
 Please advice.

 PA



-- 

xyon


Reload/Graceful Restart Apache

2008-04-01 Thread xyon
Hello all,

I've got a modperl app that changes some apache configs (via text
files), but need to tell Apache to re-read its configuration files for
the changes to take effect. What might be the best way of going about
such an operation?

Here is some info about my install:

 # cat /etc/redhat-release  rpm -qa httpd mod_perl
CentOS release 4.6 (Final)
httpd-2.0.59-1.el4s1.10.el4.centos
mod_perl-2.0.3-1.el4s1.3





Re: Reload/Graceful Restart Apache

2008-04-01 Thread xyon
When you mean by hand, you mean something like:

`/usr/sbin/httpd -k $action`

Where $action could be stop and then start? I don't think this is
possible, I get permission denied on the socket:

(13)Permission denied: make_sock: could not bind to address [::]:443
no listening sockets available, shutting down
Unable to open logs



On Tue, 2008-04-01 at 17:55 -0400, Sean Davis wrote:
 On Tue, Apr 1, 2008 at 5:48 PM, xyon [EMAIL PROTECTED] wrote:
  Hello all,
 
   I've got a modperl app that changes some apache configs (via text
   files), but need to tell Apache to re-read its configuration files for
   the changes to take effect. What might be the best way of going about
   such an operation?
 
   Here is some info about my install:
 
# cat /etc/redhat-release  rpm -qa httpd mod_perl
   CentOS release 4.6 (Final)
   httpd-2.0.59-1.el4s1.10.el4.centos
   mod_perl-2.0.3-1.el4s1.3
 
 If you are doing this by hand, you will always want to stop and then
 start the server, not restart.
 
 Sean



Re: modperl with SSL

2008-03-24 Thread xyon
I also recommend stunnel. It has come through for me in these same
situations without problems.

On Mon, 2008-03-24 at 07:46 -0400, Roberto C. Sánchez wrote:
 On Mon, Mar 24, 2008 at 03:25:26PM +0800, J. Peng wrote:
  hello list,
  
  we have our own realserver called QHttpd.
  This realserver doesn't support SSL protocal (https).
  So I have to develop a proxy before QHttpd to get it be compatible with SSL.
  I was thinking using modperl handler to do it.
  modperl accept the SSL connection from clients, do the verification,
  and if it's valid, redirect it to realserver with non-SSL (common
  http) protocal.
  Is it possible? if so, how to begin with it? at which stage?
  Thanks in advance.
  
 Would something like iprelay or stunnel not be sufficient for your
 needs?
 
 Regards,
 
 -Roberto



Re: troubleshooting

2008-03-17 Thread xyon
On Mon, 2008-03-17 at 12:30 +, Beginner wrote:
 On 17 Mar 2008 at 7:43, Perrin Harkins wrote:
 
  On Mon, Mar 17, 2008 at 7:06 AM, Beginner [EMAIL PROTECTED] wrote:
I found an
upgraded package for my OS.
  
  Do you mean that the OS auto-upgraded something, or that you upgraded
  something manually?  What exactly was upgraded?
 
 It looks like logrotate shutdown httpd and http failed to start after 
 that. I did an update to spamassassin, clamav and courier last week 
 but that went fine and there were no issues.
 
My startup file has:
  
use Apache2::RequestRec ();
use Apache::Const -compile qw(ok);
use Template;
use Date::Calc;
 
 I think the Apache::Const should be Apache2::Const but it hasn't 
 stopped the error.
 
  That looks fine.
  
Subroutine load redefined at /usr/lib/perl5/Apache2/XSLoader.pm line
28.\nCompilation failed in require at
/usr/lib/perl5/Apache2/RequestRec.pm line 24.
  
  That sort of thing usually means that your mod_perl was not compiled
  with the current perl and needs to be recompiled.
 
 mod_perl seems to come as part of the package on my version of 
 Debian. If i attempt to install I get libapache2-mod-perl2 is 
 already the newest version.

Try this:
dpkg -i --force /var/cache/archives/libapache2-mod-perl2-version.deb

 
 I am loath to go down the route of install modperl from source as it 
 kinda breaks the idea behind having a package manager.

Why must you go outside the package manager to install a custom-compiled
mod_perl? You can easily build debian packages on your own. Google is
full of howto's.

 
 I'm am going to see if I can find a solution that maintains the 
 integrity of my package manager for now. If I haven't found a 
 solution by the end of the day I will have to go down the source 
 route.

I would highly recommend NOT going outside the package manager. Build
your own deb package, it's pretty straightforward.

 
 Thanx,
 Dp.




Re: Custom Object-Oriented Module using HTML::Template

2008-03-13 Thread xyon
That worked great with the test script ( print $template-output; ), but
unfortunately, I'm having trouble getting the display onto a web page
(via the Handler). The resulting web page is blank, with no source.


Below are my Apache configs for the handler, logs, and the handler and
view module's latest code. I've also included the test script code, just
in case there is some obvious reason it would work and the handler
won't.




Apache config:

PerlRequire /etc/httpd/perl/startup.pl
Location /admin
SetHandler modperl 
PerlResponseHandler Myserver::Handler
/Location





/etc/httpd/perl/startup.pl:

use lib qw(/home/Perl/);
1;





Apache log:

== /var/log/httpd/error_log ==
### HTML::Template Debug ### In _parse:
### HTML::Template _param Stack Dump ###

$VAR1 = [
  \'htmlbody bgcolor=#FF00FFTest!/body/html
'
];

### HTML::Template Debug ### In output
### HTML::Template output Stack Dump ###

$VAR1 = [
  \'htmlbody bgcolor=#FF00FFTest!/body/html
'
];


== /var/log/httpd/ssl_request_log ==
[13/Mar/2008:10:48:38 -0400] 10.5.5.5 TLSv1 DHE-RSA-AES256-SHA
GET /admin/ HTTP/1.1 -

== /var/log/httpd/ssl_access_log ==
10.5.5.5 - - [13/Mar/2008:10:48:38 -0400] GET /admin/ HTTP/1.1 200 -





/home/Perl/Myserver/Handler.pm

package Myserver::Handler;

#Setup some essentials
use strict; #strict tolerance for code
use Carp;   #debugging
use diagnostics;#more debugging
use warnings;   #more debugging

#Handler-related stuff
use Apache2::RequestRec ();
use Apache2::RequestIO ();
use Apache2::Const -compile = qw(OK);

sub handler {
my $self= shift;

my $view= Myserver::View-new();
$view-mainpage;

# Obligatory stuff for the handler
$self-content_type('text/html');
return Apache2::Const::OK;

}

1;






/home/Perl/Myserver/View.pm:

package Myserver::View;

#Setup some essentials
use strict; #strict tolerance for code
use Carp;   #debugging
use diagnostics;#more debugging
use warnings;   #more debugging

#Loadup some needed functions
use HTML::Template;

sub new {
my $self= shift;
return $self;
}

sub mainpage {
my $self= shift;
my $template= HTML::Template-new(
filename = '/home/Perl/tmpl/mainpage.tmpl',
cache = 1,
debug = 1,
stack_debug = 1 );
print Content-Type: text/html\n\n;
print $template-output;
return $self;
}

1;





/home/Perl/tmpl/mainpage.tmpl:

htmlbody bgcolor=#FF00FFTest!/body/html





/home/Perl/tests/View_mainpage.pl

#!/usr/bin/perl -w

# Test printing of the main page
print Main Page..;

#Let's load the view module
use lib ../;
use Myserver::View;
#Now let's load some things that are very handy
use strict; #strict tolerance for code
use Carp;   #debugging
use warnings;   #more debugging
use diagnostics;#even more debugging

# Let's create an object
my $view= Myserver::View-new;

# Now, let's tell View to display the main page
$view-mainpage;

print .OK;

1;





On Thu, 2008-03-13 at 13:29 +0800, Foo JH wrote:
 try print $template-output;
 
 You forgot the print();
 
 xyon wrote:
  Hey everyone,
 
  Firstly, I apologize I sent the previous email under an incorrect subject 
  line.
 
  I am working on my first Object-Oriented project, and have hit a slight
  snag. I am using HTML::Template to output within the View module, but it
  never outputs. I don't see any errors in the logs, I just get a blank
  page. Below is pertinent information including a test script with its
  output:
 
 
 
  OS Info:
  
  CentOS release 4.6 (Final)
  
 
 
 
  Package info:
  
  perl-5.8.8-11
  perl-HTML-Template-2.9-1
  httpd-2.0.59-1.el4s1.10.el4.centos
  mod_perl-2.0.3-1.el4s1.3
  
 
 
 
  /home/perl/Myserver/View.pm
  
  package Myserver::View;
 
  #Setup some essentials
  use strict; #strict tolerance for code
  use Carp;   #debugging
  use diagnostics

Re: Custom Object-Oriented Module using HTML::Template

2008-03-13 Thread xyon
Good suggestion, I moved the content_type to the top of the handler
routine in Handler.pm, so it now looks like:

---
sub handler {
my $self= shift;
$self-content_type('text/html');

my $view= Myserver::View-new();
$view-mainpage;

# Obligatory stuff for the handler
return Apache2::Const::OK;
}
---



I am still getting a blank page, though. Here is the latest lwp-request
output:


---
$ lwp-request -s -U -S -e -m GET http://localhost/admin/;
GET http://localhost/admin/
User-Agent: lwp-request/2.07

GET http://localhost/admin/ -- 200 OK
Connection: close
Date: Thu, 13 Mar 2008 15:45:08 GMT
Server: Apache
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Client-Date: Thu, 13 Mar 2008 15:45:09 GMT
Client-Peer: 127.0.0.1:80
Client-Response-Num: 1
---



On Thu, 2008-03-13 at 16:38 +0100, André Warnier wrote:
 Hi.
 
 First, don't take my suggestions as gospel, I don't know the TT2 and do 
 not really know how you're supposed to work with it.
 But it seems to me that this is in the wrong order :
 
  $view-mainpage;
  $self-content_type('text/html');
 
 I think you should trigger the HTTP header before you generate the 
 content.  Now, whether that is the reason of your current problem or 
 not, I haven't a clue.
 
 But I'm trying, and I'm really interested, because I am starting to want 
 to know more about TT2 (and Catalyst) these days.  So your 
 from-the-very beginning approach is also very helpful to me.
 (And I do have a certain experience of Apache2/mod_perl2)
 
 And, re-check your lwp-request switches, you might have disabled the 
 display of the response content (remove the -d).
 
 André
 
 
 
 xyon wrote:
  Thanks for the reply.
  
  I thought as you did (that there were too many Content-Type
  definitions), so commented out this line in the View.pm module, but that
  doesn't seem to have changed anything:
  
  'print Content-Type: text/html\n\n;'
  
  
  
  
  Here is the lwp command and output:
  ---
  $ lwp-request -e -S -s -U -m GET -Sed http://localhost/admin/;
  GET http://localhost/admin/
  User-Agent: lwp-request/2.07
  
  GET http://localhost/admin/ -- 200 OK
  Connection: close
  Date: Thu, 13 Mar 2008 15:24:23 GMT
  Server: Apache
  Content-Length: 0
  Content-Type: text/html; charset=UTF-8
  Client-Date: Thu, 13 Mar 2008 15:24:23 GMT
  Client-Peer: 127.0.0.1:80
  Client-Response-Num: 1
  ---
  
  
  On Thu, 2008-03-13 at 16:11 +0100, André Warnier wrote:
  Hi.
 
  First, a small disgression : along with perl, comes a beautiful test 
  tool for HTTP stuff, called lwp-request.
  Like, at the command-line :
  lwp-request  (to see the options)
  lwp-request -m GET -Sed http://myserver/myURL;
  (that will show you what you get as a response, without a browser 
  getting in the way)
 
  Then, below, are you not now sending one Content-type too many ?
  It looks like you are doing it once in handler(), and once in mainpage().
 
  André
 
  xyon wrote:
  That worked great with the test script ( print $template-output; ), but
  unfortunately, I'm having trouble getting the display onto a web page
  (via the Handler). The resulting web page is blank, with no source.
 
 
  Below are my Apache configs for the handler, logs, and the handler and
  view module's latest code. I've also included the test script code, just
  in case there is some obvious reason it would work and the handler
  won't.
 
 
 
 
  Apache config:
  
  PerlRequire /etc/httpd/perl/startup.pl
  Location /admin
  SetHandler modperl 
  PerlResponseHandler Myserver::Handler
  /Location
  
 
 
 
 
  /etc/httpd/perl/startup.pl:
  
  use lib qw(/home/Perl/);
  1;
  
 
 
 
 
  Apache log:
  
  == /var/log/httpd/error_log ==
  ### HTML::Template Debug ### In _parse:
  ### HTML::Template _param Stack Dump ###
 
  $VAR1 = [
\'htmlbody bgcolor=#FF00FFTest!/body/html
  '
  ];
 
  ### HTML::Template Debug ### In output
  ### HTML::Template output Stack Dump ###
 
  $VAR1 = [
\'htmlbody bgcolor=#FF00FFTest!/body/html
  '
  ];
 
 
  == /var/log/httpd/ssl_request_log ==
  [13/Mar/2008:10:48:38 -0400] 10.5.5.5 TLSv1 DHE-RSA-AES256-SHA
  GET /admin/ HTTP/1.1 -
 
  == /var/log/httpd/ssl_access_log ==
  10.5.5.5 - - [13/Mar/2008:10:48:38 -0400] GET /admin/ HTTP/1.1 200

Re: mod_perl 2.0 Handler issue

2008-03-12 Thread xyon
Hey everyone,

I am working on my first Object-Oriented project, and have hit a slight
snag. I am using HTML::Template to output within the View module, but it
never outputs. I don't see any errors in the logs, I just get a blank
page. Below is pertinent information including a test script with its
output:



OS Info:

CentOS release 4.6 (Final)




Package info:

perl-5.8.8-11
perl-HTML-Template-2.9-1
httpd-2.0.59-1.el4s1.10.el4.centos
mod_perl-2.0.3-1.el4s1.3




/home/perl/Myserver/View.pm

package Myserver::View;

#Setup some essentials
use strict; #strict tolerance for code
use Carp;   #debugging
use diagnostics;#more debugging
use warnings;   #more debugging

#Loadup some needed functions
use HTML::Template;

sub new {
my $self= shift;
return $self;
}

sub mainpage {
my $self= shift;
my $template= HTML::Template-new( filename =
'/home/Perl/tmpl/mainpage.tmpl',
cache = 1,
debug = 1, 
stack_debug = 1 );
print Content-Type: text/html\n\n;
$template-output;
return $self;
}

1;




/home/Perl/tests/View_mainpage.pl

#!/usr/bin/perl -w

# Test printing of the main page
print Main Page..;

#Let's load the view module
use lib ../;
use Myserver::View;
#Now let's load some things that are very handy
use strict; #strict tolerance for code
use Carp;   #debugging
use warnings;   #more debugging
use diagnostics;#even more debugging

# Let's create an object
my $view= Myserver::View-new;

# Now, let's tell View to display the main page
$view-mainpage;

print .OK;

1;




/home/Perl/tmpl/mainpage.tmpl:

htmlbody bgcolor=#FF00FFTest!/body/html




Output with debugging on (as above):

$ tests/View_mainpage.pl 
### HTML::Template Debug ### In _parse:
### HTML::Template _param Stack Dump ###

$VAR1 = [
  \'htmlbody bgcolor=#FF00FFTest!/body/html
'
];

Main Page..Content-Type: text/html

### HTML::Template Debug ### In output
### HTML::Template output Stack Dump ###

$VAR1 = [
  \'htmlbody bgcolor=#FF00FFTest!/body/html
'
];

.OK




Output without debugging:

$ tests/View_mainpage.pl 
Main Page..Content-Type: text/html

.OK





-- 
xyon [EMAIL PROTECTED]



Custom Object-Oriented Module using HTML::Template

2008-03-12 Thread xyon
Hey everyone,

Firstly, I apologize I sent the previous email under an incorrect subject line.

I am working on my first Object-Oriented project, and have hit a slight
snag. I am using HTML::Template to output within the View module, but it
never outputs. I don't see any errors in the logs, I just get a blank
page. Below is pertinent information including a test script with its
output:



OS Info:

CentOS release 4.6 (Final)




Package info:

perl-5.8.8-11
perl-HTML-Template-2.9-1
httpd-2.0.59-1.el4s1.10.el4.centos
mod_perl-2.0.3-1.el4s1.3




/home/perl/Myserver/View.pm

package Myserver::View;

#Setup some essentials
use strict; #strict tolerance for code
use Carp;   #debugging
use diagnostics;#more debugging
use warnings;   #more debugging

#Loadup some needed functions
use HTML::Template;

sub new {
my $self= shift;
return $self;
}

sub mainpage {
my $self= shift;
my $template= HTML::Template-new( filename =
'/home/Perl/tmpl/mainpage.tmpl',
cache = 1,
debug = 1, 
stack_debug = 1 );
print Content-Type: text/html\n\n;
$template-output;
return $self;
}

1;




/home/Perl/tests/View_mainpage.pl

#!/usr/bin/perl -w

# Test printing of the main page
print Main Page..;

#Let's load the view module
use lib ../;
use Myserver::View;
#Now let's load some things that are very handy
use strict; #strict tolerance for code
use Carp;   #debugging
use warnings;   #more debugging
use diagnostics;#even more debugging

# Let's create an object
my $view= Myserver::View-new;

# Now, let's tell View to display the main page
$view-mainpage;

print .OK;

1;




/home/Perl/tmpl/mainpage.tmpl:

htmlbody bgcolor=#FF00FFTest!/body/html




Output with debugging on (as above):

$ tests/View_mainpage.pl 
### HTML::Template Debug ### In _parse:
### HTML::Template _param Stack Dump ###

$VAR1 = [
  \'htmlbody bgcolor=#FF00FFTest!/body/html
'
];

Main Page..Content-Type: text/html

### HTML::Template Debug ### In output
### HTML::Template output Stack Dump ###

$VAR1 = [
  \'htmlbody bgcolor=#FF00FFTest!/body/html
'
];

.OK




Output without debugging:

$ tests/View_mainpage.pl 
Main Page..Content-Type: text/html

.OK





-- 
xyon [EMAIL PROTECTED]



Re: Custom Object-Oriented Module using HTML::Template

2008-03-12 Thread xyon
Fixed. I forgot to print the template-output.

print $template-output;

On Wed, 2008-03-12 at 23:02 +, xyon wrote:
 Hey everyone,
 
 Firstly, I apologize I sent the previous email under an incorrect subject 
 line.
 
 I am working on my first Object-Oriented project, and have hit a slight
 snag. I am using HTML::Template to output within the View module, but it
 never outputs. I don't see any errors in the logs, I just get a blank
 page. Below is pertinent information including a test script with its
 output:
 
 
 
 OS Info:
 
 CentOS release 4.6 (Final)
 
 
 
 
 Package info:
 
 perl-5.8.8-11
 perl-HTML-Template-2.9-1
 httpd-2.0.59-1.el4s1.10.el4.centos
 mod_perl-2.0.3-1.el4s1.3
 
 
 
 
 /home/perl/Myserver/View.pm
 
 package Myserver::View;
 
 #Setup some essentials
 use strict; #strict tolerance for code
 use Carp;   #debugging
 use diagnostics;#more debugging
 use warnings;   #more debugging
 
 #Loadup some needed functions
 use HTML::Template;
 
 sub new {
 my $self= shift;
 return $self;
 }
 
 sub mainpage {
 my $self= shift;
 my $template= HTML::Template-new( filename =
 '/home/Perl/tmpl/mainpage.tmpl',
 cache = 1,
 debug = 1, 
 stack_debug = 1 );
 print Content-Type: text/html\n\n;
 $template-output;
 return $self;
 }
 
 1;
 
 
 
 
 /home/Perl/tests/View_mainpage.pl
 
 #!/usr/bin/perl -w
 
 # Test printing of the main page
 print Main Page..;
 
 #Let's load the view module
 use lib ../;
 use Myserver::View;
 #Now let's load some things that are very handy
 use strict; #strict tolerance for code
 use Carp;   #debugging
 use warnings;   #more debugging
 use diagnostics;#even more debugging
 
 # Let's create an object
 my $view= Myserver::View-new;
 
 # Now, let's tell View to display the main page
 $view-mainpage;
 
 print .OK;
 
 1;
 
 
 
 
 /home/Perl/tmpl/mainpage.tmpl:
 
 htmlbody bgcolor=#FF00FFTest!/body/html
 
 
 
 
 Output with debugging on (as above):
 
 $ tests/View_mainpage.pl 
 ### HTML::Template Debug ### In _parse:
 ### HTML::Template _param Stack Dump ###
 
 $VAR1 = [
   \'htmlbody bgcolor=#FF00FFTest!/body/html
 '
 ];
 
 Main Page..Content-Type: text/html
 
 ### HTML::Template Debug ### In output
 ### HTML::Template output Stack Dump ###
 
 $VAR1 = [
   \'htmlbody bgcolor=#FF00FFTest!/body/html
 '
 ];
 
 .OK
 
 
 
 
 Output without debugging:
 
 $ tests/View_mainpage.pl 
 Main Page..Content-Type: text/html
 
 .OK