GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS8に仮想ホストでApacheをインストールする方法

アパッチ webserverは、オープンソースで人気のあるHTTP Webサーバーであり、ホスティング業界で引き続き大きな市場シェアを獲得しています。ほんの数例を挙げると、モジュールの機能強化、マルチプロトコルのサポート、簡略化された構成、多言語のサポートなど、多数の機能が付属しています。

また読む :CentOS8にNginxをインストールする方法

このガイドでは、 Apacheのインストールについて説明します。 CentOS 8のウェブサーバー およびRHEL8 仮想ホスト環境で。このチュートリアルを書いている時点で、Apacheの最新バージョンは Apache 2.2.43です。 。

ApacheWebサーバーのインストール

開始するには、まず CentOS 8を更新します またはRHEL8 次のdnfコマンドを使用したシステムパッケージリスト。

$ sudo dnf update

アップデートが完了したら、 Apacheをインストールします 次のコマンドを実行してWebサーバーを作成します。

$ sudo dnf install httpd

インストールしたら、rpmコマンドを実行してApacheのバージョンを確認できます。

$ rpm -qi httpd

Apacheのバージョンを確認する

このコマンドは、パッケージのバージョン、リリース日、ビルド、アーキテクチャなどの一連の情報を出力します。

Apache HTTP Webサービスを開始するには、systemctlコマンドを実行します。

$ sudo systemctl start httpd

サービスが実行されているかどうかを確認するには、実行します。

$ sudo systemctl status httpd

Apacheサービスステータスの確認

出力から、「アクティブ の緑色のステータスは、ApacheWebサーバーが稼働中であることを示します。

ウェブサーバーが実行されているという疑問を解消するには、図のようにサーバーのIPアドレスまたはドメイン名を参照してApacheにテストページをリクエストします。

http://server-ip  

ifconfigコマンドを実行すると、サーバーのIPを取得できます。サーバーがクラウドでホストされている場合は、curlコマンドを実行してパブリックIPを取得できます。

$ curl ifconfig.me 
OR
$ curl -4 icanhazip.com

CentOSサーバーのIPアドレスを見つける

サーバーのIPアドレスを参照すると、次のWebページが表示されます。

ApacheWebページを確認してください

これは、Webサーバーが実行されていることの確かな確認です。

ApacheWebサーバーの管理

Apacheを使用 インストールして実行すると、 systemctlを使用できます Apacheを管理するための検査ツール。

たとえば、Apacheを停止するには、次のコマンドを実行します。

$ sudo systemctl stop httpd

サービスをもう一度開始するには、次を実行します。

$ sudo systemctl start httpd

構成ファイルのいずれかに変更を加え、変更を適用するために再起動する必要がある場合は、次のコマンドを実行します。

$ sudo systemctl restart httpd

通常、サービスを再起動するとサービスが中断します。より良い代替策は、接続を中断することなく単にリロードすることです。

$ sudo systemctl reload httpd

起動時または再起動時にApacheWebサーバーを自動的に起動するには、以下のコマンドを実行します。これにより、Apacheがユーザーの介入なしに自動的に起動するようになります。

$ sudo systemctl enable httpd

起動時にサービスを自動的に開始しないことを選択した場合は、次を実行します。

$ sudo systemctl disable httpd

Apache仮想ホストのセットアップ

デフォルトでは、ApacheWebサーバーは1つのWebサイトのみを提供またはホストするように構成されています。 1つのWebサイトのみをホストする場合は、この手順は必要ありません。ただし、サーバーで複数のドメインをホストする予定の場合は、Apache仮想ホストを構成する必要があります。

仮想ホストは、デフォルトのドメインとは別のドメインを設定できる構成を含む別のファイルです。このガイドでは、ドメイン crazytechgeek.infoの仮想ホストを設定します 。

デフォルトの仮想ホストは、/var/www/htmlにあります。 ディレクトリ。これは、単一のサイトでのみ機能します。ドメイン用に別の仮想ホストを作成するには、/var/www内に別のディレクトリ構造を作成します 示されているディレクトリ。

$ sudo mkdir -p /var/www/crazytechgeek.info/html

さらに、ログファイルを保存するためのディレクトリを作成することもできます。

$ sudo mkdir -p /var/www/crazytechgeek.info/log

次に、$USERを使用してファイルのアクセス許可を編集します 示されている環境変数。

$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

また、図のようにwebrootディレクトリの権限を調整します。

$ sudo chmod -R 755 /var/www

次に、サンプルのindex.htmlを作成します 図のようにファイルします。

$ sudo vim /var/www/crazytechgeek.info/html/index.html

文字'i'を押す キーボードで、仮想ホストをテストするときにWebブラウザに表示されるサンプルコンテンツを図のように貼り付けます。

<html>
  <head>
    <title>Welcome to crazytechgeek.info!</title>
  </head>
  <body>
    <h1>Success! The crazytechgeek.info virtual host is up and perfectly working!</h1>
  </body>
</html>

構成ファイルを保存して終了します。

サンプルインデックスファイルとサイトディレクトリが作成されたら、次に進んで仮想ホストファイルを作成できます。仮想ホストファイルにはドメインのサイト構成が含まれ、クライアントの要求にどのように応答するかをApacheに指示します。

仮想ホストファイルにはドメインのサイト構成が含まれ、クライアントの要求にどのように応答するかをApacheに指示します。ただし、続行するには、2つのディレクトリを作成する必要があります。sites-available およびsites-enabled ディレクトリ。

仮想ホストファイルはsites-availableに保存されます sites-enabledのディレクトリ ディレクトリには、仮想ホストへのシンボリックリンクが含まれます。

図のように両方のディレクトリを作成します。

$ sudo mkdir /etc/httpd/sites-available
$ sudo mkdir /etc/httpd/sites-enabled

次に、Apache Webサーバーのメイン構成ファイルを変更し、サイトが有効なディレクトリ内の仮想ホストの場所をApacheに指示します。

$ sudo vim /etc/httpd/conf/httpd.conf

構成ファイルの最後に示されているように行を追加します。

IncludeOptional sites-enabled/*.conf

保存して終了します。

次に、次のように仮想ホストファイルを作成します。

$ sudo vim /etc/httpd/sites-available/crazytechgeek.info

以下のコンテンツを貼り付けて、crazytechgeek.infoを置き換えます 自分のドメイン名で。

<VirtualHost *:80>
    ServerName www.crazytechgeek.info
    ServerAlias crazytechgeek.info
    DocumentRoot /var/www/crazytechgeek.info/html
    ErrorLog /var/www/crazytechgeek.info/log/error.log
    CustomLog /var/www/crazytechgeek.info/log/requests.log combined
</VirtualHost>

ファイルを保存して終了します。

次に、sites-enabledにシンボリックリンクを作成して、仮想ホストファイルを有効にします。 ディレクトリ。

$ sudo ln -s /etc/httpd/sites-available/crazytechgeek.info.conf /etc/httpd/sites-enabled/crazytechgeek.info.conf

仮想ホストのSELinuxパーミッションの調整

CentOS 8 およびRHEL8 SELinuxに同梱 これは、Linuxシステムのセキュリティを強化するためのセキュリティモジュールです。カスタムのログを構成したため 前のステップのディレクトリでは、いくつかのSELinuxポリシーを更新して、ApacheWebサーバーにディレクトリへの書き込みを指示する必要があります。

SELinux Apacheポリシーの調整には、2つのアプローチがあります。調整ポリシーを普遍的に調整することと、ディレクトリ上のポリシーを調整することです。後者の方が好ましいため、後者が推奨されます。

ディレクトリでのSELinuxポリシーの調整

SELinuxの編集 ログディレクトリの権限により、ApacheのWebサーバーのポリシーを完全に制御できます。この方法は非常に時間がかかり、仮想ホスト構成ファイルで指定された追加のディレクトリのコンテキストタイプを手動で構成する必要があります。

開始する前に、まずSELinuxによってログディレクトリに割り当てられたコンテキストタイプを確認します。

$ sudo ls -dlZ /var/www/crazytechgeek.info/log/

出力は、以下のようになります。

ApacheログディレクトリにSELinuxポリシーを設定する

出力から、設定されたコンテキストは httpd_sys_content_t 。これは、Webサーバーがログディレクトリ内のファイルのみを読み取ることができることを示しています。このコンテキストをhttpd_log_tに変更する必要があります Apacheがログエントリを生成してディレクトリに追加できるようにします。

したがって、次のコマンドを実行します。

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"

「semanage:コマンドが見つかりません」というエラーが発生した場合。

これは、 semanageを提供するパッケージを意味します コマンドがインストールされていません。このエラーを修正するには、これらのパッケージをインストールする必要があります。ただし、最初に、次のコマンドを実行して、どのパッケージがsemanageコマンドを提供しているかを確認します。

$ sudo dnf whatprovides /usr/sbin/semanage

出力は、semanageを提供するパッケージを提供します。これは policycoreutils-python-utils

次に、DNFパッケージマネージャーを使用して、図のようにパッケージをインストールします。

$ sudo dnf install policycoreutils-python-utils

これで、コンテキストを変更するためのコマンドが機能するはずです。

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"

変更を保存して永続化するには、 restoreconを発行します 示されているコマンド:

$ sudo restorecon -R -v /var/www/crazytechgeek.info/log

次のコマンドをもう一度実行すると、変更を確認できます。

$ sudo ls -dlZ /var/www/crazytechgeek.info/log/

SELinuxコンテキストタイプを確認する

コンテキストタイプがhttpd_log_tに変更されていることに注意してください。 出力に見られるように。

変更を適用するには、Apacheを再起動します。

$ sudo systemctl restart httpd

次のように内容を一覧表示することで、Apacheがログディレクトリにログファイルを保存しているかどうかを確認できます。

$ ls -l /var/www/crazytechgeek.info/log/

図のように、エラーログファイルとリクエストログファイルの2つのログファイルが表示されるはずです。

Apacheログファイルを確認する

Apache仮想ホストのテスト

最後に、ApacheWebサーバーが仮想ホストファイルを提供していることを確認する必要があります。これを行うには、ブラウザを開き、サーバーのIPアドレスまたはドメイン名に移動します。

http://domain-name

Apache仮想ホストのWebサイトを確認する

完全!これは、すべてが順調に進んでおり、仮想ホストが期待どおりに提供されていることを示しています。

結論

このガイドでは、 Apacheのインストール方法を学びました。 CentOS 8のウェブサーバー およびRHEL8 また、追加のドメインのコンテンツを提供するように仮想ホストファイルを構成する方法についても説明します。追加のドメインに対応するのに適していると思われる場合は、複数の仮想ホストファイルを自由に構成してください。

完全なホスティングスタックをセットアップする場合は、CentOS8にLAMPスタックをインストールすることをお勧めします。

共有は思いやりがあります…
Facebookで共有するTwitterで共有するLinkedinで共有するRedditで共有する
Cent OS
  1. CentOS8にApacheCassandraをインストールする方法

  2. CentOS7にApacheをインストールする方法

  3. CentOS7にApacheでLet'sEncryptをインストールする方法

  1. CentOS7にApacheMavenをインストールする方法

  2. CentOS7にApacheを使用してWordPressをインストールする方法

  3. CentOS7にApacheCassandraをインストールする方法

  1. CentOS8にApacheをインストールする方法

  2. CentOS8にApacheMavenをインストールする方法

  3. CentOS7でApache仮想ホストを作成する方法