仮想ホスティングは、単一のWebサーバーで複数のWebサイトをホストするために使用されます。ウェブサーバーは、ApacheHTTPウェブサーバーのいずれかです。 、 Microsoft IIS 、lighttpd 、 openLiteSpeed 、など。このガイドでは、 Debian 9でApache仮想ホストをセットアップする方法を説明します。 / Ubuntu 16.04 / LinuxMint 18 。
ApacheWebサーバーには2つのタイプの仮想ホスティングがあります。
1.名前ベースの仮想ホスティング
2.IPベースの仮想ホスティング
名前ベースの仮想ホスティングを使用すると、単一のIPアドレスで複数のウェブサイトを構成できますが、IPベースでは構成できます。 1つのIPアドレスで構成できるWebサイトは1つだけです。
デモでは、「 www.itzgeek1.local」という名前の2つのWebサイトをホストします。 および「www.itzgeek2.local 」を単一のWebサーバーに。
サーバーホスト名: server.itzgeek.local
IPアドレス: 192.168.12.3
Apacheをインストールする前に、リポジトリインデックスを更新してください。
sudo apt-get update
次のコマンドを使用してApacheWebサーバーをインストールします。
sudo apt-get install apache2
インストールされると、システムは自動的にApacheサービスを開始します。
インストールをテストするには、Webブラウザを開いてURLをポイントします。
http:// localhostまたは
http://your.ip.add.ress
デフォルトのページは次のようになります。以下の画像は、Debian9でのApache2のデフォルトページを示しています。
次に、Webドキュメント(.htmlファイル)を保持するディレクトリを作成します。次のコマンドを使用して、各Webサイトのディレクトリ「 www.itzgeek1.local」を作成します。 」および「www.itzgeek2.local 「。
sudo mkdir -p /var/www/html/www.itzgeek1.local sudo mkdir -p /var/www/html/www.itzgeek2.local
次に、両方のディレクトリにindex.htmlファイルを配置して、名前ベースの仮想ホスティングが機能しているかどうかを確認します。
「www.itzgeek1.local」のindex.htmlを作成します 」仮想ホスト。
sudo nano /var/www/html/www.itzgeek1.local/index.html
以下のコンテンツをファイルに配置します。
<html> <head> <title>www.itzgeek1.local</title> </head> <body> <h1>Welcome To www.itzgeek1.local website</h1> </body> </html>
「www.itzgeek2.local」のindex.htmlを作成します 」仮想ホスト。
sudo nano /var/www/html/www.itzgeek2.local/index.html
以下のコンテンツをファイルに配置します。
<html> <head> <title>www.itzgeek2.local</title> </head> <body> <h1>Welcome To wwww.itzgeek2.local website</h1> </body> </html>
デフォルトでは、apacheサービスはwww-dataユーザーとして実行されます。これで、以前に作成した両方の仮想ディレクトリがrootによって所有されているため、所有権を www-dataに変更する必要があります。 これにより、Apacheサーバーがデータを読み書きできるようになります。
sudo chown -R www-data:www-data /var/www/html
また、仮想ディレクトリを誰でも読み取り可能にすることができます。
sudo chmod 755 /var/www/html/
これで、仮想ホストの構成ファイルを作成する準備が整いました。
次に、仮想ホストファイル「 www.itzgeek1.local.conf 」を作成します 仮想ホスト「www.itzgeek1.local。 仮想ホスト構成ファイルは、拡張子が.confで終わる必要があります。
sudo nano /etc/apache2/sites-available/www.itzgeek1.local.conf
次のコンテンツをファイルに追加します。
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.itzgeek1.local DocumentRoot /var/www/html/www.itzgeek1.local ErrorLog ${APACHE_LOG_DIR}/www.itzgeek1.local_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek1.local_ccess.log combined </VirtualHost>
同様に、2番目の仮想ホストファイルを作成します。
sudo nano /etc/apache2/sites-available/www.itzgeek2.local.conf
次のコンテンツをファイルに配置します。
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.itzgeek2.local DocumentRoot /var/www/html/www.itzgeek2.local ErrorLog ${APACHE_LOG_DIR}/www.itzgeek2.local_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek2.local_ccess.log combined </VirtualHost>
仮想ホストファイルを作成したら、サイト対応へのシンボリックリンクを作成して、今作成した新しい仮想ホストを有効にします。 ディレクトリ。
sudo ln -s /etc/apache2/sites-available/www.itzgeek1.local.conf /etc/apache2/sites-enabled/ sudo ln -s /etc/apache2/sites-available/www.itzgeek2.local.conf /etc/apache2/sites-enabled/
apacheサービスを再起動します。
sudo service apache2 restart
ご使用の環境にDNSサーバーがない場合は、「 / etc / hosts」を編集してください 」ファイル。
sudo nano /etc/hosts
以下のエントリを追加してください。
192.168.12.3 www.itzgeek1.local 192.168.12.3 www.itzgeek2.local
Windowsベースのマシンを使用している場合は、「ホスト」を編集します 「C:\ Windows \ System32 \ drivers \ etc」の「」ファイル 」ディレクトリ。
ブラウザを開き、URL http://www.itzgeek1.localをポイントします またはhttp://www.itzgeek2.local 。以前に作成したデモページが表示されます。
www.itzgeek1.localデモページ:
www.itzgeek2.localデモページ:
以上です。