为了安装 Seafile 专业版服务器并使用亚马逊 S3,您需要:
boto
库。它可以用来访问 S3 服务。sudo easy_install boto
/etc/memcached.conf
# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
# -m 64
-m 128
编辑 /data/haiwen/conf/seafile.conf
文件
[commit_object_backend]
name = s3
# bucket 的名字只能使用小写字母,数字,短划线
bucket = my-commit-objects
key_id = your-key-id
key = your-secret-key
[fs_object_backend]
name = s3
# bucket 的名字只能使用小写字母,数字,短划线
bucket = my-fs-objects
key_id = your-key-id
key = your-secret-key
[block_backend]
name = s3
# bucket 的名字只能使用小写字母,数字,短划线
bucket = my-block-objects
key_id = your-key-id
key = your-secret-key
[memcached]
memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100
建议您为 commit,fs 和 block objects 分别创建 buckets。 key_id 和 key 用来提供 S3 的身份认证。您可以在您的 AWS 账户页面的"安全证书"段找到 key_id 和 key。
当您在 S3 上创建 buckets 时,请先阅读 S3 bucket 命名规则。注意, 尤其不要在 bucket 的名字中使用大写字母(不要使用骆驼式命名法,比如 MyCommitOjbects)。
为了获得最佳性能,强烈建议您安装 memcached 并且为 objects 启用 memcache。
自2014年一月起,新的 AWS 服务区只对 S3 提供版本 4 的认证签名协议支持。这包括中国区。
要在新的服务区使用 S3,在三个bucket(桶) "commit_object_backend", "fs_object_backend", "block_backend" 相关选项中加入一下额外的选项:
use_v4_signature = true
# eu-central-1 for Frankfurt region
aws_region = eu-central-1
如果您使用的S3是中国区或者德国区,还需要在每个bucket配置段下添加相应地区的host配置,例如中国北京区:
host = s3.cn-north-1.amazonaws.com.cn
为了让搜索等服务也能在新的 AWS 服务区工作,你还需要在 ~/.boto
文件中加入一下几行:
[s3]
use-sigv4 = True
从Pro 5.0.4开始,您可以使用HTTPS连接到S3。将以下选项添加到seafile.conf中:
[commit_object_backend]
name = s3
......
use_https = true
[fs_object_backend]
name = s3
......
use_https = true
[block_backend]
name = s3
......
use_https = true
因为服务器软件包是基于CentOS 6构建的,所以如果您使用的是Debian / Ubuntu,则必须将系统CA软件包复制到CentOS的CA软件包路径。否则,Seafile找不到CA捆绑软件,因此SSL连接将失败。
sudo mkdir -p /etc/pki/tls/certs
sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt
sudo ln -s /etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/cert.pem
目前已经有很多对象存储产品兼容 S3 的协议,比如 OpenStack Swift 和 Ceph 的 RGW。你可以通过以下配置使用 S3 兼容的对象存储:
[commit_object_backend]
name = s3
bucket = my-commit-objects
key_id = your-key-id
key = your-secret-key
host = 192.168.1.123:8080
path_style_request = true
[fs_object_backend]
name = s3
bucket = my-fs-objects
key_id = your-key-id
key = your-secret-key
host = 192.168.1.123:8080
path_style_request = true
[block_backend]
name = s3
bucket = my-block-objects
key_id = your-key-id
key = your-secret-key
host = 192.168.1.123:8080
path_style_request = true
[memcached]
memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100
host
是S3兼容服务的地址和端口。您不能在选项前添加“ http”或“ https” 。默认情况下,它将使用http连接。如果要使用https连接,请设置选项。hostuse_https = true
path_style_request
选项让 Seafile 使用形如 https://192.168.1.123:8080/bucketname/object
去访问对象。在亚马逊的 S3 服务中,默认的 URL 格式是虚拟主机格式,比如 https://bucketname.s3.amazonaws.com/object
。但是一般的对象存储并不支持这种格式。
Last modified by seafile-test, 2023-06-21