install swift centos6.2

Install

対象環境

全て完璧そのままではないかもしれないが、以下の環境でなんとなく構築できる。

  • Amazon Linux AMI 2012.03 64bit
  • Centos 6.2 64bit
  • Ununtu 12.04 server 64bit
    (何かがうまくいかなかった気がするが思い出せない。。。

epelの追加(centos 6.2)

amazon linuxの場合既に追加済みなので、/etc/yum.repos.d/epel.repo を編集して、enabled=1とする。

CentOS 外部レポジトリの追加(EPEL)

sudo vim /etc/yum.repos.d/CentOS-Base.repo

sudo vim /etc/yum.repos.d/epel.repo

install swift

SAIO – Swift All In One — Swift 1.4.9-dev documentation

rootで実行する。

Using a loopback device for storage

Swiftテスト用のディスクとしてファイルを作る。

swift settings

認証はtempauthを利用する。

tempauthでは以下の書式でユーザーを管理する。

特別なグループとして以下が定義されている。

.reseller_admin:
.admin:

proxy-server.conf

client setup

setting up scripts for running Swift

service start

test1

test swift client

こっちのがらくらく。

Usage: swift <command> [options] [args]

service enable

とりあえずはONにしない。

https

swift で HTTPS ! | ちからの備忘録的日記

  • proxy-server.confにcert_fileとkey_fileを追加する。
  • bind_portは8080でもいいけど、443にしてみる。

vi /etc/swift/proxy-server.conf

curl でテストするときは -k をつけてSSLの正当性を確認しないようにする。

GUIでswiftにアクセスする。cyberduck

cyberduck で swift ライフ満喫!したかった・・・ | ちからの備忘録的日記

cyberduckで接続できるみたいなので試したところできました。

ただし、Win,Macともに設定ファイルを書き換える必要があります。

help/en/howto/openstack – Cyberduck

swauthの場合と違い、レスポンスに含まれるURLはtempauthの設定の最後のstorage_urlになるっぽい。何も書かないと127.0.0.1で返しているのかも。

macのcyberduck

~/Library/Preferences/ch.sudo.cyberduck.plist に以下を追加

そうすると、認証でエラーになっていたのが、一回エラーにはなるけど接続できるようになった。

windowsのcyberduck

各環境ごとにファイルの位置が違うけども、

  • Windows 7. C:Users[username]AppDataRoamingCyberduck
  • Windows Vista. C:Users[username]AppDataRoamingCyberduck
  • Windows XP: C:Documents and Settings[username]Local SettingsApplication DataCyberduck

どれかを開いて以下を追加する。

cyberduck参考

以下のhowtoを見ると、macの場合は

と、Terminalから実行すればよさそう。だけど、なんか怖いのでやってない。

bind_ip

他のホストからアクセスしたい場合。

/etc/swift/proxy-server.conf

ただし、

という設定になってるとswiftコマンドでうまく接続できない。
tcdumpでみると

ということは、なんかしてるの?

操作

一覧を表示

権限の変更

まず前提として以下の設定とする。

tempauthの権限設定

そして、入力が面倒なのでデフォルトはvol01:adminとしてswiftコマンドを簡単に使う。

container01を作成する。
* .r:*
* .rlistings
* group01にcontainer01の読み込み権限に設定する。(これよくわかってない)

確認

確認

  • write-aclについてはいまいちよくわかっていない。この設定ではuser01で書き込みできない。
  • .adminが書ければ十分だけど、設定がいまいちわからない。
  • それよりも.rlistingsを付与しないとlistできないのだが、記述が少なすぎてぴよる。

メモ
* listings