You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by ri...@locus.apache.org on 2000/08/09 07:11:08 UTC

cvs commit: modperl-site/embperl Faq.pod.1.html Faq.pod.cont.html

richter     00/08/08 22:11:07

  Modified:    embperl  Faq.pod.1.html Faq.pod.cont.html
  Log:
  Embperl Webpages - Changes
  
  Revision  Changes    Path
  1.12      +118 -0    modperl-site/embperl/Faq.pod.1.html
  
  Index: Faq.pod.1.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/embperl/Faq.pod.1.html,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Faq.pod.1.html	2000/05/02 04:42:18	1.11
  +++ Faq.pod.1.html	2000/08/09 05:11:04	1.12
  @@ -33,6 +33,7 @@
   		<LI><A href="Faq.pod.1.html#Embperl_on_SCO_Unix">Embperl on SCO Unix</A>
   		<LI><A href="Faq.pod.1.html#Embperl_and_mod_perl_on_AIX">Embperl and mod_perl on AIX </A>
   		<LI><A href="Faq.pod.1.html#Embperl_does_not_write_to_the_lo">Embperl does not write to the logfile, because of missing permissions</A>
  +		<LI><A href="Faq.pod.1.html#Is_it_possible_to_install_EmbPer">Is it possible to install EmbPerl into a private directory on my Unix/Linux Internet Service Provider account of which I have no root privilege?</A>
   	</UL>
   <hr>
   <P>
  @@ -344,6 +345,123 @@
   <P>
   The current solutions is to write something to the log, before Apache
   changes it's user (i.e. in the startup.pl)
  +
  +<P>
  +<HR>
  +<H2><img src="sq.gif" width="16" height="16" alt="-"> <A NAME="Is_it_possible_to_install_EmbPer">Is it possible to install EmbPerl into a private directory on my Unix/Linux Internet Service Provider account of which I have no root privilege?</A></H2>
  +<P>
  +Like any other Perl module it can. Read ``perldoc ExtUtils::MakeMaker'', to
  +see which parameters are needed for Makefile.PL to change the installation
  +directory. Additionally, you have to change the <CODE>@INC</CODE> path to
  +contain your private directory and possibly paths to other object files.
  +
  +<P>
  +Here are the brief details:
  +
  +<P>
  +<STRONG>Requirements</STRONG>:
  +
  +<UL>
  +<LI><STRONG><A NAME="item_At">At least Perl 5.004_04</A></STRONG>
  +<LI><STRONG><A NAME="item_cc">cc or gcc (your isp must give you access to the gcc compiler)</A></STRONG>
  +<LI><STRONG><A NAME="item_URI">URI</A></STRONG>
  +<LI><STRONG><A NAME="item_MIME">MIME::Base64</A></STRONG>
  +<LI><STRONG><A NAME="item_HTML">HTML::Parser</A></STRONG>
  +<LI><STRONG><A NAME="item_HTML">HTML::HeadParser</A></STRONG>
  +<LI><STRONG><A NAME="item_Digest">Digest::MD5</A></STRONG>
  +<LI><STRONG><A NAME="item_libnet">libnet</A></STRONG>
  +<LI><STRONG><A NAME="item_libwww">libwww</A></STRONG>
  +<LI><STRONG><A NAME="item_File">File::Spec (I believe you may have to install this too if you are using Perl 5.004_04 as it may not be a standard module)</A></STRONG>
  +</UL>
  +<P>
  +<STRONG>Direction</STRONG>:
  +
  +<UL>
  +<LI><STRONG><A NAME="item_Get">Get your copy of EmbPerl (HTML-Embperl-x.x.tar.gz)</A></STRONG>
  +<LI><STRONG><A NAME="item__tar_xvzf_HTML_Embperl_x_x_tar">% tar -xvzf HTML-Embperl-x.x.tar.gz</A></STRONG>
  +<LI><STRONG><A NAME="item__cd_HTML_Embperl_x_x">% cd HTML-Embperl-x.x</A></STRONG>
  +<LI><STRONG><A NAME="item__perl_Makefile_PL_PREFIX_to_yo">% perl Makefile.PL PREFIX=/to/your/private/dir</A></STRONG>
  +<LI><STRONG><A NAME="item__make">% make</A></STRONG>
  +<LI><STRONG><A NAME="item__make_test">% make test</A></STRONG>
  +<LI><STRONG><A NAME="item__make_install">% make install</A></STRONG>
  +</UL>
  +<P>
  +Replace /to/your/private/dir with the path to the directory you want the
  +module to be placed in. Now preface your CGI scripts with something like
  +this:
  +
  +<P>
  +[Alternative 1]
  +
  +<P>
  +<PRE>        #!/usr/bin/perl -wT
  +        use CGI::Carp qw( fatalsToBrowser ); #recommend using this to report errors on die or warn to browser
  +        
  +        use lib '/to/your/private/dir/lib'; #for <A HREF="FILE::Spec">FILE::Spec</A>
  +        use lib '/to/your/private/dir/'; #to find Embperl
  +        use lib '/to/your/private/dir/i386-linux/auto/HTML/Embperl'; #to find Embperl compiled stuff
  +        
  +        #if for some very weird reason the above 'use lib' pragma directive doesn't work, see Alternative 2
  +        
  +        use HTML::Embperl;
  +        
  +        #your code below ...
  +</PRE>
  +<P>
  +[Alternative 2]
  +
  +<P>
  +<PRE>        #!/usr/bin/perl -wT
  +        use CGI::Carp qw( fatalsToBrowser ); #recommend using this to report errors on die or warn to browser
  +        
  +        BEGIN {
  +                unshift @INC, '/to/your/private/dir/lib'; #for <A HREF="FILE::Spec">FILE::Spec</A>
  +                unshift @INC, '/to/your/private/dir/'; #to find Embperl
  +                unshift @INC, '/to/your/private/dir/i386-linux/auto/HTML/Embperl'; #to find Embperl compiled stuff
  +        }
  +        
  +        use HTML::Embperl;
  +        
  +        #your code below ...
  +</PRE>
  +<P>
  +When you make test, you may encounter superfluous warnings, you may want to
  +change the test.pl that ships with EmbPerl from
  +
  +<P>
  +<PRE>        BEGIN 
  +            { 
  +            $fatal  = 1 ;
  +</PRE>
  +<P>
  +to
  +
  +<P>
  +<PRE>        BEGIN 
  +            { 
  +            unshift @INC, '/to/your/private/dir/lib';
  +            $fatal  = 1 ;
  +            ...
  +</PRE>
  +<P>
  +because the test.pl may not be able to find FILE::Spec if you have it
  +installed on a private directory for Perl 5.004_04.
  +
  +<P>
  +Do something similar to the important file embpcgi.pl as you do for all
  +your CGI scripts, like modifying the <CODE>@INC</CODE> as shown above, to
  +allow perl to find in particular the EmbPerl shared obj files...
  +
  +<P>
  +And when you invoke your CGI scripts like so,
  +
  +<P>
  +<A
  +HREF="http://www.yourdomain.com/cgi-bin/embpcgi.pl/templateFiles/myNifty.epl">http://www.yourdomain.com/cgi-bin/embpcgi.pl/templateFiles/myNifty.epl</A>
  +
  +
  +<P>
  +the script should work.
   
   <p>[<a href="index.html">HOME</a>]&nbsp;&nbsp; [<a href="Faq.pod.cont.html">CONTENT</a>]&nbsp;&nbsp; [<a href="Faq.pod.cont.html">PREV (FAQ - Content)</a>]&nbsp;&nbsp; [<a href="Faq.pod.2.html">NEXT (Common Problems)</a>]&nbsp;&nbsp; <br>
       <font color="#808080">___________________________________________________________________________________<br>
  
  
  
  1.14      +1 -0      modperl-site/embperl/Faq.pod.cont.html
  
  Index: Faq.pod.cont.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/embperl/Faq.pod.cont.html,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Faq.pod.cont.html	2000/05/02 04:42:19	1.13
  +++ Faq.pod.cont.html	2000/08/09 05:11:05	1.14
  @@ -46,6 +46,7 @@
   		<LI><A href="Faq.pod.1.html#Embperl_on_SCO_Unix">Embperl on SCO Unix</A>
   		<LI><A href="Faq.pod.1.html#Embperl_and_mod_perl_on_AIX">Embperl and mod_perl on AIX </A>
   		<LI><A href="Faq.pod.1.html#Embperl_does_not_write_to_the_lo">Embperl does not write to the logfile, because of missing permissions</A>
  +		<LI><A href="Faq.pod.1.html#Is_it_possible_to_install_EmbPer">Is it possible to install EmbPerl into a private directory on my Unix/Linux Internet Service Provider account of which I have no root privilege?</A>
   	</UL>
   
   	<LI><A href="Faq.pod.2.html#Common_Problems">Common Problems</A>