Here's how I think this should work:
- assume apache2 and libapache2-mod-fcgid (or whatever) debs are always installed (hopefully configured not to start, but that's just RAM, doesn't affect the tests)
- on the client.N machines told to run rgw on, write /tmp/cephtest/apache/apache.conf that's something like this
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
LoadModule fcgid_module /usr/lib/apache2/modules/mod_fcgid.so
Listen 7280
ServerName rgwtest.example.com
ServerRoot /tmp/cephtest/apache
ErrorLog /tmp/cephtest/archive/apache/error.log
LogFormat "%h l %u %t \"%r\" %>s %b \"{Referer}i\" \"%{User-agent}i\"" combined
CustomLog /tmp/cephtest/archive/apache/access.log combined
PidFile apache.pid
DocumentRoot htdocs
FcgidProcessTableFile fcgid_shm
FcgidIPCDir fcgid_sock
RewriteEngine On
RewriteRule ^/([a-zA-Z0-9-_.]*)([/]?.*) /s3gw.fcgi?page=$1¶ms=$2&%{QUERY_STRING} [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
<Directory /tmp/cephtest/apache/htdocs>
Options +ExecCGI
AllowOverride All
SetHandler fcgid-script
FcgidWrapper "/tmp/cephtest/binary/usr/local/bin/radosgw -c /tmp/cephtest/ceph.conf" .fcgi virtual
</Directory>
AllowEncodedSlashes On
- run apache something like this: apache2 -X -f /tmp/cephtest/apache/apache.conf