Skip to content

Commit

Permalink
doc: Updated RGW Quickstart.
Browse files Browse the repository at this point in the history
Signed-off-by: John Wilkins <[email protected]>
  • Loading branch information
John Wilkins committed May 25, 2013
1 parent e59897c commit 6f93541
Showing 1 changed file with 81 additions and 55 deletions.
136 changes: 81 additions & 55 deletions doc/start/quick-rgw.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,19 @@
Object Storage Quick Start
============================

To use this guide, you must have executed the procedures in the `5-minute
Quick Start`_ guide first.
To use this guide, you must have executed the procedures in the `Ceph Deploy
Quick Start`_ guide first. Ensure your :term:`Ceph Storage Cluster` is in an
``active + clean`` state before working with the :term:`Ceph Object Storage`.

.. note:: Ceph Object Storage is also referred to as RADOS Gateway.


Install Apache and FastCGI
==========================

The Ceph object storage gateway runs on Apache and FastCGI.
Install them on the server machine. Use the following procedure:
:term:`Ceph Object Storage` runs on Apache and FastCGI in conjunction with the
:term:`Ceph Storage Cluster`. Install Apache and FastCGI on the server node. Use
the following procedure:

#. Install Apache and FastCGI on the server machine. ::

Expand All @@ -21,35 +25,46 @@ Install them on the server machine. Use the following procedure:
sudo a2enmod rewrite
sudo a2enmod fastcgi

#. Add a line for the ``ServerName`` in the ``/etc/apache2/httpd.conf`` file.
Provide the fully qualified domain name of the server machine. ::
#. Add a line for the ``ServerName`` in the Apache configuration file
(e.g., ``/etc/apache2/httpd.conf`` or ``/etc/apache2/apache2.conf).
Provide the fully qualified domain name of the server machine
(e.g., ``hostname -f``). ::

ServerName {fqdn}
ServerName {fqdn}

#. Restart Apache so that the foregoing changes take effect. ::

sudo service apache2 restart

Install RADOS Gateway
=====================
Install Ceph Object Storage
===========================

Once you have installed and configured Apache and FastCGI, you may install
Ceph's RADOS Gateway. ::
Ceph Object Storage. ::

sudo apt-get install radosgw

For details on the preceding steps, see `RADOS Gateway Manual Install`_.
For details on the preceding steps, see `Ceph Object Storage Manual Install`_.


Create a Data Directory
=======================

Create a data directory on the server node for the instance of ``radosgw``.

::

sudo mkdir -p /var/lib/ceph/radosgw/ceph-radosgw.gateway


Modify the Ceph Configuration File
==================================

On the server machine, perform the following steps:
On the admin node, perform the following steps:

#. Open the Ceph configuration file. ::

cd /etc/ceph
vim ceph.conf

#. Add the following settings to the Ceph configuration file::
Expand All @@ -59,34 +74,25 @@ On the server machine, perform the following steps:
keyring = /etc/ceph/keyring.radosgw.gateway
rgw socket path = /tmp/radosgw.sock
log file = /var/log/ceph/radosgw.log

#Add DNS hostname to enable S3 subdomain calls
rgw dns name = {hostname}

#. Go to the client machine and copy the configuration file from the server
machine to ``/etc/ceph/ceph.conf`` on your client machine. ::

sudo scp {user}@{cluster-machine}:/etc/ceph/ceph.conf /etc/ceph/ceph.conf

.. tip:: Ensure the ``ceph.conf`` file has appropriate permissions set
(e.g. ``chmod 644``) on your client machine.


Create a Data Directory
=======================

Create a data directory on the cluster server for the instance of ``radosgw``.
#. Use ``ceph-deploy`` to push a copy the configuration file from the admin
node to the server node. ::

::
ceph-deploy --overwrite-conf config push {hostname}

sudo mkdir -p /var/lib/ceph/radosgw/ceph-radosgw.gateway


Create a Gateway Configuration File
===================================

The example configuration file will configure the gateway to operate with the
Apache FastCGI module, a rewrite rule for OpenStack Swift, and paths for the log
files. To add a configuration file for the Ceph Gateway, we suggest copying the
contents of the example file below to an editor. Then, follow the steps below to
modify it.
The example configuration file will configure the gateway on the server node to
operate with the Apache FastCGI module, a rewrite rule for OpenStack Swift, and
paths for the log files. To add a configuration file for Ceph Object Storage,
we suggest copying the contents of the example file below to an editor. Then,
follow the steps below to modify it (on your server node).

.. literalinclude:: rgw.conf
:language: ini
Expand Down Expand Up @@ -115,7 +121,7 @@ Add a FastCGI Script
====================

FastCGI requires a script for the S3-compatible interface. To create the
script, execute the following procedures on the server machine.
script, execute the following procedures on the server node.

#. Go to the ``/var/www`` directory. ::

Expand All @@ -142,19 +148,55 @@ Generate a Keyring and Key

Perform the following steps on the server machine.

#. Create a keyring for the RADOS Gateway. ::
#. Ensure the server node is set up with administrator privileges. From
the admin node, execute the following::

ceph-deploy admin {hostname}

#. Create a keyring for Ceph Object Storage. ::

sudo ceph-authtool --create-keyring /etc/ceph/keyring.radosgw.gateway
sudo chmod +r /etc/ceph/keyring.radosgw.gateway

#. Create a key for the RADOS Gateway to authenticate with the cluster. ::
#. Create a key for Ceph Object Storage to authenticate with the Ceph Storage
Cluster. ::

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

#. Add the key to the Ceph keyring. ::

sudo ceph -k /etc/ceph/ceph.keyring auth add client.radosgw.gateway -i /etc/ceph/keyring.radosgw.gateway
sudo ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.gateway -i /etc/ceph/keyring.radosgw.gateway


Enable SSL
==========

Some REST clients use HTTPS by default. So you should consider enabling SSL
for Apache on the server machine. ::

sudo a2enmod ssl

Once you enable SSL, you should generate an SSL certificate. ::

sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Then, restart Apache. ::

service apache2 restart


Restart Services
================

To ensure that all components have reloaded their configurations,
we recommend restarting your ``ceph`` and ``apaches`` services. Then,
start up the ``radosgw`` service. For example::

sudo service ceph restart
sudo service apache2 restart
sudo /etc/init.d/radosgw start


Create a User
Expand Down Expand Up @@ -254,25 +296,9 @@ RGW's ``user:subuser`` tuple maps to the ``tenant:user`` tuple expected by Swift
`RGW Configuration`_ for Keystone integration details.


Enable SSL
==========

Some REST clients use HTTPS by default. So you should consider enabling SSL
for Apache on the server machine. ::

sudo a2enmod ssl

Once you enable SSL, you should generate an SSL certificate. ::

sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Then, restart Apache. ::

service apache2 restart


.. _Create rgw.conf: ../../radosgw/config/index.html#create-rgw-conf
.. _5-minute Quick Start: ../quick-start
.. _RADOS Gateway Manual Install: ../../radosgw/manual-install
.. _Ceph Deploy Quick Start: ../quick-ceph-deploy
.. _Ceph Object Storage Manual Install: ../../radosgw/manual-install
.. _RGW Configuration: ../../radosgw/config

0 comments on commit 6f93541

Please sign in to comment.