Перейти к основному содержимому

Подключение бакета Amazon S3 в качестве кэша к ONLYOFFICE Docs

Выполните следующие действия, чтобы подключить бакет Amazon S3 в качестве кэша для ONLYOFFICE Docs.

  1. Войдите в AWS Management Console и откройте консоль Amazon S3. Нажмите кнопку Create bucket. Укажите уникальное имя бакета и сохраните бакет.

  2. Рекомендуем в дальнейшем создать нового пользователя IAM.

  3. Нажмите на имя пользователя в правом верхнем углу и перейдите в раздел Security credentials. Разверните раздел Access keys (access key ID and secret access key). Нажмите кнопку Create Access Key. В открывшейся таблице скопируйте ключ из поля Access key. Нажмите кнопку Show, чтобы отобразить Secret access key, и скопируйте его. Также можно нажать кнопку Download .csv file в правом нижнем углу, чтобы сохранить ключи на жесткий диск.

    ONLYOFFICE Docs - Amazon

    Затем перейдите в раздел Access management и разрешите доступ к бакету. Нажмите Policies, затем нажмите кнопку Create Policy. Перейдите на вкладку 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 фактическим именем своего бакета. Затем выполните оставшиеся шаги, чтобы сохранить новую политику.

  4. В консоли Amazon S3 нажмите на имя своего бакета. Выберите Permissions. В разделе Cross-origin resource sharing (CORS) нажмите Edit и добавьте следующий код:

    [
    {
    "AllowedHeaders": [
    "*"
    ],
    "AllowedMethods": [
    "GET",
    "HEAD"
    ],
    "AllowedOrigins": [
    "https://documentserver_address"
    ],
    "ExposeHeaders": []
    }
    ]

    Замените https://documentserver_address фактическим адресом своего ONLYOFFICE Docs. Сохраните настройки.

  5. Откройте файл конфигурации 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
    },

    Укажите фактическое имя бакета, Access Key ID и Secret Access Key. Сохраните изменения.

  6. Перезапустите службы ONLYOFFICE Docs:

    DEB/RPM:

    systemctl restart ds-converter ds-docservice

    Docker:

    sudo docker exec <CONTAINER_ID> supervisorctl restart ds:converter ds:docservice

    Windows PowerShell:

    Restart-Service DsConverterSvc, DsDocServiceSvc