Last modified by Aaron Rosenzweig on 2020/09/03 22:17

From version 22.1
edited by smmccraw
on 2007/07/08 09:45
Change comment: There is no comment for this version
To version 23.1
edited by Quinton Dolan
on 2007/07/12 19:58
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.smmccraw
1 +XWiki.qdolan
Content
... ... @@ -4,7 +4,7 @@
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  
... ... @@ -12,41 +12,41 @@
12 12  
13 13  An example mod//expires configuration might look like~://
14 14  
15 -{{panel}}
15 +{{code value="xml"}}
16 16  
17 - <IfModule mod_expires.c>
18 - ExpiresActive On
19 - ExpiresDefault A60
20 - ExpiresByType image/bmp A3600
21 - ExpiresByType image/gif A3600
22 - ExpiresByType image/ief A3600
23 - ExpiresByType image/jpeg A3600
24 - ExpiresByType image/png A3600
25 - </IfModule>
17 +<IfModule mod_expires.c>
18 + ExpiresActive On
19 + ExpiresDefault A60
20 + ExpiresByType image/bmp A3600
21 + ExpiresByType image/gif A3600
22 + ExpiresByType image/ief A3600
23 + ExpiresByType image/jpeg A3600
24 + ExpiresByType image/png A3600
25 +</IfModule>
26 26  
27 -{{/panel}}
27 +{{/code}}
28 28  
29 29  You will also need the corresponding type-extension mappings:
30 30  
31 -{{panel}}
31 +{{code value="xml"}}
32 32  
33 - <IfModule mod_mime.c>
34 - AddType image/bmp bmp
35 - AddType image/gif gif
36 - AddType image/ief ief
37 - AddType image/jpeg jpeg
38 - AddType image/jpeg jpg
39 - AddType image/jpeg jpe
40 - ...
41 - </IfModule>
33 +<IfModule mod_mime.c>
34 + AddType image/bmp bmp
35 + AddType image/gif gif
36 + AddType image/ief ief
37 + AddType image/jpeg jpeg
38 + AddType image/jpeg jpg
39 + AddType image/jpeg jpe
40 + ...
41 +</IfModule>
42 42  
43 -{{/panel}}
43 +{{/code}}
44 44  
45 45  This tells Apache that when a request is made for a type image/gif, the requesting browser will be told not to request the image again for an hour (A3600 = 3600 seconds).
46 46  
47 47  == mod//rewrite // ==
48 48  
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.//
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 51  Aaron Rosenzweig has a very thorough article about [[using mod//rewrite with Apache//>>http://www.jewelryluv.com/fashion/pageWithName/ModRewrite]].
52 52  
... ... @@ -56,21 +56,21 @@
56 56  
57 57  So in http.conf, search for mod//rewrite and change it to~://
58 58  
59 -{{panel}}
59 +{{noformat}}
60 60  
61 - LoadModule WebObjects_module /System/Library/WebObjects/Adaptors/Apache/mod_WebObjects.so
62 - LoadModule rewrite_module libexec/httpd/mod_rewrite.so
61 +LoadModule WebObjects_module /System/Library/WebObjects/Adaptors/Apache/mod_WebObjects.so
62 +LoadModule rewrite_module libexec/httpd/mod_rewrite.so
63 63  
64 -{{/panel}}
64 +{{/noformat}}
65 65  
66 66  , find again:
67 67  
68 -{{panel}}
68 +{{noformat}}
69 69  
70 - AddModule mod_WebObjects.c
71 - AddModule mod_rewrite.c
70 +AddModule mod_WebObjects.c
71 +AddModule mod_rewrite.c
72 72  
73 -{{/panel}}
73 +{{/noformat}}
74 74  
75 75  There's still a load module in /System/Library/WebObjects/Adaptors/Apache/apache.conf, but you can just ignore it ~-~- it produces a warning about being loaded twice.
76 76  
... ... @@ -78,19 +78,19 @@
78 78  
79 79  Here's an example mod//rewrite we use on one of our apps~://
80 80  
81 -{{panel}}
81 +{{code value="xml"}}
82 82  
83 - <IfModule mod_rewrite.c>
84 - RewriteEngine On
85 - RewriteRule ^/$ /page/HomePage [R]
86 - RewriteCond %{QUERY_STRING} ^appNum=([-0-9]+)(.*)$
87 - RewriteRule ^/page/(.*)$ /cgi-bin/WebObjects/AppName.woa/%1/wa/viewPage?pageName=$1%2 [L,PT]
88 - RewriteRule ^/page/(.*)$ /cgi-bin/WebObjects/AppName.woa/wa/viewPage?pageName=$1 [L,PT,QSA]
89 - </IfModule>
83 +<IfModule mod_rewrite.c>
84 + RewriteEngine On
85 + RewriteRule ^/$ /page/HomePage [R]
86 + RewriteCond %{QUERY_STRING} ^appNum=([-0-9]+)(.*)$
87 + RewriteRule ^/page/(.*)$ /cgi-bin/WebObjects/AppName.woa/%1/wa/viewPage?pageName=$1%2 [L,PT]
88 + RewriteRule ^/page/(.*)$ /cgi-bin/WebObjects/AppName.woa/wa/viewPage?pageName=$1 [L,PT,QSA]
89 +</IfModule>
90 90  
91 -{{/panel}}
91 +{{/code}}
92 92  
93 -The WOA produces URLs in the format http:~/~/site.com/page/HomePage?appNum=2, which turns into http:~/~/site.com/cgi-bin/WebObjects/AppName.woa/2/viewPage?pageName=HomePage.
93 +The WOA produces URLs in the format ##http:~/~/site.com/page/HomePage?appNum=2##, which turns into ##http:~/~/site.com/cgi-bin/WebObjects/AppName.woa/2/viewPage?pageName=HomePage##.
94 94  
95 95  == WebObjects Adaptor for Apache 2.2 ==
96 96  
... ... @@ -106,16 +106,16 @@
106 106  
107 107  The new default configuration is:
108 108  
109 -{{panel}}
109 +{{code value="xml"}}
110 110  
111 - <Directory />
112 - Options FollowSymLinks
113 - AllowOverride None
114 - Order deny,allow
115 - Deny from all
116 - </Directory>
111 +<Directory />
112 + Options FollowSymLinks
113 + AllowOverride None
114 + Order deny,allow
115 + Deny from all
116 +</Directory>
117 117  
118 -{{/panel}}
118 +{{/code}}
119 119  
120 120  Your options are to comment out the last 2 lines of that block, or to override them in a VirtualHost block. Just setting the usual Location block didn't seem to work for me.
121 121  
... ... @@ -139,15 +139,15 @@
139 139  
140 140  * Note: if you are getting the error
141 141  
142 -{{panel}}
142 +{{noformat}}
143 143  
144 - libtool: compile: unable to infer tagged configuration
145 - libtool: compile: specify a tag with `--tag'
146 - apxs:Error: Command failed with rc=65536
144 +libtool: compile: unable to infer tagged configuration
145 +libtool: compile: specify a tag with `--tag'
146 +apxs:Error: Command failed with rc=65536
147 147  
148 -{{/panel}}
148 +{{/noformat}}
149 149  
150 150  Add to the end of your make.config the following:
151 -CC = gcc
151 +##CC = gcc##
152 152  
153 153  Category:WebObjects