Apache中的Hello World

时间:2016-03-26 23:57:20

标签: apache

我无法相信我已经让apache启动并运行了多少问题。它显然不是一个开箱即用的东西。

我在CentOS上运行网络服务器,httpd通过yum安装。

我在这里创建了一个非常基本的hello world index.htmlcgi-binhtml是由安装创建的):

/var/www/
├── cgi-bin
└── html
    └── index.html

httpd配置目录的结构如下:

/etc/httpd
├── conf
│   ├── httpd.conf
│   └── magic
├── conf.d
│   ├── autoindex.conf
│   ├── README
│   ├── userdir.conf
│   └── welcome.conf
├── conf.modules.d
│   ├── 00-base.conf
│   ├── 00-dav.conf
│   ├── 00-lua.conf
│   ├── 00-mpm.conf
│   ├── 00-proxy.conf
│   ├── 00-systemd.conf
│   └── 01-cgi.conf
├── logs -> ../../var/log/httpd
├── modules -> ../../usr/lib64/httpd/modules
├── run -> /run/httpd
├── sites-available
│   └── http.conf
└── sites-enabled
    └── http.conf -> /etc/httpd/sites-available/http.conf

这些文件都不是由我创建的,但我确实设置了sites-availablesites-enabled目录,因为这些目录更有意义,我之前已经看过这个。

为了让这些目录有效,我补充道:

IncludeOptional sites-enabled/*.conf

httpd.conf的结尾。

我写的http.conf文件看起来很像:

<VirtualHost *:80>
    ServerName domain.name.com
    DocumentRoot /var/www/html/
</VirtualHost>

运行httpd -t报告Syntax OKhttpd -S会打印以下内容:

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80                   domain.name.com (/etc/httpd/sites-enabled/http.conf:1)
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default 
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48 not_used
Group: name="apache" id=48 not_used

所以一切看起来都很正常。显然,运行sudo service httpd restart重启没有错误,httpd日志看起来没问题。

检查/etc/httpd/logs/error_log并不会显示任何令人兴奋的内容。

但是,当我通过IP或名称(使用ping)访问服务器时,我确定DNS实际上正确地将名称转换为IP),我收到连接拒绝错误。

我完全不知道自己在做什么,而且我在调试绳结束时也是如此。有什么想法吗?

我真的很感激帮助!

1 个答案:

答案 0 :(得分:0)

Fedora(我相信CentOS)默认情况下有一个非常严格的防火墙,你需要使用这样的东西打开端口80:

sudo firewall-cmd --add-service=http

一旦你确定它正常工作,就通过 - 永久。更多详情:http://ask.xmodulo.com/open-port-firewall-centos-rhel.html

Fedora还有一些SELinux设置,默认情况下限制Web服务器实际访问文件,即使它们看起来可读。您可以使用getsebool/setsebool来调查此http://forums.fedoraforum.org/showthread.php?t=240075