- ベストアンサー
2つ目のウェブサイトを公開する方法は?
- Windows10のクライアント・マシンとUbuntu20.04のサーバ・マシンを使用して、2つ目のウェブサイトを公開する方法について教えてください。
- サーバ・マシンの/etc/apache2/sites-available/000-default.confファイルの設定を変更し、2つ目のウェブサイトのドキュメントルートを指定してください。
- 参考にした複数のURLを確認しても、正しい方法がわからず困っています。簡単な方法で2つ目のウェブサイトを表示させるにはどうすればいいでしょうか?
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
まだ試行錯誤から抜けられませんか? /etc/apache2/sites-available/000-default.confの書き方が理解できないのでしょうね。 先頭行の<VirtualHost *:80>はホスト名を具体的に定義しなければならないようです。 ワイルドカードの「*」でホスト名を省略するとホスト名でアクセス先を区分けできずに先頭のDocumentRootを参照してしまうようです。 1つのIPアドレスを複数のホスト名で運用するのですから定義を正しく書かないとアクセス先を振り分けてくれません。 www.abcdef7799.comの定義は<VirtualHost www.abcdef7799.com:80>で始まり</VirtualHost>で締め括ります。 尚、当方ではローカルでの動作確認なのでDNSを使わずにhostsファイルでプライベートIPアドレスに対するホスト名を定義して確認しました。 000-default.confファイルに複数のホストを定義する方法とhogehoge.confのようなファイル名で複数のファイルを使う方法がありますので管理し易い方法で定義してください。
その他の回答 (8)
- bunjii
- ベストアンサー率43% (3589/8249)
>この間には、例えばどんな文を書きますか? 既に試されている内容で再試行してみれば良いでしょう。 動作を確認されるときブラウザのキャッシュをクリアしないと更新内容が反映されないかも知れません。 >ドメイン名(ホスト名?)はどうやって決めるのですか? DNSへ登録されたものを使用しないとアクセスできないことを既に知らせています。(回答を読み返してください) >どうやって使えるようにするのですか? ドメイン、サブドメインについての学習が必要なことも別の質問で既に回答していますよ。(応用力の不足で分からないだけ) この場では初歩から応用まで一貫した説明ができませんので専門の教育機関で有料の講習を受けてください。
お礼
ありがとうございます。
- bunjii
- ベストアンサー率43% (3589/8249)
>ServerName www.abcdef2288.comは任意で付けた名前です。 レジストラに依頼してDNSに登録されたWebサーバー名でなければ第三者は読めません。(Webサイトの公開にならない) 自己のドメインにサブドメインを追加することはできますがDNSサーバーの管理者にサブドメインの登録をしてもらう必要があります。 DNSとグローバルIPアドレスの関係を理解していないとVirtualHost での複数のWebサイトを扱うことができません。 >これらの書き方はどうするのでしょうか? 回答No.7を参照してください。
お礼
ありがとうございます。
- bunjii
- ベストアンサー率43% (3589/8249)
>sudo systemctl restart apache2 >はconfファイルが乱れているからfailedになります。 confファイルの締め括りが構文の誤りになっています。 </VirtualHost *:80> ↡ 修正 </VirtualHost> 尚、「ServerAdmin」は連絡先のメールアドレスなので「***.gmail.com」は不適切です。(構文エラーではない) また、構文エラーが無い場合で定義の文字列に誤りがあってもデーモンは再起動すると思います。(目的通りの表示にならないだけ)
お礼
「***.gmail.com」は「***@gmail.com」の 誤りです。 【技術評論社・サーバ構築の実際がわかるApache[実践] 運用/管理 鶴長鎮一[著]】を読みましたが難しかったですよ。Virtual hostの事にはあまり触れてませんでした。 もう1回は読むつもりです。 ServerName www.abcdef7799.comはお名前ドットコムで購入したドメインでServerName www.abcdef2288.comは 任意で付けた名前です。これらの書き方はどうするのでしょうか? 色々と教えてくださり、誠にありがとうございます。 今後とも宜しくお願い致します。
- bunjii
- ベストアンサー率43% (3589/8249)
回答No.4の追加情報です。 confファイルを書き換えて保存した後に下記コマンドを実行してみると良いでしょう。(実証していません) 構文に問題があるときはエラーの内容を表示するはずです。 sudo apache2ctl configtest
お礼
ありがとうございます。
- bunjii
- ベストアンサー率43% (3589/8249)
>ボクは根本的に判っていないと思います。 Apacheの高度な使い方を学習しないと無理かも知れません。 httpd.confファイルの書き方だけではVirtual Hostで複数ドメインを運用することにつながりません。 運用するドメインを「Whois検索」で同じIPアドレスであることを確認してください。 >confファイルが乱れているからfailedになります。 「ファイルが乱れている」という表現は一般的ではありません。 コンフィグファイルはサービスの仕様書なので書式に誤りがあれば動作しないことになってます。(プログラムの構文エラーと同様です) >どう書き直せば2つのサイトが表示されますか? コンフィグファイルが正しい記述になってもApacheの再起動でエラーが出ないだけで2つのサイトが正常に表示されるとは限りません。 稼働中の公開サーバーで試行錯誤するのは好ましくありませんのでローカルの閉鎖LANにモデルを組み込んで学習を積んでから実機へ応用すると良いでしょう。
お礼
ありがとうございます。
- wormhole
- ベストアンサー率28% (1626/5665)
>ボクは根本的に判っていないと思います。 それがわかってるのなら、わかるように努力してください。 あなたは何かでたらめにやってみる、もしくは教えてもらった通りにやってみる、それでできたら「できたー」と喜んでそれで終わり。 なぜそれでできるようになったのかとか考えないじゃないですか。 そんな事で根本的にわかるようになるわけがありません。 で、私は#2で何て書いてますか? それやりましたか? >sudo systemctl restart apache2 >はconfファイルが乱れているからfailedになります。 何からfailedになった原因を「confファイルが乱れているから」と判断したんですか?
お礼
出来た時は根本的に解ってますよ。 へりくだって、マグレで・・・。 と言っているのです。 検索して、解るなら、質問しません。
- wormhole
- ベストアンサー率28% (1626/5665)
>1番簡単な方法で2つ目のウェブサイトを表示させるにはどうすればいいでしょうか? あなたの場合、基礎知識が圧倒的に不足してるので、 その「1番簡単な方法」で頭がごちゃごちゃしている状態だと思うのですけど(そもそもVirtualHostの設定自体は難しいものじゃない)。 まずは https://httpd.apache.org/docs/2.4/ja/vhosts/name-based.html に書かれている内容を読んで理解することをおすすめします。
お礼
ご回答誠にありがとうございます。 <VirtualHost *:80> ServerName www.abcdef7799.com ServerAdmin ***.gmail.com DocumentRoot /var/www/html/xxxxx1 </VirtualHost *:80> <VirtualHost *:80> ServerName www.abcdef2288.com ServerAdmin ***.gmail.com DocumentRoot /var/www/html/xxxxx2 </VirtualHost *:80> 上記では表示しません。 ボクは根本的に判っていないと思います。 sudo systemctl restart apache2 はconfファイルが乱れているからfailedになります。 どう書き直せば2つのサイトが表示されますか? ご多忙中恐れ入ります。 ご回答のほど、宜しくお願い申し上げます。
- bunjii
- ベストアンサー率43% (3589/8249)
>2つ目のウェブサイトを公開しようとしています。 1台のLinuxマシンに多数のWebサイトを設置してレンタルサーバーの運用を考えているのでしたらApacheの学習をしないと無理でしょう。 また、ユーザーがドメインを取得していることも必要になります。 更に、FTPサーバーのセキュリティについても専門知識が必要になります。 このサイトで質問しても解決は困難と思います。
お礼
ご回答誠にありがとうございます。
補足
ご回答誠にありがとうございます。 <VirtualHost *:80> ServerName www.abcdef7799.com ServerAdmin ***.gmail.com DocumentRoot /var/www/html/xxxxx1 </VirtualHost *:80> <VirtualHost *:80> ServerName www.abcdef2288.com ServerAdmin ***.gmail.com DocumentRoot /var/www/html/xxxxx2 </VirtualHost *:80> 上記では表示しません。 ボクは根本的に判っていないと思います。 sudo systemctl restart apache2 はconfファイルが乱れているからfailedになります。 どう書き直せば2つのサイトが表示されますか? ご多忙中恐れ入ります。 ご回答のほど、宜しくお願い申し上げます。
お礼
<VirtualHost www.abcdef7799.com:80>で始まり</VirtualHost>で締め括ります。 すみません。 この間には、例えばどんな文を書きますか? おかしな質問かも知れません。 どうか、ご回答を宜しくお願い申し上げます。
補足
【000-default.confファイルに複数のホストを 定義する方法】 ドメイン名(ホスト名?)はどうやって決めるのですか? 質問が悪いかも知れません。 あるサイトで、 サブドメインとサブディレクトリーがあると読みました。 https://www.seohacks.net/basic/knowledge/subdomain-subdirectly/ 勝手に使っては表示されないですよね。 どうやって使えるようにするのですか? ご回答のほど、宜しくお願い申し上げます。