在安装openstack kilo版本时有一步检测apache无法启动,搜遍了google没有搜到相关信息只好自己动手了,我用的是CentOS-7-x86_64位系统,报错信息如下:
ERROR : Error appeared during Puppet run: 192.168.209.143_horizon.pp
Error: Could not start Service[httpd]: Execution of ‘/usr/bin/systemctl start httpd‘ returned 1: Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
按照提示信息执行了一下"journalctl -xe",其中找到了以下信息:
Dec 29 11:06:33 controller httpd[29959]: AH00526: Syntax error on line 11 of /etc/httpd/conf.d/fcgid.conf:
Dec 29 11:06:33 controller httpd[29959]: Invalid command ‘FcgidIPCDir‘, perhaps misspelled or defined by a module not included in the server configuration
Dec 29 11:06:33 controller systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Dec 29 11:06:33 controller kill[29963]: kill: cannot find process ""
Dec 29 11:06:33 controller systemd[1]: httpd.service: control process exited, code=exited status=1
Dec 29 11:06:33 controller systemd[1]: Failed to start The Apache HTTP Server.
其中两段红色英文字体提示/etc/httpd/conf.d/fcgid.conf 这个文件有无效的命令Invalid command ‘FcgidIPCDir‘,有可能是拼写错误也有可能是模块未加载导致,看文件全部信息如下:
[[email protected] ~]# cat /etc/httpd/conf.d/fcgid.conf
# This is the Apache server configuration file for providing FastCGI support
# through mod_fcgid
#
# Documentation is available at
# http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
# Use FastCGI to process .fcg .fcgi & .fpl scripts
AddHandler fcgid-script fcg fcgi fpl
# Sane place to put sockets and shared memory file
FcgidIPCDir /run/mod_fcgid
FcgidProcessTableFile /run/mod_fcgid/fcgid_shm
这是一个调用mod_fcgid模块并提供FastCGI 的apache server的配置文件,一看文件中确实没有加载mod_fcgid模块,
所以在文件中加载该模块
LoadModule fcgid_module modules/mod_fcgid.so
完整文件如下:
fcgid.conf
# This is the Apache server configuration file for providing FastCGI support
# through mod_fcgid
#
# Documentation is available at
# http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
LoadModule fcgid_module modules/mod_fcgid.so
# Use FastCGI to process .fcg .fcgi & .fpl scripts
AddHandler fcgid-script fcg fcgi fpl
# Sane place to put sockets and shared memory file
FcgidIPCDir /var/run/mod_fcgid
FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm
在启动一下
[[email protected] ~]# apachectl start
[[email protected] ~]# apachectl status
* httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
`-openstack-dashboard.conf
Active: active (running) since Fri 2016-12-30 16:45:48 CST; 6s ago
Docs: man:httpd(8)