記事ディレクトリ
仮想ホストは、単一のサーバーで1つ以上のコマンドを実行できるようにするApache構成コマンドです。仮想ホスティングを介して、Webサイトのルートディレクトリ(Webサイトファイルをホストする)を指定したり、Webサイトごとに独立したセキュリティポリシーを作成したり、異なる[SSL証明書](https://cloud.tencent.com/product/symantecssl?from=10680)を使用したりできます。
この記事では、Ubuntu20.04でApache仮想ホストをセットアップする方法について説明します。
以下のガイドに進む前に、次の前提条件を満たしていることを確認してください。
ファイルルートディレクトリは、ドメイン名に対応するWebサイト[ファイルストレージ](https://cloud.tencent.com/product/cfs?from=10680)の場所であり、Webサイト要求が応答される場所です。サイトのルートディレクトリは任意の場所に設定できます。この例では、次のディレクトリ構造を使用します。
/var/www/
├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
ホストされているドメイン名ごとに、そのドメイン名のルートディレクトリは / var / www /に設定されます<domain_name>/ public_html
。
ドメイン名のルートディレクトリの作成を開始します。
sudo mkdir -p /var/www/domain1.com/public_html
ドメイン名のルートディレクトリに index.html
ファイルを作成します。このファイルは、ブラウザでドメイン名を参照すると表示されます: / var / www / domain1.com / public_html / index.html
<! DOCTYPE html><html lang="en" dir="ltr"><head><meta charset="utf-8"><title>Welcome to domain1.com</title></head><body><h1>Success! domain1.com home page!</h1></body></html>
上記のコマンドはsudoユーザーとして実行されるため、新しく作成されたファイルとディレクトリはrootに属します。権限の問題を回避するには、ドメイン名のルートディレクトリとこのディレクトリ内のすべてのファイルをapacheユーザー( www-data
)に変更します。
sudo chown -R www-data:/var/www/domain1.com
Ubuntuシステムでは、Apache仮想ホスト構成ファイルは / etc / apache2 / sites-available
ディレクトリにあります。これらは、Apacheの起動時に読み取られる / etc / apache2 / sites-enabled
ディレクトリへのシンボリックリンクを作成することにより、仮想ホスト構成を有効にできます。
選択したテキストエディタを開き、次の仮想ホスト構成ファイルを作成します: / etc / apache2 / sites-available / domain1.com.conf
< VirtualHost *:80>
ServerName domain1.com
ServerAlias www.domain1.com
ServerAdmin [email protected]
DocumentRoot /var/www/domain1.com/public_html
< Directory /var/www/domain1.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
< /Directory>
ErrorLog ${APACHE_LOG_DIR}/domain1.com-error.log
CustomLog ${APACHE_LOG_DIR}/domain1.com-access.log combined
< /VirtualHost>
ServerName
:仮想ホストによって一致するドメイン名。これはあなたのドメイン名かもしれません。
ServerAlias
: www
サブドメインなど、この仮想ホストの他のドメイン名またはサブドメインと一致します。
DocumentRoot
:ApacheWebサイトのルートディレクトリ
オプション
:ディレクティブは、指定されたディレクトリのサーバー特性を制御します
- Indexes
:ディレクトリリストを防ぐ
FollowSymLinks
:このオプションを有効にすると、Apacheはシンボリックリンクファイルへのアクセスを許可します
AllowOverride
: .htaccess
ファイル内のどのディレクティブが構成ファイル内のディレクティブをオーバーライドできるかを指定します。
ErrorLog
、 CustomLog
:ログファイルの場所を指定します。
構成ファイルには任意の名前を付けることができますが、ベストプラクティスは、仮想ホスト構成ファイルの名前としてドメイン名を使用することです。
新しい仮想ホストファイルを有効にするには、 a2ensite
ヘルパースクリプトを使用して、仮想ホストファイルの sites-enabled
ディレクトリへのシンボリックリンクを作成します。
sudo a2ensite domain1.com
もう1つのオプションは、次のようなシンボリックリンクを手動で作成することです。
sudo ln -s /etc/apache2/sites-available/domain1.com.conf /etc/apache2/sites-enabled/
完了したら。構文エラーがないか構成ファイルをテストします。
sudo apachectl configtest
エラーがない場合は、次の出力が表示されます。
Syntax OK
変更を有効にするには、Apacheサーバーを再起動します。
sudo systemctl restart apache2
最後に、すべてが期待どおりに行われたことを確認するには、ブラウザで http:// domain1.com
を開くと、 index.html
ページが表示されます。
複数のドメイン名をホストするために、Ubuntuサーバー上にapache仮想ホスト構成を作成する方法を学習しました。
上記の手順を繰り返して、すべてのドメイン名に対して他の仮想ホストを作成します。
オリジナル:https://linuxize.com/post/how-to-set-up-apache-virtual-hosts-on-ubuntu-20-04/
著作権ステートメント:この作品はクリエイティブコモンズの帰属を使用しています-同じように4を共有する.0ライセンスに関する国際ライセンス契約。
Recommended Posts