Installing & Configuring Webware on CentOS 5

Date: Nov. 1, 2007
OS: CentOS release 5 (Final)
Webserver: Apache 2.2.3
Python: Python 2.4.3
Webware: 0.9.4

Configure CentOS Security Level
I don't know all the details of why, but I had to configure my CentOS box as shown here for things to work properly after system boot-up. Start by running system-config-securitylevel. Allow connections to SSH (optional), HTTP, HTTPS (optional). Set "Security Level" to Enabled. Set "SELinux" to Permissive.

Install Apache Packages
Webware/WebKit installation requires:
[root@box ~]# yum install httpd
[root@box ~]# yum install httpd-devel

Install Webware
I decided to install the Webware stuff in /usr/local.
[root@box ~]# cd /usr/local
[root@box local]# tar xzf Webware-0.9.4.tar.gz 
[root@box local]# rm Webware-0.9.4.tar.gz 
[root@box local]# cd Webware-0.9.4/
[root@box Webware-0.9.4]# python install.py --no-password-prompt

Create and activate the runtime directory.

[root@box Webware-0.9.4]# cd bin
[root@box bin]# ./MakeAppWorkDir.py /usr/local/wwrun

Install mod_webkit2
Install the Apache-native module. First, view Makefile to ensure the proper path to apxs.
[root@box bin]# cd ../WebKit/Adapters/mod_webkit2/
[root@box mod_webkit2]# less Makefile
Make sure that:
APXS=/usr/sbin/apxs
Change the path if necessary (do 'which apxs' to find the path).
[root@box mod_webkit2]# make
[root@box mod_webkit2]# make install

Configure Apache
[root@box mod_webkit2]# cd /etc/httpd/conf.d
[root@box conf.d]# vi webkit.conf
This is the whole file:
LoadModule webkit_module modules/mod_webkit.so
<Location /wk>
    WKServer localhost 8086
    SetHandler webkit-handler
</Location>
Note that you will change 'wk' in the Location directive to whatever you'd like to appear in your URLs.

Start Webkit on Boot
[root@box conf.d]# cd /etc/init.d
[root@box init.d]# ln -s /usr/local/wwrun/webkit webkit
[root@box init.d]# chkconfig --add webkit
For some reason, I also had to:
[root@box init.d]# chkconfig --levels 2345 httpd on
chkconfig --list showed that httpd was turned off for all runlevels.

Test Everything
[root@box init.d]# reboot
Then open up a browser and hit http://box/wk/ ... or use the proper URL as specified in your /etc/httpd/conf.d/webkit.conf Location directive.