gpt4 book ai didi

amazon-web-services - 如何在 Elastic Beanstalk 服务器上创建文件夹以使用 AcmePHP 安装 LetsEncrypt SSL 证书

转载 作者:行者123 更新时间:2023-12-04 08:04:39 28 4
gpt4 key购买 nike

我有一个在 Elastic Beanstalk 单实例服务器上运行的站点,我想使用 AcmePHP 库从 LetsEncrypt 添加自动 SSL 证书生成。

库尝试将证书存储在 ~/.acmephp 中,服务器响应错误

Failed to create "/home/webapp/.acmephp": mkdir(): Permission denied.

acmephp 库没有更改内置路径的选项,我希望能够将文件存储在默认目录中,而不是 fork 并重新编译脚本。

有谁知道我如何才能授予应用程序在 Web 根目录之外创建此目录的权限,或者如何让服务器自动创建它并让应用程序可以使用它?

最佳答案

看起来因为它是由 webapp 用户运行的,所以当 acmePHP 试图将证书存储在该用户的主目录下时,它失败了,因为该目录不存在(afaik 只有 webapp 用户运行 httpd 并且它绝对没有主目录)。

一个非常肮脏的解决方法可能是在 .项目中的 ebextensions 文件夹。该文件将是 .ebextensions/create_home.config 并且它将包含如下内容:

files:
"/tmp/create-home.sh" :
mode: "000755"
content: |
#!/usr/bin/env bash
mkdir -p /home/webapp
chown webapp:webapp -R /home/webapp

commands:
01_create:
command: "/tmp/create-home.sh"

该脚本由 root 用户运行,之后它将 /home/webapp 文件夹的所有权更改为 webapp 用户,并且分别分组。希望对你有帮助

关于amazon-web-services - 如何在 Elastic Beanstalk 服务器上创建文件夹以使用 AcmePHP 安装 LetsEncrypt SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55536873/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com