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}} |