File Gateway does not write user files to the S3 bucket.

0

"I have an Ubuntu installation with WordPress, an S3 bucket, and a File Gateway. I connect the File Gateway to the S3 bucket and mount the S3 bucket through the File Gateway. The mounted directory works normally for the 'nobody' user. However, when I try to write files from WordPress to the upload directory, it doesn't allow me. I can't change the owner on the bucket, so the Apache user can't write to S3. How should I set this up?"

Janos
已提问 3 个月前190 查看次数
2 回答
0

To set up WordPress to write files to the S3 bucket through the File Gateway, you need to ensure the Apache user has permissions.

Please check the following:

  • Verify the IAM role used by the File Gateway has the necessary permissions to access the S3 bucket, such as s3:PutObject.
  • Check that the mounted directory permissions allow the Apache user to write files. You may need to change ownership of files/folders to the Apache user.
sudo chown -R apache:apache /path/to/mounted/directory
  • Consider using a group that both the Apache user and File Gateway IAM role belong to for shared access to files.
  • As an alternative, you can write files to a local directory first then sync to S3 later using a cron job or tool like rsync as the File Gateway IAM role.
profile picture
专家
已回答 3 个月前
  • We have an Ubuntu instance running WordPress using AWS File Gateway. We have an S3 bucket mounted, and communication works. We can read and write files from S3 within the local filesystem using the mount. We created a symlink to the WordPress uploads directory. We can read data without problems.

    The problem occurs when we want to write a file to S3. We don't know if S3 or File Gateway is rejecting it. We were unable to write the files under the Apache web-data user to S3.

    Therefore, we agreed to create a script that will write the file to a local directory and then send it to the mounted S3 directory using the classic copy command.

    We need to solve the problem that WordPress also reads from this directory. So, we need some kind of conditional redirection for storing files to the local directory with the web-data owner for storing data in the upload directory. After the file is written, copy will be run on the S3 bucket, i.e. on its local mount, and after copying, it will be deleted in the local directory.

    And it will be preserved in the directory - the symbolic link uploads, where reading works without problems. So the problem is to convince WordPress to store files in a different directory and read them from a different directory.

0

We have an Ubuntu instance running WordPress using AWS File Gateway. We have an S3 bucket mounted, and communication works. We can read and write files from S3 within the local filesystem using the mount. We created a symlink to the WordPress uploads directory. We can read data without problems.

The problem occurs when we want to write a file to S3. We don't know if S3 or File Gateway is rejecting it. We were unable to write the files under the Apache web-data user to S3.

Therefore, we agreed to create a script that will write the file to a local directory and then send it to the mounted S3 directory using the classic copy command.

We need to solve the problem that WordPress also reads from this directory. So, we need some kind of conditional redirection for storing files to the local directory with the web-data owner for storing data in the upload directory. After the file is written, copy will be run on the S3 bucket, i.e. on its local mount, and after copying, it will be deleted in the local directory.

And it will be preserved in the directory - the symbolic link uploads, where reading works without problems. So the problem is to convince WordPress to store files in a different directory and read them from a different directory.

Janos
已回答 2 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则

相关内容