2016-03-26 23 views
2

私はapacheを起動して実行している問題の数を信じられません。明らかに、すぐに使用できるタイプのものではありません。Hello World in Apache

私はCentOS上でhttpdでインストールされたWebサーバーをyumで実行しています。

私は(cgi-binhtmlがインストールによって作成された)こんにちは、非常に基本的な世界index.htmlを作成しました:

/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ファイルは、単純に次のようになります。

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 

だから、すべてがきれいに見える通常:

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

は、以下のhttpd -tレポートSyntax OKhttpd -Sプリントを実行します。明らかに、sudo service httpd restartがエラーなしで再起動し、httpdログが正常に表示されます。

チェックすると、/etc/httpd/logs/error_logには何も表示されません。

しかし、IPアドレスまたは名前でサーバにアクセスすると(pingを使用して、DNSが実際にIPに正しく変換されていると判断しました)、接続が拒否されます。

何が起こっているのか私は完全に迷っています。私はデバッグロープの最後です。何か案は?

私は本当に助けに感謝します!

+0

サーバーからlocalhost経由でアクセスできますか?あなたがすることができますいくつかのファイアウォール/ IPの拒否の設定があります。 – xvan

+0

DANG!これをもっと早く考えていたはずです。 'curl -I 'localhost'は' HTTP/1.1 200 OK'を返します。ありがとうございました! –

答えて

0

Fedoraの(と私はCentOSのを信じて)、デフォルトではかなり制限ファイアウォールを持っている、あなたは80ポートを開くには、このようなものを使用する必要があります:

sudo firewall-cmd --add-service=http 

パス--permanentあなたはそれが働いていることを確認したら。詳細はこちらhttp://ask.xmodulo.com/open-port-firewall-centos-rhel.html

Fedoraには、デフォルトでWebサーバーが実際にファイルにアクセスできないようにするいくつかのSELinux設定があります。 getsebool/setseboolを使用してこれを調べることができますhttp://forums.fedoraforum.org/showthread.php?t=240075

+0

また、私は最近スクラッチからApache設定を作成しました。何もせずに常に終了していました。私は ''と一緒に ''が必要であることを実感してくれました。 – dwks

+0

ええ、私はこれをもっと早く考えていたはずですが、このファイアウォールルールはそれを修正しました。どうもありがとうございます! –