RADOSGW(8)

NAME
radosgw - rados REST gateway

SYNOPSIS
radosgw

DESCRIPTION

radosgw is an HTTP REST gateway for the RADOS object store, a part of the Ceph distributed storage system. It is implemented as a FastCGI module using libfcgi, and can be used in conjunction with any FastCGI capable web server.

OPTIONS

-c ceph.conf, --conf=ceph.conf
    Use ceph.conf configuration file instead of the default /etc/ceph/ceph.conf to determine monitor addresses during startup.

-m monaddress[:port]
    Connect to specified monitor (instead of looking through ceph.conf).

--rgw-socket-path=path
    Specify a unix domain socket path.

CONFIGURATION

Currently it's the easiest to use the RADOS Gateway with Apache and mod_fastcgi:

FastCgiExternalServer /var/www/s3gw.fcgi -socket /tmp/radosgw.sock
<VirtualHost *:80>
  ServerName rgw.example1.com
  ServerAlias rgw
  ServerAdmin webmaster@example1.com
  DocumentRoot /var/www
  RewriteEngine On
  RewriteRule ^/([a-zA-Z0-9-_.]*)([/]?.*) /s3gw.fcgi?page=$1&params=$2&%{QUERY_STRING} [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
  <IfModule mod_fastcgi.c>
    <Directory /var/www>
      Options +ExecCGI
      AllowOverride All
      SetHandler fastcgi-script
      Order allow,deny
      Allow from all
      AuthBasicAuthoritative Off
    </Directory>
  </IfModule>
  AllowEncodedSlashes On
  ServerSignature Off
</VirtualHost>

And the corresponding radosgw script (/var/www/s3gw.fcgi):

#!/bin/sh
exec /usr/bin/radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway

The radosgw daemon is a standalone process which needs a configuration section in the ceph.conf The section name should start with 'client.radosgw.' as specified in /etc/init.d/radosgw:

[client.radosgw.gateway]
    host = gateway
    keyring = /etc/ceph/keyring.radosgw.gateway
    rgw socket path = /tmp/radosgw.sock

You will also have to generate a key for the radosgw to use for authentication with the cluster:

ceph-authtool -C -n client.radosgw.gateway --gen-key /etc/ceph/keyring.radosgw.gateway
ceph-authtool -n client.radosgw.gateway --cap mon 'allow r' --cap osd 'allow rwx' --cap mds 'allow' /etc/ceph/keyring.radosgw.gateway

And add the key to the auth entries:

ceph auth add client.radosgw.gateway --in-file=keyring.radosgw.gateway

Now you can start Apache and the radosgw daemon:

/etc/init.d/apache2 start
/etc/init.d/radosgw start

AVAILABILITY

radosgw is part of the Ceph distributed file system. Please refer to the Ceph wiki at http://ceph.newdream.net/wiki for more information.

SEE ALSO

ceph(8)

COPYRIGHT
2011, New Dream Network