ceph/doc/start/quick-rgw.rst

102 lines
3.8 KiB
ReStructuredText

===============================
Ceph Object Gateway Quick Start
===============================
As of `firefly` (v0.80), Ceph Storage dramatically simplifies installing and
configuring a Ceph Object Gateway. The Gateway daemon embeds Civetweb, so you
do not have to install a web server or configure FastCGI. Additionally,
``ceph-deploy`` can install the gateway package, generate a key, configure a
data directory and create a gateway instance for you.
.. tip:: Civetweb uses port ``7480`` by default. You must either open port
``7480``, or set the port to a preferred port (e.g., port ``80``) in your Ceph
configuration file.
To start a Ceph Object Gateway, follow the steps below:
Installing Ceph Object Gateway
==============================
#. Execute the pre-installation steps on your ``client-node``. If you intend to
use Civetweb's default port ``7480``, you must open it using either
``firewall-cmd`` or ``iptables``. See `Preflight Checklist`_ for more
information.
#. From the working directory of your administration server, install the Ceph
Object Gateway package on the ``client-node`` node. For example::
ceph-deploy install --rgw <client-node> [<client-node> ...]
Creating the Ceph Object Gateway Instance
=========================================
From the working directory of your administration server, create an instance of
the Ceph Object Gateway on the ``client-node``. For example::
ceph-deploy rgw create <client-node>
Once the gateway is running, you should be able to access it on port ``7480``.
(e.g., ``http://client-node:7480``).
Configuring the Ceph Object Gateway Instance
============================================
#. To change the default port (e.g., to port ``80``), modify your Ceph
configuration file. Add a section entitled ``[client.rgw.<client-node>]``,
replacing ``<client-node>`` with the short node name of your Ceph client
node (i.e., ``hostname -s``). For example, if your node name is
``client-node``, add a section like this after the ``[global]`` section::
[client.rgw.client-node]
rgw_frontends = "civetweb port=80"
.. note:: Ensure that you leave no whitespace between ``port=<port-number>``
in the ``rgw_frontends`` key/value pair.
.. important:: If you intend to use port 80, make sure that the Apache
server is not running otherwise it will conflict with Civetweb. We recommend
to remove Apache in this case.
#. To make the new port setting take effect, restart the Ceph Object Gateway.
On Red Hat Enterprise Linux 7 and Fedora, run the following command::
sudo systemctl restart ceph-radosgw.service
On Red Hat Enterprise Linux 6 and Ubuntu, run the following command::
sudo service radosgw restart id=rgw.<short-hostname>
#. Finally, check to ensure that the port you selected is open on the node's
firewall (e.g., port ``80``). If it is not open, add the port and reload the
firewall configuration. For example::
sudo firewall-cmd --list-all
sudo firewall-cmd --zone=public --add-port 80/tcp --permanent
sudo firewall-cmd --reload
See `Preflight Checklist`_ for more information on configuring firewall with
``firewall-cmd`` or ``iptables``.
You should be able to make an unauthenticated request, and receive a
response. For example, a request with no parameters like this::
http://<client-node>:80
Should result in a response like this::
<?xml version="1.0" encoding="UTF-8"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Owner>
<ID>anonymous</ID>
<DisplayName></DisplayName>
</Owner>
<Buckets>
</Buckets>
</ListAllMyBucketsResult>
See the `Configuring Ceph Object Gateway`_ guide for additional administration
and API details.
.. _Configuring Ceph Object Gateway: ../../radosgw/config-ref
.. _Preflight Checklist: ../quick-start-preflight