Changes for page Configuring Apache for WebObjects
Last modified by Aaron Rosenzweig on 2020/09/03 22:17
From version 55.1
edited by Kieran Kelleher
on 2009/04/16 06:37
on 2009/04/16 06:37
Change comment:
There is no comment for this version
To version 58.1
edited by Pascal Robert
on 2012/02/11 08:44
on 2012/02/11 08:44
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - Web Applications-Deployment-Apache1 +Configuring Apache for WebObjects - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. kieran1 +XWiki.probert - Content
-
... ... @@ -1,10 +1,10 @@ 1 1 == Overview == 2 2 3 -In a deployment scenario on Mac OS X, Linux, orSolaris, your applications will most likelybedeployedonApache. Additionally, if you develop with WODirectConnectEnabled=false (you **should**, see the [[Direct Connect>>Web Applications-Development-Direct Connect]] section for details), you will be running your application locally through Apache as well. Apache is a very extensible web server that provides a huge number of capabilities, some of which we will detail here.3 +In a deployment scenario on Mac OS X, Linux, Solaris or even Windows, your applications will most likely use Apache to server static resources. Additionally, if you develop with WODirectConnectEnabled=false (you **should**, see the [[Direct Connect>>WO:Development-Direct Connect]] section for details), you will be running your application locally through Apache as well. Apache is a very extensible web server that provides a huge number of capabilities, some of which we will detail here. 4 4 5 5 == Split Install == 6 6 7 -WebObjects applications are deployed in a "split install". A split install means that your application code, components, and resources are deployed in one location to be served from your WebObjects application (on OS X, ##/Library/WebObjects/Applications/ //YourApp//.woa##), while your ##WebServerResources## are installed in another location (on OS X, ##/Library/WebServer/Documents/WebObjects///YourApp//.woa/Contents/WebServerResources##) to be served directly by Apache. This provides the optimal performance scenario, as Apache is specifically tuned for serving static content, and it does not make sense to send requests for large binary files through WebObjects if it is not necessary.7 +WebObjects applications are deployed in a "split install". A split install means that your application code, components, and resources are deployed in one location to be served from your WebObjects application (on OS X, ##/Library/WebObjects/Applications/##{{{}{_}YourApp{_}{}}}##.woa##), while your ##WebServerResources## are installed in another location (on OS X, ##/Library/WebServer/Documents/WebObjects/##{{{}{_}YourApp{_}{}}}##.woa/Contents/WebServerResources##) to be served directly by Apache. This provides the optimal performance scenario, as Apache is specifically tuned for serving static content, and it does not make sense to send requests for large binary files through WebObjects if it is not necessary. 8 8 9 9 == mod//expires// == 10 10 ... ... @@ -48,10 +48,9 @@ 48 48 49 49 Anyone who has used WebObjects has likely noticed that WebObjects URLs are long ##[[http://yoursite.com/cgi-bin/WebObjects/AppName.woa/wa/something]]##. It is a common request to make these URLs nicer for end-users who are used to just requesting ##[[http://yoursite.com]]##. Fortunately Apache provides an amazingly extensive module called "mod//rewrite" that allows you to rewrite the URL requests of your site based on a series of regular expressions and rules.// 50 50 51 -Aaron Rosenzweig has a very thorough article about [[using mod//rewrite with Apache//>>http://web.archive.org/web/20071007074308/http://www.jewelryluv.com/fashion/pageWithName/ModRewrite/]]. 52 -(Note that the original page is now gone, so this link takes you to the internet archive copy of that page) 51 +Aaron Rosenzweig has a very thorough article about [[using mod//rewrite with Apache//>>http://www.jewelryluv.com/fashion/pageWithName/ModRewrite/]]. 53 53 54 -=== mod//rewite with mod//webobjects === 53 +=== mod//rewrite with mod//webobjects === 55 55 56 56 I ran into a problem with mod//rewrite when using mod//WebObjects where mod//WebObjects had be loaded first or it just wouldn't work properly (it would work fine with cgi-bin adaptor).// 57 57 ... ... @@ -95,11 +95,15 @@ 95 95 96 96 {{id value="Apache22Adapter"}}{{/id}} 97 97 97 +=== Jeff Schmitz === 98 + 99 +This one stumped me for a couple days, so thought I'd add it. Was trying to add mod//rewrite functionality as described above, and things went well on my dev machine by adding the rewrite rules just to the /etc/apache2/httpd.conf file. However, on the deployment machine I also had to add them to the /etc/apache2/sites/0000//any//.conf file. // 100 + 98 98 == WebObjects Adaptor for Apache 2.2 == 99 99 100 100 === Travis Cripps === 101 101 102 -A number of people have expressed interest in using the WebObjects adaptor with Apache 2.2.x. I finally gotten a chance to sit down and work on it today. I'm writing to let you know that it's available in the Project Wonder CVS repository. 105 +A number of people have expressed interest in using the WebObjects adaptor with Apache 2.2.x. I finally gotten a chance to sit down and work on it today. I'm writing to let you know that it's available in the Project Wonder CVS repository. (also there are [[precompiled binaries>>http://wocommunity.org/documents/tools/mod_WebObjects/]] for various OS available) 103 103 104 104 The necessary changes turned out to be mostly minor updates to change calls to outdated/deprecated functions. The biggest (and non-trivial) change was for SSL support. It's been re-written to use Apache's mod//ssl module.// 105 105 ... ... @@ -124,6 +124,17 @@ 124 124 125 125 And, of course, either change the name of the WebObjectsAlias setting from /cgi-bin/WebObjects to <foo>/WebObjects or comment out the ScriptAlias definition for the /cgi-bin/ directory. 126 126 130 +{{info title="Note"}} 131 + 132 +The default {{ScriptAlias}} directive in the 10.5 and 10.6 {{httpd.conf}} files is: 133 +\\ 134 +{noformat} 135 +ScriptAliasMatch ^/cgi-bin/((?!(?i:webobjects)).*$) "/Library/WebServer/CGI-Executables/$1" 136 +{noformat} 137 +This prevents {{/cgi-bin/WebObjects}} from matching, so no change to {{WebObjectsAlias}} or {{ScriptAlias}} is necessary. 138 + 139 +{{/info}} 140 + 127 127 Other than these tips, it's pretty much the standard compilation and installation, and configuration. 128 128 129 129 1. Alter the make.config file in the Adaptors directory of the Wonder repository to reflect your apache installation setup.