開発者ドキュメント

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

序章

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

このガイドでは、Ubuntu16.04サーバーにApacheWebサーバーをインストールする方法について説明します。

前提条件

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

利用可能なアカウントがある場合は、root以外のユーザーとしてログインして開始します。

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

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

まず、最新のアップストリームの変更を反映するようにローカルパッケージインデックスを更新します。 その後、apache2パッケージをインストールできます。

  1. sudo apt-get update
  2. sudo apt-get install apache2

インストールを確認した後、apt-getは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つあります。

ここでは、次のように入力して、 ApacheFullプロファイルの着信トラフィックを許可します。

  1. sudo ufw allow 'Apache Full'

次のように入力して、変更を確認できます。

  1. sudo ufw status

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

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

ご覧のとおり、プロファイルはWebサーバーへのアクセスを許可するようにアクティブ化されています。

ステップ3:Webサーバーを確認します

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

systemd initシステムで、次のように入力してサービスが実行されていることを確認できます。

  1. sudo systemctl status apache2
Output
● apache2.service - LSB: Apache2 web server Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Fri 2017-05-19 18:30:10 UTC; 1h 5min ago Docs: man:systemd-sysv-generator(8) Process: 4336 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS) Process: 4359 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS) Tasks: 55 Memory: 2.3M CPU: 4.094s CGroup: /system.slice/apache2.service ├─4374 /usr/sbin/apache2 -k start ├─4377 /usr/sbin/apache2 -k start └─4378 /usr/sbin/apache2 -k start May 19 18:30:09 ubuntu-512mb-nyc3-01 systemd[1]: Stopped LSB: Apache2 web server. May 19 18:30:09 ubuntu-512mb-nyc3-01 systemd[1]: Starting LSB: Apache2 web server... May 19 18:30:09 ubuntu-512mb-nyc3-01 apache2[4359]: * Starting Apache httpd web server apache2 May 19 18:30:09 ubuntu-512mb-nyc3-01 apache2[4359]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message May 19 18:30:10 ubuntu-512mb-nyc3-01 apache2[4359]: * May 19 18:30:10 ubuntu-512mb-nyc3-01 systemd[1]: Started LSB: Apache2 web server.

上記のように、サービスは正常に開始されたようです。 ただし、これをテストする最良の方法は、実際にApacheにページを要求することです。

デフォルトのApacheランディングページにアクセスして、ソフトウェアが正しく実行されていることを確認できます。 これには、サーバーのドメイン名またはIPアドレスを介してアクセスできます。

DigitalOceanを使用していて、サーバーにドメイン名を設定していない場合は、ガイドDigitalOceanでドメインを設定する方法に従ってドメイン名を設定できます。

サーバーのドメイン名を設定したくない場合は、サーバーのパブリックIPアドレスを使用できます。 サーバーのIPアドレスがわからない場合は、コマンドラインからいくつかの異なる方法で取得できます。

サーバーのコマンドプロンプトで次のように入力してみてください。

  1. hostname -I

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

別の方法は、これを入力することです。これにより、インターネット上の別の場所から見たパブリックIPアドレスがわかります。

  1. sudo apt-get install curl
  2. curl -4 icanhazip.com

サーバーのIPアドレスまたはドメインがある場合は、それをブラウザのアドレスバーに入力します。

http://server_domain_or_IP

デフォルトのUbuntu16.04ApacheWebページが表示されます。これは次のようになります。

このページは、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が自動的に起動するようになりました。

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

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

コンテンツ

サーバー構成

サーバーログ

結論

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

Apache仮想ホストの使用方法についてはこちらをご覧ください。 より完全なアプリケーションスタックを構築したい場合は、 Ubuntu16.04でLAMPスタックを構成する方法に関するこの記事を確認してください。

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