Wiki source code of Compiling the HTTP adaptor on Linux
Last modified by Bastian Triller on 2013/05/21 17:09
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | ==== Compiling the HTTP adaptor ==== | ||
2 | |||
3 | If no pre-built binaries exist for your platform or your version of Apache httpd, follow those instructions: | ||
4 | |||
5 | Get the source of the module (adaptor) from Wonder. You only need the Adaptors (and its subfolders) folder. | ||
6 | |||
7 | {{code}} | ||
8 | |||
9 | wget https://github.com/wocommunity/wonder/tarball/master | ||
10 | OR | ||
11 | curl -C - -O https://github.com/wocommunity/wonder/tarball/master | ||
12 | |||
13 | {{/code}} | ||
14 | |||
15 | Edit //make.config// and change the value of //ADAPTOR_OS// to //LINUX//. (this can be found in Adaptors directory (JS)) (Adaptors directory is now under %PATH_OF_UNZIPPED_SOURCE%/Utilities ) | ||
16 | |||
17 | If using modern Ubuntu (and OpenSuse 11.1 too) releases, you'll find that srandom is missing, so as mentioned on the list (JL) : | ||
18 | |||
19 | {{code}} | ||
20 | |||
21 | At line 46 in Adaptor/random.c, just remove the check for WIN32, and use the initialisation | ||
22 | code in that block. That is, change this: | ||
23 | |||
24 | #if defined(WIN32) | ||
25 | time_t now; | ||
26 | time(&now); | ||
27 | srand(now); | ||
28 | #else | ||
29 | srandomdev(); | ||
30 | #endif | ||
31 | |||
32 | to this: | ||
33 | |||
34 | time_t now; | ||
35 | time(&now); | ||
36 | srand(now); | ||
37 | |||
38 | {{/code}} | ||
39 | |||
40 | Go to the ApacheXX folder that match your Apache version. In my case, I'm using Apache 2.2 built from source and installed in ///usr/local/apache//. | ||
41 | |||
42 | In another case I ran 'make CC=gcc' in the Adaptors directory then moved to the Apache2.2 directory. (JS) | ||
43 | |||
44 | {{code}} | ||
45 | |||
46 | [root@ Adaptors]# make CC=gcc | ||
47 | [root@ Adaptors]# cd Apache2.2/ | ||
48 | [root@ Apache2.2]# apxs -i -a -n WebObjects mod_WebObjects.la | ||
49 | [root@ Apache2.2]# cp -rp /opt/Local/Library/WebServer/Documents/WebObjects /usr/local/apache/htdocs | ||
50 | [root@ Apache2.2]# cp apache.conf /usr/local/apache/conf/extra/webobjects.conf | ||
51 | |||
52 | {{/code}} | ||
53 | |||
54 | In OpenSuse 11.1, using Yast, you need to install the apache_devel, in order to get apxs2. I needed to create a symlink called apxs, pointing to apxs2, in order to run the make correctly. | ||
55 | |||
56 | {{code}} | ||
57 | ln -s /usr/sbin/apxs2 /usr/sbin/apxs | ||
58 | {{/code}} |