Amazon S3バケットをONLYOFFICE Docsのキャッシュとして接続する
ONLYOFFICE DocsにAmazon S3バケットをキャッシュとして接続する手順を以下に示します。
-
AWS Management Consoleにサインインし、Amazon S3コンソールを開きます。バケットを作成ボタンをクリックし、ユニークなバケット名を指定してバケットを保存します。
-
今後は新しいIAMユーザーを作成することをお勧めします。
-
右上隅のユーザー名をクリックし、セキュリティ認証情報に移動します。アクセスキー(アクセスキーIDとシークレットアクセスキー)セクションを展開します。アクセスキーを作成ボタンをクリックします。表示された表で、アクセスキーフィールドのキーをコピーします。表示ボタンをクリックしてシークレットアクセスキーを表示し、コピーします。または、右下隅の .csvファイルをダウンロードボタンをクリックして、キーをハードドライブに保存します。

次に、アクセス管理セクションに移動し、バケットへのアクセスを許可します。ポリシーをクリックし、ポリシーを作成ボタンをクリックします。JSONタブに切り替え、以下のコードを追加します:
{"Version": "2012-10-17","Statement": [{"Sid": "Stmt1492520443000","Effect": "Allow","Action": ["s3:ListAllMyBuckets"],"Resource": ["arn:aws:s3:::*"]},{"Sid": "Stmt1492520492000","Effect": "Allow","Action": ["s3:GetBucketLocation","s3:ListBucket","s3:ListBucketMultipartUploads"],"Resource": "arn:aws:s3:::my-s3-bucketname"},{"Sid": "Stmt1492521245000","Effect": "Allow","Action": ["s3:AbortMultipartUpload","s3:GetObject","s3:ListBucket","s3:ListMultipartUploadParts","s3:PutObject","s3:PutObjectAcl"],"Resource": "arn:aws:s3:::my-s3-bucketname/*"}]}my-s3-bucketnameを実際のバケット名に置き換えてください。その後、残りの手順を完了して新しいポリシーを保存します。 -
Amazon S3コンソールで、バケット名をクリックします。アクセス許可を選択します。クロスオリジンリソース共有(CORS) セクションで、編集をクリックし、以下のコードを追加します:
[{"AllowedHeaders": ["*"],"AllowedMethods": ["GET","HEAD"],"AllowedOrigins": ["https://documentserver_address"],"ExposeHeaders": []}]https://documentserver_addressを実際のONLYOFFICE Docsアドレスに置き換えてください。設定を保存します。 -
ONLYOFFICE Docsの設定ファイルを開きます:
/etc/onlyoffice/documentserver/default.json注記default.jsonファイルのパラメータを変更すると、ONLYOFFICE Docsの更新やDockerコンテナの再起動後にすべての変更が失われます。更新後も変更を保持するには、/etc/onlyoffice/documentserver/local.jsonファイルを編集してください。バケットへの接続設定を追加します:
"storage": {"name": "storage-s3","region": "us-east-1","endpoint": "https://s3.us-east-1.amazonaws.com/","bucketName": "my-s3-bucketname","storageFolderName": "files","urlExpires": 604800,"accessKeyId": "***","secretAccessKey": "***","sslEnabled": true,"s3ForcePathStyle": false,"externalHost": "","useDirectStorageUrls": false},実際のバケット名、アクセスキーID、およびシークレットアクセスキーを指定してください。変更を保存します。
-
ONLYOFFICE Docsのサービスを再起動します:
DEB/RPM:
systemctl restart ds-converter ds-docserviceDocker:
sudo docker exec <CONTAINER_ID> supervisorctl restart ds:converter ds:docserviceWindows PowerShell:
Restart-Service DsConverterSvc, DsDocServiceSvc