1) 部署Ceph-Nautilus版本,并完成Ceph Object Gateway的实现及通过测试
2) 部署IPA Server,并创建至少一个IPA 账户
3) 创建使用bucket的账户
[root@srv1 ~]# yum install python-boto -y
[root@srv1 ~]# radosgw-admin user create --uid=snow --display-name="snow chuai" --email=admin@srv5.1000y.cloud
{
"user_id": "snowchuai",
"display_name": "Snow Chuai",
"email": "snow@1000y.cloud",
"suspended": 0,
"max_buckets": 1000,
"subusers": [],
"keys": [
{
"user": "snowchuai",
"access_key": "30HYLAB0X7UCXMAWRRZX",
"secret_key": "XldbFTsRy2uZkYs5heRIOHDRGZGxtqABX4LrPrkC"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"default_placement": "",
"default_storage_class": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"temp_url_keys": [],
"type": "rgw",
"mfa_ids": []
}
4) 创建bucket
[root@srv1 ~]# vim s3-create-bucket.py
import sys
import boto
import boto.s3.connection
# 此处为创建用户时的accss_key及secret_key
ACCESS_KEY = '30HYLAB0X7UCXMAWRRZX'
SECRET_KEY = 'XldbFTsRy2uZkYs5heRIOHDRGZGxtqABX4LrPrkC'
HOST = 'srv5.1000y.cloud'
PORT = 7480
conn = boto.connect_s3(
aws_access_key_id = ACCESS_KEY,
aws_secret_access_key = SECRET_KEY,
port = PORT,
host = HOST,
is_secure = False,
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.create_bucket('snow-new-bucket')
for bucket in conn.get_all_buckets():
print "{name}\t{created}".format(
name = bucket.name,
created = bucket.creation_date,
)
[root@srv1 ~]# python s3-create-bucket.py
snow-test 2020-12-05T04:14:08.914Z
5) 结合IPA Server[ldap协议:389/tcp]账户登录NextCloud---[ldaps协议:636/tcp请参看第8小节]





确认LDAP的相关信息及账户信息
[root@srv5 ~]# ldapsearch -x -b "dc=1000y,dc=cloud" | grep uid=thomas
dn: uid=thomas,cn=users,cn=compat,dc=1000y,dc=cloud
dn: uid=thomas,cn=users,cn=accounts,dc=1000y,dc=cloud
mepManagedBy: uid=thomas,cn=users,cn=accounts,dc=1000y,dc=cloud









6) 配置NextCloud---实现ceph后端存储
[浏览器]==>http://netdisk.1000cc.net/nextcloud










7) 配置NextCloud---确认文件上传成功
(1) 确认当前的bucket
[root@srv1 ~]# radosgw-admin bucket list
[
"snow-new-bucket"
]
(2) 确认文件上传成功
[root@srv1 ~]# radosgw-admin bucket list --bucket=snow-new-bucket | grep test.txt
"name": "_multipart_test.txt.2~cd5ATUeBAV8-BFtJwgtzv6-V5U8InMR.meta",
"name": "test.txt",
8) 结合IPA Server[ldaps协议:636/tcp]账户登录NextCloud---[ldap协议:389/tcp请参看第5小节]
(1) 设定NextCloud服务端[srv6]的ldap.conf,以支持证书
[root@srv6 ~]# vim /etc/openldap/ldap.conf
# 于文件最底部追加如下内容
......
......
TLS_REQCERT never
[root@srv6 ~]# systemctl restart httpd24-httpd
(2) 设定NextCloud





确认LDAP的相关信息及账户信息
[root@srv5 ~]# ldapsearch -x -b "dc=1000y,dc=cloud" | grep uid=thomas
dn: uid=thomas,cn=users,cn=compat,dc=1000y,dc=cloud
dn: uid=thomas,cn=users,cn=accounts,dc=1000y,dc=cloud
mepManagedBy: uid=thomas,cn=users,cn=accounts,dc=1000y,dc=cloud







|