gpt4 book ai didi

wordpress - Ansible Ubuntu 安装 - 将 wordpress tar.gz 扩展到/var/www 的根目录

转载 作者:行者123 更新时间:2023-12-04 19:02:33 25 4
gpt4 key购买 nike

第一次使用 Ansible。我有一本在 Ubuntu Trusty 和 Nginx/MySQL 上设置 wordpress 的剧本。

我正在尝试提取 wordpress.latest.tar.gz 作为根 www 文件夹的一部分。所以我想要的是:

/var/www
- wp-admin
- wp-content
- wp-includes

当我将提取命令指向 /var/www我得到:
ok: [XXX.XX.XX.XXX] => {"changed": false, "msg": "skipped, since /var/www exists"}

当我指向 var/www/wordpress (不存在),它可以工作并创建文件夹。

我的任务语法(有效,但将 wordpress 放在自己的文件夹中)是:
- name: "Extract archive"
sudo: yes
unarchive: "src=/srv/wordpress.latest.tar.gz
dest=/var/www copy=no
owner=www-data
group=www-data
creates=/var/www/wordpress"

我已经尝试了下面的语法,但它跳过了上述描述的提取。
- name: "Extract archive"
sudo: yes
unarchive: "src=/srv/wordpress.latest.tar.gz
dest=/var/www copy=no
owner=www-data
group=www-data
creates=/var/www"

我误解了什么?谢谢!

最佳答案

在我回答之前有一些警告:

  • 我对你提到的工具没有经验
  • 下面的可选解决方案应该被认为是一种解决方法,它显然不是您问题的直接解决方案
  • 它们取决于您对命令行的信心以及您可以访问它的事实(因为它是 ubuntu 安装,我猜它是您自己的盒子)。

  • 实验

    但首先,让我们试一试。此选项不使用任何终端,仅适用于您拥有的工具,但我会在另一个目录中执行此操作,以确保您不会搞砸。

    我想如果你删除 creates=/var/www它可能对你有用。它可能失败的原因是因为目录已经在那里,所以它试图保证你的安全。既然你已经指定了目标目录,那就继续吧。

    要对其进行测试,您可以首先在 /var/www 下创建一个临时目录以便您拥有以下路径: /var/www/temp123 .

    然后使用以下选项创建您的剧本:
    - name: "Extract archive"
    sudo: yes
    unarchive: "src=/srv/wordpress.latest.tar.gz
    dest=/var/www/temp123 copy=no
    owner=www-data
    group=www-data
    creates=/var/www/temp123"

    如果你遇到同样的错误,我们就在正轨上。

    现在重新创建没有 creates 的剧本“play”(双关语),看起来像这样:
    - name: "Extract archive"
    sudo: yes
    unarchive: "src=/srv/wordpress.latest.tar.gz
    dest=/var/www/temp123 copy=no
    owner=www-data
    group=www-data"

    如果按预期工作,请继续,现在删除 dest: temp播放选项。

    您的最终游戏应如下所示:
    - name: "Extract archive"
    sudo: yes
    unarchive: "src=/srv/wordpress.latest.tar.gz
    dest=/var/www copy=no
    owner=www-data
    group=www-data"

    我希望这有帮助

    不要忘记删除所有临时工作。

    如果这不起作用,您可以随时尝试自己做:

    选项1:在子目录中创建并移动它
  • 像在子目录中一样安装它——在/var/www/{yourTempDirNameWithoutCurlyBraces}
  • 下定义一个不同的目录名
  • 在终端和该临时目录中:
    mv * ..
  • 然后您可以删除该目录

  • 选项2:从命令行安装

    如果服务器上已有文件,请更改为 /var/www目录和:
    tar -xzvpf /srv/wordpress.latest.tar.gz
    x - extract
    z - uncompress
    v - verbose (see the ouput—this flag is optional)
    p - preserve file permissions (see note)
    f - the file we're extracting

    note: I'm not sure what file permissions will be inside the archive
    but I would expect they're set for the webserver already.
    If they're not, you could always issue:

    chown -R www-data:www-data /var/www/

    警告重新整合:D

    在没有直接答案的情况下,我发布这个只是为了让你上路。同样,我没有使用过 Ansible,也不熟悉它。但是,如果您想脱离并尝试一下,自己安装 WordPress 并不是一项艰巨的任务。虽然我不知道 Ansible 提供的自动化程度,如果这样做对您的事业没有帮助,我会道歉

    祝你好运。

    关于wordpress - Ansible Ubuntu 安装 - 将 wordpress tar.gz 扩展到/var/www 的根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33716651/

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