質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

5回答

43788閲覧

Apacheで公開したWebサーバーに外部からアクセスできない

ryohasegawa

総合スコア437

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/01/07 09:20

Ubuntu16.04でApache2を使ってWebサーバーを開いています。
ローカル環境では公開したサイトにアクセスできるんですが、外部からは接続できません。
sshは外部から接続できます。

ルータの設定でポート変換を設定してあります。
22番ポートと80番ポートは同じ設定をしてあるので問題ないと思います。
イメージ説明
それと、UbuntuでMinecraftサーバーを起動させても外部からアクセスできません。
22番ポートのsshのみが通ります。

Ubuntuのファイアウォールはufwを使っています。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

httpd.confのサーバ名とポート番号の設定を直すと動くかも知れません。
例えば、

ServerName コンピュータ名またはこのコンピュータに振られたIPアドレス:80 Listen 80

コンピュータ内の他のサーバと競合しないようにポート番号をあえて変えることがあります。

個人的な体験として、昨年、職場のLANの更新でIPアドレスの入れ替えがあったことを知らずに、LAN内のコンピュータで運用していたXAMPPが見えなくなり焦ったことがあります。あとで聞いて新しいIPアドレスにServerNameを直したら解決しました。

取り急ぎ、可能性の一つとしてアップしておきます。

投稿2017/01/07 10:17

seastar3

総合スコア2285

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryohasegawa

2017/01/07 10:30

回答ありがとうございます。 /etc/apache2/内を見ているんですが、httpd.confファイルが見つかりません。 どこにあるファイルですか?
seastar3

2017/01/07 12:05

/etc/apache2/ になければ /etc/apache2/conf/ とかにあるのではないでしょうか。 OSによってかわってくるので、各フォルダを探すか、findコマンドやgrepコマンドやウインドウズのファイル検索機能を使ってみましょう。ウインドウズの場合は、「拡張子を表示しない」を解除する必要があります。
ynakano

2017/01/07 12:09

UbuntuのApacheの設定ファイルは他のディストリビューションのそれとは結構違います。 「Ubuntu Apache Servername」とかでググれば分かります。
ryohasegawa

2017/01/07 14:55 編集

Ubuntuの場合は、ファイル名が変わっていました。 ServerNameを記述したのですが、駄目でした。 サーバーを再起動させると AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message httpd (pid 28443) already running と言われ、グローバルで指定をと言われるのですが、ルーターのDNSをそのまま書くだけでは駄目なのでしょうか?(http:やwwwをつけないといけないのでしょうか?)
ynakano

2017/01/08 00:20

エラーコードやエラーメッセージを元にまずは自分で調べましょう。 それでダメだったら「何をどうしたけどどうダメか」を提示して質問して下さい。 目先の現象が変わる度に反射的にここに書き込んでいるような印象を受けます。
ryohasegawa

2017/01/08 07:22

サイトでは、wwwから始まるすべてのURLを指定し、通っていたようなんですが、自分はそのようなドメインを持っていないため同様にできません。
ynakano

2017/01/08 08:51

何故話の前提が参考サイトの丸パクリなんですか? 自身の環境ではどう設定すべきか、ご自身で調べたらいいでしょう。 Apacheは公式ドキュメントも情報も豊富なプロダクトなので、ディレクティブの意味やエラーメッセージを元に調べるのは難しくないです。
guest

0

ファイアウォールを2種類利用しているということはありませんか?
ufw で許可していてもiptables で拒否しているとか。

投稿2017/04/04 06:16

shibukixxx

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ルータのパケットフィルタでポートを許可していますか?
こんなやつ
イメージ説明

投稿2017/01/10 06:49

編集2017/01/10 06:52
katsuya141

総合スコア367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

この質問の続きだと思うのですが、Webサーバにhttpパケットが到達していますでしょうか。
LAN内からのアクセスはできているようなので、"netstat -an | grep 80"で80/tcpを待ち受けているIPアドレスを確認してみてはどうでしょう。

何かやってみて上手くいかなかったら「何がどうダメだったのか」を明記していただけないでしょうか。
一口に「上手くいかない」と言っても色々な現象や原因があり得るので、エラーメッセージ等があれば適切にコメントできる可能性が高くなります。

投稿2017/01/09 23:46

ynakano

総合スコア1894

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryohasegawa

2017/01/10 05:14

tcp6 0 0 :::80 :::* LISTEN unix 2 [ ACC ] STREAM LISTENING 12380 /run/systemd/fsck.progress unix 3 [ ] STREAM CONNECTED 20880 unix 3 [ ] STREAM CONNECTED 26803 unix 3 [ ] STREAM CONNECTED 17803 unix 3 [ ] STREAM CONNECTED 33780 unix 3 [ ] STREAM CONNECTED 38025 unix 3 [ ] STREAM CONNECTED 38022 @/tmp/.X11-unix/X0 とでました。ネットでnetstatコマンドに見方を調べたんですが、Ubuntuは表示方法が特殊なんでしょうか? 調べたサイトとは表示が違うようで・・・
ynakano

2017/01/10 05:26

「Webサーバにhttpパケットが到達している」という前提で大丈夫ですか? (推測等ではなく明確な事実を基にYes/Noが分かる性質のものです) さて、netstatの結果ですが1行目の表示からipv6で待ち受けているように見えます。 調べるてみると(Ubuntuだけなのか分かりませんが)ipv6で待ち受けていてもipv4でアクセスできると書いてあったりします(私の手元にUbuntuがないので未確認)が、Apacheの設定で Listen 0.0.0.0:80 として試してみてはどうでしょうか。 ※設定ファイル編集後Apacheの再起動が必要です。
ryohasegawa

2017/01/10 05:48

AH00526: Syntax error on line 14 of /etc/apache2/sites-enabled/000-default.conf: Listen cannot occur within <VirtualHost> section Action 'restart' failed. The Apache error log may have more information. と言うエラーで、調べてみると、Listenという構文は書けないみたいです。 でも、問題なくサーバーは動いていて、ローカルからなら接続可能です。
ynakano

2017/01/10 05:54

変更方法、きちんと調べましたか?
ryohasegawa

2017/01/10 06:20

http://esoz.blog.fc2.com/blog-entry-49.html のサイトを参考に書き直してみました。するとListen構文のエラーはなくなりました。 それと、tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN と表示されました。 ufwでも、80番ポートはしっかり開かれています。
ynakano

2017/01/10 06:24

待ち受けポートを8080に変更したのですか?だとしたらなぜ?
ryohasegawa

2017/01/10 06:30

すいません間違えてました。 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 802回書いてしまいました。
ynakano

2017/01/10 06:39

で、結果はいかがですか? また、何度か書いてますがそもそもWebサーバにパケットが到達してるんですか?
ryohasegawa

2017/01/10 07:04

80番ポートをtcpdumpで確認してみたところ tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on enp1s0, link-type EN10MB (Ethernet), capture size 262144 bytes 16:02:52.823882 IP 192.168.12.1.49544 > 192.168.12.23.http: Flags [S], seq 923864246, win 5840, options [mss 1460,sackOK,TS val 2651053017 ecr 0,nop,wscale 1], length 0 16:02:52.823973 IP 192.168.12.23.http > 192.168.12.1.49544: Flags [S.], seq 3131243317, ack 923864247, win 28960, options [mss 1460,sackOK,TS val 120594579 ecr 2651053017,nop,wscale 7], length 0 16:02:52.824138 IP 192.168.12.1.49544 > 192.168.12.23.http: Flags [.], ack 1, win 2920, options [nop,nop,TS val 2651053017 ecr 120594579], length 0 16:02:52.824233 IP 192.168.12.1.49544 > 192.168.12.23.http: Flags [F.], seq 1, ack 1, win 2920, options [nop,nop,TS val 2651053017 ecr 120594579], length 0 16:02:52.824495 IP 192.168.12.23.http > 192.168.12.1.49544: Flags [F.], seq 1, ack 2, win 227, options [nop,nop,TS val 120594579 ecr 2651053017], length 0 16:02:52.824642 IP 192.168.12.1.49544 > 192.168.12.23.http: Flags [.], ack 2, win 2920, options [nop,nop,TS val 2651053017 ecr 120594579], length 0 とのことです。ブラウザから接続すると表示しました。 ルーターは192.168.12.1なので何かしらのデータは受け取っているようにみえます。
ynakano

2017/01/10 07:10

念のための確認ですが、これはインターネット側から(ポケットWifiでしたっけ)で接続したときのものですよね。
ryohasegawa

2017/01/10 07:30

はい。インターネット側から、IP打って接続したときのです。
ynakano

2017/01/10 07:38

これはブラウザで表示させた時の結果ですか?それともtelnetの表示ですか? telnetだとしたら、ブラウザで"http://<global ip>/"としたらブラウザ表示とtcpdumpはどうなりますでしょうか?
ryohasegawa

2017/01/10 07:45

ブラウザで"http://<global ip>/"としたtcpdumpの結果です
ryohasegawa

2017/01/10 11:45

回答に近くなってきたと思うので、もう一度考えてやってみます。 色々な回答に出会えて、答えに近くなったと思います。
ynakano

2017/01/10 11:55

TCPのセッションが成立したように見え、そしてクライアント側から切断しているように見えます。 Apacheのaccess_log、error_log、ufwのログ、/var/log/messagesなど一通りログファイルを当たってみてはどうでしょうか。
ynakano

2017/01/10 11:57

あとは、インターネット側からtelnetでWebサーバにアクセスして手動でGETリクエストを投げてみるか。 (やり方は調べてみてください)
guest

0

IPアドレス127.0.1.1は、localhostと同義の自機内でのTCP/IP通信の呼出名です。
自分のIPアドレスを知る方法の説明のように、ifconfigコマンドでLANにおける端末のIPアドレスを調べてServerNameに設定しましょう。
また、他機のプロキシでもLAN内のTCP/IP通信はブロックしない設定にする必要があると思います。残念ながらUbantuでの設定は分かりません。使っているブラウザ(FireFoxかchromeか何か)の設定ダイアログでできるのではないでしょうか。

投稿2017/01/08 02:48

seastar3

総合スコア2285

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryohasegawa

2017/01/09 15:12

自分のIPをServerNameに記載しました。 ServerName 192.168.12.23:80 と記載しました。でもどうやらうまくできないみたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問