我进入测试版并尝试设置证书,我的服务器是Ubuntu 12.04,上面有一堆域,包括我想要启用的SSL的域,每个域都有一个文件在/etc/apache2/ites-Available中。我收到一条消息,说apache配置错误,但我不知道它是以什么方式错误配置的(apache运行和工作),我确定有问题,但它没有给我任何线索,我需要进行哪些具体的更改来修复它。“因为配置错误,所以Apache无法检查模块是否已加载。”
2015-10-27 15:47:46,375:调试:letscrypt.cli:根日志记录级别设置为30
2015-10-27 15:47:46,375:INFO:letscrypt.cli:将调试日志保存到/var/log/letsENCRYPT/letsENCRYPT.LOG
2015-10-27 15:47:46,375:DEBUG:letsencrypt.cli:letsencrypt版本:0.0.0.dev20151024
2015-10-27 15:47:46,375:DEBUG:letscrypt.cli:发现的插件:PluginsRegistry(PlugiEntryPoint#ApachePlugiEntryPoint#Webroot,PlugiEntryPoint#NULL,PlugiEntryPoint#MANUAL,PlugiEntryPoint#Standonly)
2015-10-27 15:47:46,384:DEBUG:letscrypt.cli:请求验证器无和安装程序无
2015年10月27日15:47:46,842:WARNING:letsencrypt_apache.parser:Error正在检查参数列表:(98)地址已在使用中:Make_SOCK:无法绑定到地址0.0.0.0:80
没有可用的监听套接字,正在关闭
无法打开日志
2015年10月27日15:47:46,849:DEBUG:letsencrypt.plugins.disco:Misconfigured插件入口点#APACHE:APACHE无法检查模块是否加载,因为APACHE配置错误。
回溯(最近一次呼叫):
文件“/home/alanbell/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/plugins/disco.py”,第103行,在准备中
Sel._Initialized.preparate()
在准备文件中,“/home/alanbell/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt_apache/configurator.py”,第151行
Self.aug,self.conf(“服务器根”),self.conf(“ctl”))
文件“/home/alanbell/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt_apache/parser.py”,第39行,位于__init__中
Self.UPDATE_RUNTIME_VARIALES(Ctl)
文件“/home/alanbell/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt_apache/parser.py”,第97行,位于UPDATE_RUNTIME_VARIABLES中
标准输出=sel._get_run_cfg(Ctl)
文件“/home/alanbell/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt_apache/parser.py”,第139行,in_Get_Runtime_cfg
“阿帕奇无法检查该模块是否为”
错误配置错误:由于配置错误,因此Apache无法检查模块是否已加载。
2015年10月27日15:47:46,850:DEBUG:letsencrypt.display.ops:Single候选插件:*阿帕奇
描述:ApacheWeb服务器-Alpha
接口:IAuthenticator、IInstaller、IPlugin
入口点:apache=letsencrypt_apache.configurator:ApacheConfigurator
已初始化:准备:由于配置错误,因此无法检查模块是否已加载。
2015-10-27 15:47:46,850:DEBUG:letscrypt.cli:选定的验证器和安装程序均为空,地址已在使用中:make_sock:无法绑定到地址0.0.0.0:80
谢谢你测试测试版,也许可以重启阿帕奇服务器,看看会弹出什么?,我也有同样的问题,同样的错误信息。重启阿帕奇并没有改变任何事情。
客户是否需要一些我没有提供的配置?这是一个Debian Wheezy系统,配置非常标准的Apache2.2。
“有什么我能做的吗?”,“Alanbell,很抱歉你遇到了麻烦。”根据您包含的日志,我可以告诉您更多关于正在发生的事情。阿帕奇插件使用apache2ctl二进制文件来获取有关阿帕奇配置的信息。此二进制文件的名称可以通过命令行上的--apache-ctl选项进行控制。如果您想了解更多有关这方面的信息,请运行letsENCRYPT-AUTO--HELP APACHE。
根据您提供的回溯,代码此时正在执行的操作是运行apache2ctl-D Dump_Run_CFG,它将返回由Apache使用的解析配置。执行此操作时,apache2ctl将以下内容写入STDERR并返回非零返回值:
(98)地址已在使用中:make_sock:无法绑定到地址0.0.0.0:80
没有可用的监听套接字,正在关闭
无法打开日志
在我看来,这表明您的Apache配置告诉Apache绑定到端口80,但它无法这样做。如果您可以用apache2ctl-D Dump_Run_cfg修复这个问题,那么它就可以修复客户端的这个问题。不幸的是,我不能确切地告诉您需要做什么,因为这在很大程度上取决于您的Apache配置。希望我在这里提供的信息能有所帮助。
@jftr,如果你有完全相同的问题,我刚才写的一切也适用于你。如果您的错误/回溯不同,请包括一些日志输出,以便我可以更好地诊断问题。谢谢您的帮助,@bmw。
是的,完全相同的情况也适用于我的配置。
#apache2ctl-D转储_运行_配置
(98)地址已在使用中:make_sock:无法绑定到地址[::]:80
(98)地址已在使用中:make_sock:无法绑定到地址0.0.0.0:80
没有可用的监听套接字,正在关闭
无法打开日志
操作‘-D DUMP_RUN_CFG’失败。
阿帕奇错误日志可能包含更多信息。
不过,阿帕奇运行得很好。它可以很好地为端口80上的几台虚拟主机提供服务。你知道会出什么问题吗?我也会调查自己,但也许您已经知道了原因。,很好,这给了我更多的信息,我现在可以将其作为一个apache问题来跟踪,而不是一个letscrypt问题。对于版本2.2,apache2ctl是否可能需要-t作为参数?
对我来说,apache2ctl-D Dump_run_cfg除了尝试启动apache之外,似乎什么也不做。但是,服务器已经在运行,因此抛出错误。
如果我查看apache2ctl的帮助页面,我发现没有提到DUMP_RUN_CFG,但我发现了两个类似的选项:
-t-D DUMP_VHOSTS:显示解析的设置(当前仅显示vhost设置)
-S:-t-D Dump_VHOSTS的同义词
-t-D转储模块:显示所有加载的模块
-M:-t-D转储模块的同义词
此外,还提到了-D:
-D名称:定义用于在指令中使用的名称
这表明仅仅调用apache2ctl-D DUMP_RUN_CFG并不是letsEncrypt要执行的操作。但是,如果添加-t标志,apache2ctl将成功运行(但没有任何有用的输出。我想这意味着在我的配置中没有定义指令):
#apache2ctl-t-D Dump_run_cfg
语法正常
如果我误解了什么,请告诉我。如果我错了:letsEncrypt期望输出什么?看起来Apache2.2确实对该命令有不同的解释。
感谢@jftr和GitHub上的Neffs提交了一个已合并的补丁。如果这不能解决您的问题,请让我们知道。
感谢报告@svennd!,这个补丁已经在大师版中了吗?如果不是,我需要拉哪根树枝?我会尽快尝试,@jftr,是的,补丁已经在主程序中了。注意:LetsENCRYPT-AUTO来自于PYPI而不是MASTER,但我们计划很快发布另一个PYPI版本。新版本似乎有了很大的变化。如果没有任何安装程序选项,它会立即停止,并显示以下错误消息:
似乎没有安装程序在您的系统上运行;请修复该问题或尝试使用“certonly”命令运行letsEncrypt
如果我用--apache运行它,当它尝试运行apache2ctl时,它不会像以前那样停止。然而,这并没有解决问题,因为它不会抱怨apache2ctl的无法解析的输出:
阿帕奇插件无法工作;您现有的配置可能有问题。
错误为:PluginError(‘无法解析运行时变量’,)
-t标志似乎只是解决方案的一部分。