小编ezu*_*zuk的帖子

“未加载 MPM”,但我什至没有使用 mpm

在 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,为什么我仍然看到这个错误?

ubuntu apache-2.2

14
推荐指数
2
解决办法
7万
查看次数

Vagrant:我需要一个没有依赖关系的配置系统

开始使用流浪配置。主机是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按照它应该的工作方式运行,除此之外无需在主机上安装配置系统。

谢谢!

puppet chef vagrant ansible

3
推荐指数
1
解决办法
631
查看次数

为 a2enmod 找出正确的 Apache 模块名称

我有一个现有的 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而不去猜测?

httpd.conf puppet apache-2.2

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

apache-2.2 ×2

puppet ×2

ansible ×1

chef ×1

httpd.conf ×1

ubuntu ×1

vagrant ×1