開発者ドキュメント

Ubuntu18.04にApacheWebサーバーをインストールする方法

序章

Apache HTTPサーバーは、世界で最も広く使用されているWebサーバーです。 動的にロード可能なモジュール、堅牢なメディアサポート、他の一般的なソフトウェアとの広範な統合など、多くの強力な機能を提供します。

このガイドでは、Ubuntu18.04サーバーにApacheWebサーバーをインストールする方法を学習します。 このガイドでは、重要なApacheファイルとディレクトリに関する情報も概説しています。

前提条件

このガイドを開始する前に、サーバーにsudo権限を持つ通常の非rootユーザーが設定されている必要があります。 さらに、必須ではないポートをブロックするには、基本的なファイアウォールを有効にする必要があります。 Ubuntu 18.04 初期サーバーセットアップガイドに従って、通常のユーザーアカウントを構成し、サーバーのファイアウォールをセットアップする方法を学ぶことができます。

アカウントを作成したら、root以外のユーザーとしてログインして開始します。

ステップ1—Apacheをインストールする

ApacheはUbuntuのデフォルトのソフトウェアリポジトリ内で利用可能であり、従来のパッケージ管理ツールを使用してインストールすることができます。

最新のアップストリームの変更を反映するようにローカルパッケージインデックスを更新することから始めましょう。

  1. sudo apt update

次に、apache2パッケージをインストールします。

  1. sudo apt install apache2

インストールを確認した後、aptはApacheと必要なすべての依存関係をインストールします。

ステップ2—ファイアウォールを調整する

Apacheをテストする前に、ファイアウォール設定を変更して、デフォルトのWebポートへの外部アクセスを許可する必要があります。 前提条件の指示に従った場合は、サーバーへのアクセスを制限するようにUFWファイアウォールを構成する必要があります。

インストール中に、ApacheはUFWに登録して、ファイアウォールを介したApacheへのアクセスを有効または無効にするために使用できるいくつかのアプリケーションプロファイルを提供します。

次のコマンドを実行して、ufwアプリケーションプロファイルを一覧表示します。

  1. sudo ufw app list

これにより、アプリケーションプロファイルのリストが返されます。

Output
Available applications: Apache Apache Full Apache Secure OpenSSH

このリストは、Apacheで使用できるプロファイルが3つあることを示しています。

構成したトラフィックを引き続き許可する最も制限の厳しいプロファイルを有効にすることをお勧めします。 このガイドではまだサーバーのSSLを構成していないため、ポート80でのトラフィックのみを許可する必要があります。

  1. sudo ufw allow 'Apache'

ステータスを確認して、この変更を確認します。

  1. sudo ufw status

これで、許可されたHTTPトラフィックが出力に表示されます。

Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

Apacheプロファイルがアクティブ化され、Webサーバーへのアクセスが許可されました。

ステップ3—Webサーバーを確認する

インストールプロセスの最後に、Ubuntu18.04はApacheを起動します。 Webサーバーはすでに稼働しているはずです。

systemd initシステムで、サービスが実行されていることを確認してください。

  1. sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Tue 2021-09-28 16:52:56 UTC; 1min 14s ago Main PID: 9409 (apache2) Tasks: 55 (limit: 4915) CGroup: /system.slice/apache2.service ├─9409 /usr/sbin/apache2 -k start ├─9410 /usr/sbin/apache2 -k start └─9411 /usr/sbin/apache2 -k start

この出力は、サービスが正常に開始されたことを示しています。 ただし、これを確認する最良の方法は、Apacheにページを要求することです。

デフォルトのApacheランディングページにアクセスして、ソフトウェアがIPアドレスを介して正しく実行されていることを確認できます。 サーバーのIPアドレスがわからない場合は、コマンドラインからいくつかの異なる方法で取得できます。

サーバーのコマンドプロンプトで次を実行します。

  1. hostname -I

スペースで区切られたいくつかのアドレスを受け取ります。 Webブラウザーでそれぞれを試して、機能するかどうかを確認できます。

別の方法として、次のコマンドを実行します。これにより、インターネット上の別の場所から識別されるパブリックIPアドレスが提供されます。

  1. curl -4 icanhazip.com

サーバーのIPアドレスを取得したら、それをブラウザのアドレスバーに入力します。

http://your_server_ip

デフォルトのUbuntu18.04ApacheWebページを受け取るはずです。

このWebページは、Apacheが正しく機能していることを示しています。 また、重要なApacheファイルとディレクトリの場所に関する基本的な情報も含まれています。

ステップ4—Apacheプロセスの管理

Webサーバーが稼働しているので、いくつかの基本的な管理コマンドを確認しましょう。

次のコマンドでWebサーバーを停止できます。

  1. sudo systemctl stop apache2

Webサーバーが停止しているときに起動するには、次のコマンドを実行します。

  1. sudo systemctl start apache2

次のコマンドを実行すると、サービスを停止してから再開できます。

  1. sudo systemctl restart apache2

設定を変更するだけの場合、Apacheは接続を切断せずにリロードできることがよくあります。 これを行うには、次のコマンドを実行します。

  1. sudo systemctl reload apache2

デフォルトでは、Apacheはサーバーの起動時に自動的に起動するように構成されています。 これが希望どおりでない場合は、次の方法でこの動作を無効にできます。

  1. sudo systemctl disable apache2

または、サービスを有効または再度有効にして起動時に起動するには、次のコマンドを実行します。

  1. sudo systemctl enable apache2

サーバーが再起動すると、Apacheが自動的に起動するようになりました。

Apache Webサーバーを使用する場合、仮想ホスト(Nginxのサーバーブロックと同様)を使用して、構成の詳細をカプセル化し、単一のサーバーから複数のドメインをホストできます。 この例では、 your_domain というドメインを設定しますが、これを独自のドメイン名に置き換える必要があります。 DigitalOceanを使用したドメイン名の設定の詳細については、 DigitalOceanDNSの概要をお読みください。

Ubuntu 18.04上のApacheでは、/var/www/htmlディレクトリからドキュメントを提供するように構成された1つのサーバーブロックがデフォルトで有効になっています。 これは単一のサイトではうまく機能しますが、複数のサイトをホストしている場合は扱いにくくなる可能性があります。 /var/www/htmlを変更する代わりに、 your_domain サイトの/var/www内にディレクトリ構造を作成し、/var/www/htmlをデフォルトのディレクトリとして残します。クライアントリクエストが他のサイトと一致しません。

次のように、your_domainのディレクトリを作成します。

  1. sudo mkdir /var/www/your_domain

次に、$USER環境変数を使用してディレクトリの所有権を割り当てます。

  1. sudo chown -R $USER:$USER /var/www/your_domain

unmaskの値を変更していない場合は、Webルートのアクセス許可は正しいはずですが、次のように入力することで確認できます。

  1. sudo chmod -R 755 /var/www/your_domain

次に、nanoまたはお気に入りのエディターを使用して、サンプルのindex.htmlページを作成します。

  1. nano /var/www/your_domain/index.html

内部に、次のサンプルHTMLを追加します。

/var/www/your_domain/index.html
<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain virtual host is working!</h1>
    </body>
</html>

終了したら、ファイルを保存して閉じます。 nanoを使用した場合は、CTRL + XYENTERの順に押すと終了できます。

Apacheがこのコンテンツを提供するには、正しいディレクティブを使用して仮想ホストファイルを作成する必要があります。 /etc/apache2/sites-available/000-default.confにあるデフォルトの構成ファイルを直接変更する代わりに、/etc/apache2/sites-available/your_domain.confで新しい構成ファイルを作成します。

  1. sudo nano /etc/apache2/sites-available/your_domain.conf

次の構成ブロックを追加します。これはデフォルトに似ていますが、新しいディレクトリとドメイン名用に更新されています。

/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

DocumentRootを新しいディレクトリに更新し、ServerAdminyour_domainサイト管理者がアクセスできる電子メールに更新したことに注意してください。 また、2つのディレクティブを追加しました。この仮想ホスト定義に一致する必要があるベースドメインを確立するServerNameと、ベースであるかのように一致する必要があるさらなる名前を定義するServerAliasです。名前。

終了したら、ファイルを保存して閉じます。

次に、a2ensiteツールを使用してファイルを有効にします。

  1. sudo a2ensite your_domain.conf

000-default.confで定義されているデフォルトサイトを無効にします。

  1. sudo a2dissite 000-default.conf

次に、構成エラーをテストします。

  1. sudo apache2ctl configtest

次の出力が表示されます。

Output
Syntax OK

Apacheを再起動して、変更を実装します。

  1. sudo systemctl restart apache2

これで、Apacheがドメイン名を提供するはずです。 これをテストするには、http://your_domainに移動します。ここで、次のようなものが表示されます。

ステップ6–重要なApacheファイルとディレクトリに精通する

Apacheサービス自体を管理する方法がわかったので、いくつかの重要なディレクトリとファイルに慣れるために数分かかる必要があります。

コンテンツ

サーバー構成

サーバーログ

結論

Apache Webサーバーがインストールされたので、提供できるコンテンツのタイプと、より豊かなエクスペリエンスを作成するために使用できるテクノロジーについて、多くのオプションがあります。

より完全なアプリケーションスタックを構築したい場合は、 Ubuntu18.04でLAMPスタックを構成する方法に関するこの記事を読むことができます。 また、 Ubutnu 18.04でLet’sEncryptを使用してApacheを保護する方法に関するこのチュートリアルで、無料のTLS/SSL証明書を取得してインストールする方法を学ぶことができます。

モバイルバージョンを終了