在 Vagrant 的 Ubuntu Precise64 上运行 Apache2。当我尝试启动它时,它说:
vagrant@precise64:/etc/apache2$ /etc/init.d/apache2 start
* Starting web server apache2
*
* The apache2 configtest failed.
Output of config test was:
AH00534: apache2: Configuration error: No MPM loaded.
Action 'configtest' failed.
The Apache error log may have more information.
Run Code Online (Sandbox Code Playgroud)
但问题是,我的/etc/apache2/apache2.conf
文件在任何地方都没有要求 MPM!我会把它贴在这里,但它会成为一个巨大的帖子......
我尝试查找错误日志,但也找不到任何地方。帮助?
编辑: apache2 -l
给出这个:
vagrant@precise64:/$ apache2 -l
Compiled in modules:
core.c
mod_so.c
mod_watchdog.c
http_core.c
mod_log_config.c
mod_logio.c
mod_version.c
mod_unixd.c
mod_unixd.c
Run Code Online (Sandbox Code Playgroud)
所以看起来没有安装mpm,对吧?如果没有安装 MPM 并且我的配置文件中没有提到 MPM,为什么我仍然看到这个错误?
开始使用流浪配置。主机是Windows。我有一个非常简单的配置,所以我想使用 Ansible,但得到了这个:
[default] Running provisioner: ansible...
The executable 'ansible-playbook' Vagrant is trying to run was not
found in the %PATH% variable. This is an error. Please verify
this software is installed and on the path.
Run Code Online (Sandbox Code Playgroud)
所以基本上,我认为这意味着 Vagrant 想要自己安装 Ansible,并试图使用 Ansible 的现有实例(我没有)。
我的问题是:Vagrant 中是否内置了Chef 或 Puppet ?我希望能够只安装 Vagrant 并vagrant up
按照它应该的工作方式运行,除此之外无需在主机上安装配置系统。
谢谢!
我有一个现有的 httpd.conf 文件,我应该可以在运行 Ubuntu 的 Vagrant 实例上工作,我正在使用 Puppet 进行配置。
我遇到的问题是模块名称。httpd.conf 指定了一堆模块,如下所示:
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
Run Code Online (Sandbox Code Playgroud)
要设置所有这些模块,我需要告诉我正在使用的 Puppet Apache 模块(通过Example42)我想要安装和启用哪些模块名称。问题是模块名称与 httpd.conf 行不是1:1 匹配。换句话说,不能总是从文件中推断出模块名称。
例如,这是我,尝试启用文件 ( mod_access_compat.so
)的第一行:
vagrant@lucid64:~$ sudo a2enmod access_compat
ERROR: Module access_compat does not exist!
vagrant@lucid64:~$ sudo a2enmod access_compat_module
ERROR: Module access_compat_module does not exist!
vagrant@lucid64:~$ sudo a2enmod accesscompat
ERROR: Module accesscompat does not exist!
Run Code Online (Sandbox Code Playgroud)
tl;dr:我怎样才能知道正确的模块名称a2enmod
而不去猜测?