Vagrant - 安装Apache

时间:2015-06-08 23:30:21

标签: apache ubuntu vagrant ansible ansible-playbook

我正在与Vagrant和Ansible以及Virtualbox合作开展一个项目。 当我尝试在ubuntu精确(14.04)框上安装Apache时,Vagrant失败了。之后我改进了答案。

它似乎是一个已知的bug,但即使我正在安装新版本,错误也会显示出来。 我也按照here的说法尝试过,但没有运气。

如何解决此问题?

谢谢。

更新的答案

这是Ansible任务。 版本1:

- name: Install Apache
  sudo: yes
  apt: pkg=apache2 state=latest
  register: apache2_apt

输出:

failed: [default] => {"failed": true}
stderr: E: Sub-process /usr/bin/dpkg returned an error code (1)

stdout: Reading package lists...
Building dependency tree...
Reading state information...
Suggested packages:
  www-browser apache2-doc apache2-suexec-pristine apache2-suexec-custom
The following NEW packages will be installed:
  apache2
0 upgraded, 1 newly installed, 0 to remove and 183 not upgraded.
Need to get 0 B/146 kB of archives.
After this operation, 460 kB of additional disk space will be used.
(Reading database ... 52932 files and directories currently installed.)
Unpacking apache2 (from .../apache2_2.4.12-1+deb.sury.org~precise+5_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/apache2_2.4.12-1+deb.sury.org~precise+5_amd64.deb (--unpack):
 error setting ownership of `/var/www/html.dpkg-new': Operation not permitted
Processing triggers for man-db ...
Processing triggers for ureadahead ...
Errors were encountered while processing:
 /var/cache/apt/archives/apache2_2.4.12-1+deb.sury.org~precise+5_amd64.deb

msg: '/usr/bin/apt-get -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold"   install 'apache2'' failed: E: Sub-process /usr/bin/dpkg returned an error code (1)


FATAL: all hosts have already failed -- aborting

第2版:

- name: Install Apache
  command: "sudo apt-get install apache2"
  register: apache2_apt

输出:

failed: [default] => {"changed": true, "cmd": ["sudo", "apt-get", "install", "apache2"], "delta": "0:00:07.745095", "end": "2015-06-09 11:08:53.726031", "rc": 100, "start": "2015-06-09 11:08:45.980936", "warnings": []}
stderr: E: Sub-process /usr/bin/dpkg returned an error code (1)
stdout: Reading package lists...
Building dependency tree...
Reading state information...
Suggested packages:
  www-browser apache2-doc apache2-suexec-pristine apache2-suexec-custom
The following NEW packages will be installed:
  apache2
0 upgraded, 1 newly installed, 0 to remove and 183 not upgraded.
Need to get 0 B/146 kB of archives.
After this operation, 460 kB of additional disk space will be used.
(Reading database ... 52932 files and directories currently installed.)
Unpacking apache2 (from .../apache2_2.4.12-1+deb.sury.org~precise+5_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/apache2_2.4.12-1+deb.sury.org~precise+5_amd64.deb (--unpack):
 error setting ownership of `/var/www/html.dpkg-new': Operation not permitted
Processing triggers for man-db ...
Processing triggers for ureadahead ...
ureadahead will be reprofiled on next reboot
Errors were encountered while processing:
 /var/cache/apt/archives/apache2_2.4.12-1+deb.sury.org~precise+5_amd64.deb

FATAL: all hosts have already failed -- aborting

1 个答案:

答案 0 :(得分:0)

这个

几乎没有问题
  • 您需要禁用apparmor或更好地向apparmor服务添加规则,以便能够通过脚本访问来宾计算机中的/ var / www
  • / var / www文件夹的主机权限有问题。尝试检查用户是否有权访问本地文件夹,映射为从主机到访客的共享文件夹 - 可能需要在主机上为本地用户添加权限。
  • 尝试使用ansible-galaxy并搜索已创建的角色并修复以前的两个问题