http://wiki3.caucho.com/index.php?title=Installation_FAQ&feed=atom&action=historyInstallation FAQ - Revision history2024-03-28T19:12:33ZRevision history for this page on the wikiMediaWiki 1.18.0http://wiki3.caucho.com/index.php?title=Installation_FAQ&diff=4208&oldid=prevPcowan at 21:12, 1 December 20112011-12-01T21:12:01Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 21:12, 1 December 2011</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">{{Cleanup}}</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Where can I put .jar files so that they are available to all of my web applications? ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Where can I put .jar files so that they are available to all of my web applications? ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>Pcowanhttp://wiki3.caucho.com/index.php?title=Installation_FAQ&diff=1940&oldid=prevSam: migration2006-02-14T05:29:38Z<p>migration</p>
<p><b>New page</b></p><div>== Where can I put .jar files so that they are available to all of my web applications? ==<br />
<br />
<blockquote><br />
Can I put them so that I do not have to put them in <tt>WEB-INF/lib</tt><br />
for every web application that I have?<br />
</blockquote><br />
<br />
Jars placed in the $RESIN_HOME/[[ext-webapp]] directory are deployed for each<br />
web application as if they had been placed in <tt>WEB-INF/lib</tt> for each web<br />
application.<br />
<br />
== What happened to bin/resin? ==<br />
<br />
<blockquote><br />
With Resin 2.1 used to run <tt>make; make install</tt> and then use the<br />
binary <tt>bin/resin</tt> to start Resin, but in Resin 3.0 I can't find the<br />
binary. What happened to it?<br />
</blockquote><br />
<br />
Resin 2.1 used the <tt>bin/resin</tt> binary to enable two features: JNI<br />
usage (including OpenSSL) and to support user-name> and <br />
group-name> for switching the effective user id of the process<br />
after attaching to ports under 1024.<br />
<br />
Resin now uses a [[JNI]] library from within Java. You don't need<br />
a compiled executable to get at the JNI code (that was bin/resin in<br />
2.1.x).<br />
<br />
On Unix systems, there is still a [[configure script]] to compile the JNI code.<br />
<br />
== How can I bind to a port under 1024 and still run as a non-root user? ==<br />
<br />
<blockquote><br />
I want to bind resin to port 80, but my operating system only allows<br />
''root'' to bind to ports under 1024. If I run Resin as ''root'', it is<br />
a security risk. How can I start Resin as ''root'' but then change the user<br />
and group id after it is bound to the port?<br />
</blockquote><br />
<br />
See [[port fowarding]].<br />
<br />
== Can I run multiple instances of Resin on the same machine? == <br />
<br />
<blockquote><br />
One instance is for production, one for deployment testing.<br />
</blockquote><br />
<br />
Yes, as long as you use different [[http]] and [[srun]] port numbers<br />
(so they don't conflict). Also, don't point each instance at the same<br />
<tt>webapps/</tt> directory, or the same directory for individual<br />
web-app's. The two instances will get confused about which is responsible for<br />
things like JSP compilation etc.<br />
<br />
== Why do I get `can't connect to parent' after installing Resin? ==<br />
<br />
This problem is most often seen on Windows machines that you have a "personal"<br />
firewall installed. Examples of firewall programs are ZoneAlarm and Sygate<br />
Personal Firewall. The solution is to either reconfigure your firewall or turn<br />
it off.<br />
<br />
When Resin is started with [[httpd.exe]] (Windows) or<br />
[[httpd.sh]] (Unix) httpd.exe or [[wrapper.pl]] is the parent<br />
process that is ultimately in control of the java server. <br />
<br />
When the java server is started, it is passed a tcp port so<br />
that the java process and the parent can communicate. This is done using the<br />
[[-socketwait]] arg, if you want to browse the source. This port allows the<br />
parent to indicate to the java server that it should stop. <br />
<br />
When the java server is started, if the -socketwait parameter is passed then<br />
Resin will connect to the parent using the passed port number. It will try this<br />
for fifteen seconds, if the connection cannot be made after that time it will<br />
result in the "can't connect to parent" error. <br />
<br />
The error usually is seen on very slow or overloaded machines. It can also<br />
happen (as mentioned above) because a firewall-type program is interfering with<br />
the socket connection between the parent and the java process. <br />
<br />
If Resin is being started in an init script on *nix, you can put a sleep after<br />
the call the httpd.sh to let Resin have a chance to startup before the next<br />
initialization steps take up most of the CPU.<br />
<br />
== What happened to exception-type='connection'? ==<br />
<br />
<blockquote><br />
In Resin 2.1 I used an <tt>exception-type='connection'</tt><br />
with [[error-page]] to specify the page to show when IIS or<br />
Apache could not reach the backend Resin server, but that does not work any<br />
more.<br />
</blockquote><br />
<br />
Resin 3.0 no longer uses the "connection" exception-type.<br />
The isapi_srun or mod_caucho plugin, if it cannot contact the backend Resin<br />
server, propogates a 503 error to IIS or Apache. So you should be able to use<br />
IIS or Apache to define custom error pages, and those will be used for your<br />
error display.<br />
<br />
The reason for this change is due to a change in the way plugins<br />
work. In versions prior to 3.0 the plugin reads and parses the resin.conf<br />
file. In version 3.0, the plugin obtains configuration information from<br />
the backend Resin server and no longer reads the resin.conf file.<br />
So if the backend server is not available, the plugin cannot forward to an<br />
error page specified in resin.conf because it does not read resin.conf.<br />
<br />
You can use IIS or Apache to define the location of<br />
custom error pages for the case where the backend server is down.<br />
<br />
<!-- pre syntax="httpd.conf" --><br />
ErrorDocument 503 /error/serverDownError.shtml<br />
<!-- /pre --><br />
<br />
== IIS 6 will not serve .exe files ==<br />
<br />
<blockquote><br />
Everything seems to work, except that for every file with a <tt>.exe</tt><br />
extension I get "HTTP 404 - File not found".<br />
</blockquote><br />
<br />
(thanks to W Hall)<br />
<br />
When used with IIS, the isapi_srun.dll plugin will dispatch urls to Resin for<br />
jsp's and servlets, but will leave static files for IIS. So this is really an<br />
IIS issue, Resin is not even trying to handle the url and IIS is failing to<br />
serve the *.exe file.<br />
<br />
There is a setting in IIS that prevents .exe files from being<br />
downloaded/launched. <br />
In IIS (6.0) the setting is found in <br />
IIS | Default Website | Properties | Home Directory (tab) | Execute<br />
Permissions (drop down) | <br />
Change from "Scripts and Executables" to "Scripts Only"</div>Sam