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>] [<a href="Faq.pod.cont.html">CONTENT</a>] [<a href="Faq.pod.cont.html">PREV (FAQ - Content)</a>] [<a href="Faq.pod.2.html">NEXT (Common Problems)</a>] <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>