Apache の一般的な仮想ホスト設定方法の分析

Apache の一般的な仮想ホスト設定方法の分析

1. Apacheサーバーのインストールと設定

yum インストール httpd -y

systemctl で httpd を開始し、systemctl で httpd を有効にします。

systemctl 停止 ファイアウォール

setenforce 0 // selinux セキュリティ レベルを前提条件に設定すると、再起動は失敗します。

ローカルの Windows ブラウザを使用して、仮想マシンの IP アドレスをテストします (ファイアウォールを必ずオフにしてください)。次のインターフェイスが表示された場合、HTTP が正常に開始されたことを意味します。

2. Apache2設定ファイル

httpdがインストールされると、/etc/httpdディレクトリが自動的に生成されます。

メイン設定ファイル: conf/httpd.conf

3. IPアドレスに基づく(サーバーには複数のパブリックIPアドレスが必要)

www.lyn1.com----192.168.100.135
www.lyn2.com----192.168.100.136

(1)別のIPアドレスをサーバーにバインドする

(2)/etc/httpd/conf.dディレクトリにサイトファイルlyn1.confを追加する

/etc/httpd/conf/httpd.conf で直接設定することもできます。httpd.conf ファイルは、/etc/httpd/conf.d 内のファイルを自動的にインポートします。便宜上、/etc/httpd/conf.d フォルダーに直接書き込みます。

mkdir /mnt/lyn1

/etc/httpd/conf.d をコピーします。

vi lyn1.conf

<VirtualHost 192.168.100.135> //ローカル IP アドレスDocumentRoot /mnt/lyn1/ //ネットワーク データ ディレクトリServerName www.lyn1.com //Web サイト サーバーのドメイン名<Directory /mnt/lyn1/ > //Web サイト データ ディレクトリの権限AllowOverride None //上書きを許可しないRequire all permitted //すべてのアクセス要求を許可する</Directory>
</仮想ホスト>

(3)shiyan1.comの対応するウェブサイトの公開ディレクトリにウェブページファイルindex.htmlを追加する

vi /mnt/lyn1/index.html

<html>
<ヘッド>
<title>リン1</title>
</head>
<本文>
<h1>リン1</h1>
これはwww.lyn1.comのウェブサイトです
</本文>
</html>

(4)/etc/httpd/conf.dディレクトリにサイトファイルlyn2.confを追加する

mkdir /mnt/lyn1

/etc/httpd/conf.d をコピーします。

vi lyn1.conf

<VirtualHost 192.168.100.136> //このマシンの別の IP アドレスDocumentRoot /mnt/lyn2/ //ネットワーク データ ディレクトリServerName www.lyn2.com //Web サイト サーバーのドメイン名<Directory /mnt/lyn2/ > //Web サイト データ ディレクトリの権限AllowOverride None //上書きを許可しないRequire all permitted //すべてのアクセス要求を許可する</Directory>
</仮想ホスト>

vi /mnt/lyn2/index.html

<html>
<ヘッド>
<title>lyn2</title>
</head>
<本文>
<h1>リン2</h1>
これはwww.lyn2.comのウェブサイトです
</本文>
</html>

(6)Apacheサーバーを再起動し、ブラウザで確認する

systemctl で httpd を再起動します。

4. ポート番号に基づいて仮想ホストを構成する

www.lyn1.com----192.168.100.135:80
www.lyn2.com----192.168.100.135:81

(1)メイン設定ファイル/etc/httpd/conf/httpd.confにリスニングポート81を追加する

#vi /etc/httpd/conf/httpd.conf
80を聴く
81を聴く

(2)/etc/httpd/conf.d/lyn1.confファイルを変更します。

<仮想ホスト 192.168.100.135:80>
サーバー名 www.lyn1.com
ドキュメントルート /var/www/html/lyn1/
<ディレクトリ /var/www/html/lyn1/ > 
上書きを許可しない   
すべて許可が必要  
</ディレクトリ>
</仮想ホスト>

(3)/etc/httpd/conf.d/shiyan2.confファイルを変更します。

<仮想ホスト 192.168.100.135:81>
サーバー名 www.lyn2.com
ドキュメントルート /var/www/html/lyn2/
<ディレクトリ /var/www/html/lyn2/ > 
上書きを許可しない  
すべて許可が必要 
</ディレクトリ>
</仮想ホスト>

(4)Apacheサーバーを再起動し、ブラウザで確認する

systemctl で httpd を再起動します。

5. ホスト名ベースの仮想マシンを構成する

www.lyn1.com----192.168.100.135:80
www.lyn2.com----192.168.100.135:80

(1)DNSを登録する(DNSサーバーを設定し、通常の解決を実施する)。一時的なテストには、/etc/hostsの変更方法を使用できます。ここでは、hostsの変更方法を使用します。

#vi /etc/ホスト

192.168.100.135 www.lyn1.com

192.168.100.135 www.lyn2.com

(2)メイン設定ファイル/etc/httpd/conf.d/lyn1.conf

<仮想ホスト *:80>
サーバー名 www.lyn1.com
ドキュメントルート /var/www/html/lyn1/
<ディレクトリ /var/www/html/lyn1/ >
上書きを許可しない
すべて許可が必要
</ディレクトリ>
</仮想ホスト>

(3)メイン設定ファイル/etc/httpd/conf.d/lyn2.conf

<仮想ホスト *:81>
サーバー名 www.lyn2.com
ドキュメントルート /var/www/html/lyn2/
<ディレクトリ /var/www/html/lyn2/ >
上書きを許可しない
すべて許可が必要
</ディレクトリ>
</仮想ホスト>

(4)apache2サーバを再起動して確認する

systemctl で httpd を再起動します。

[root@lyn html]# curl www.lyn1.com

[root@lyn html]# curl www.lyn2.com

WindowsでWebサイトにアクセスするには、C:\Windows\System32\drivers\etc\hostsファイルに次の2行を追加します。

192.168.100.135 www.lyn1.com

192.168.100.135 www.lyn2.com

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Ubuntu 16.04 で Apache 仮想ホストを構成するための詳細な手順
  • Win10 Apache が仮想ホストを設定した後にローカルホストが利用できなくなる問題の解決方法
  • Ubuntu システムでの Apache 構成仮想ホストとリバース プロキシの詳細な説明
  • Apache 仮想ディレクトリと複数のホスト ヘッダーを構成する方法
  • Apache の仮想ホスト構成と書き換えパラメータの説明
  • Apache 仮想ホスト設定ガイド
  • Apache 構成 マルチポート マルチ仮想ホスト LAN アクセスの例
  • Apache 仮想ホストの設定方法例の概要
  • ドメイン名ベースの仮想ホストのローカル Apache 構成の詳細な説明

<<:  スキン効果を実現するJavaScript(背景の変更)

>>:  MySQL データ型の最適化の原則

推薦する

HTMLで細い線のテーブルを作成する簡単な例

この細線の表を作成する方法については、Baidu で検索すると、表に対して border="...

Linux システムで crontab を使用して MySQL データベースを定期的にバックアップする方法

システムの crontab を使用して定期的にバックアップ ファイルを実行し、バックアップ結果を日付...

vue-resource インターセプターの使用に関する詳細な説明

序文インターセプター最近のフロントエンド フレームワークでは、インターセプターは基本的に非常に基本的...

Linux 3.X/4.x/5.x でパゴダ パネルのパスワードを忘れた場合の解決方法

ssh に入り、次のコマンドを入力してパスワードをリセットします (コマンドの末尾の「testpas...

Windows Server 2019 のインストール (グラフィカル チュートリアル)

Windows Server 2019 は、Microsoft が公式にリリースした最新のサーバー...

HTML ページ ソース コード レイアウトの概要_Powernode Java Academy

HTML ページ ソース コード レイアウトの概要この紹介では、Google のホームページのソー...

CentOs7 64 ビット MySQL 5.6.40 ソースコードのインストール プロセス

1. インストールプロセス中に問題が発生しないように、まず依存パッケージをインストールします。 [r...

Html+CSS フローティング広告ストリップの実装

1.html部分コードをコピーコードは次のとおりです。 <!DOCTYPE html> ...

HTML コードの書き方に関する提案のまとめ

リソースファイルのプロトコルを省略する画像、メディアファイル、スタイル、スクリプトの URL では、...

MySQLインデックスとは何ですか?わからない場合は聞いてください

目次概要二分木からB+木へクラスター化インデックス非クラスター化インデックスジョイントインデックスと...

キャッシュサーバーを構築するためのMemcached方式

序文多くの Web アプリケーションは、リレーショナル データベース管理システム (RDBMS) に...

Tomcat で JNDI データ ソースを構成する 3 つの方法

これまでの仕事では、開発サーバーは一般的にTomcatでした。データソースは、多くの場合、appli...

反応自動構築ルーティングの実装

目次順序1. 集中ルーティング2. ファイルディレクトリ3. CompileRouterを作成する4...

指定された期間内のすべての日付または月を取得する MySQL ステートメント (ストアド プロシージャの設定やテーブルの追加は不要)

mysql は期間内のすべての日付または月を取得します1: mysqlは期間内のすべての月を取得し...