【问题标题】:Ansible Ubuntu installation - expand wordpress tar.gz to root of /var/wwwAnsible Ubuntu 安装 - 将 wordpress tar.gz 扩展到 /var/www 的根目录
【发布时间】:2016-02-16 10:42:08
【问题描述】:

第一次使用 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"

我误解了什么?谢谢!

【问题讨论】:

    标签: wordpress ubuntu ansible extraction


    【解决方案1】:

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

    • 我对你提到的工具没有经验
    • 下面的可选解决方案应该被视为一种解决方法,它显然不能直接解决您的问题
    • 它们取决于您对命令行的信心以及您可以访问它的事实(因为它是 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 提供的自动化程度,如果这样做对您的事业没有帮助,我会道歉

    祝你好运。

    【讨论】:

      【解决方案2】:

      这可能对你有帮助:

      - name: Download the latest wordpress
        get_url: url={{ wordpress_url }} dest={{ wordpress_dir }}/latest.tar.gz
       
      - name: Unzip the downloaded wordpress zipped file
        unarchive: src={{ wordpress_dir }}/latest.tar.gz dest={{ wordpress_dir }} copy=no
      
      - name: Rename the extracted wordpress directory as Website name
        command: mv {{ wordpress_dir }}/wordpress {{ wordpress_dir }}/{{ website_name }}
      

      而var文件是这样的:

      ---
       website_name: test.com
       wordpress_dir: /var/www
       wordpress_url: http://wordpress.org/latest.tar.gz
      

      如需完整参考,请查看以下link,谢谢

      【讨论】:

        猜你喜欢
        • 2017-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-13
        • 2018-02-05
        • 2017-03-09
        • 1970-01-01
        • 2014-07-04
        相关资源
        最近更新 更多