Apacheとは?ApacheによるWebサーバー構築方法を徹底解説!
ApacheといえばWebアプリケーションを実装しているエンジニアなら1度は触ったことがあるほど有名なWebサーバーでしょう。
一般的にはネイティブ・アメリカンのアパッチ族(Apache)に敬意を込めて名付けたとされています。
一方で名前の由来は特になく当時の開発メンバーの思い付きだという説もあり、本当のところは謎に包まれているようでした。
さて本記事ではApacheのインストール・初期設定などのセットアップ、およびOS別の操作方法についての解説が中心です。
共通の設定ファイルなどの内容には触れませんので、求めている内容だという方のみお進み下さい。
Apacheとは
「Apache HTTP Server」はWebサーバーを立ち上げるのに必要なミドルウェアの1つです。
オープンソースのソフトウェアとして公開・配布されています。
1999年頃にApacheソフトウェア財団の元となる組織が作られ、その後20年以上も使われ続けている信頼性の高いWebサーバーです。
Apacheのモジュール構造
Apacheには最低限の機能をコアに実装し、拡張機能はモジュールという形で後から追加します。
モジュールの有効・無効を切り替えたり、追加・削除をしたりして必要なモジュールだけを読み込み、消費リソースを減らす仕組みです。
ApacheとNginx
最近はよくNginxという別のWebサーバーと比較されます。
設定ファイルに関していえばApacheは書き方に癖があり慣れが必要ですが、Nginxは正規表現などが使えて割と分かりやすいです。
どちらかというとApacheは重い処理に、Nginxは大量アクセスを捌くのに向いています。
HTTPサーバーの役割
そもそもミドルウェアとしてのHTTPサーバーの役割についてはご存知でしょうか。
HTTP(HyperText Transfer Protocol)はサーバー側とクライアント側がデータを送受信するときのプロトコルです。
クライアント側がサーバー側に対してHTTPリクエストを送信し、サーバー側がこれを受信してHTTPレスポンスを返します。
Apache HTTP ServerはこれらのHTTPレスポンス・HTTPリクエストを送受信するためのソフトウェアです。
Apacheのセットアップ:Ubuntu編
LinuxディストリビューションのOSを代表してUbuntuでセットアップ手順を説明しましょう。
- $ cat /etc/issue
- Ubuntu 18.04.4 LTS
Apacheのインストール
「sudo apt update」を忘れると正常にインストールが始まらない場合がありますので、事前に実行しておくことをおすすめします。
Apacheのインストールとインストール後のバージョンの確認は、以下のコマンドで行って下さい。
- $ sudo apt install -y apache2
- (略)
- $ sudo apache2 -v
- Server version: Apache/2.4.29 (Ubuntu)
- Server built: 2020-03-13T12:26:16
ファイヤーウォールの設定
ファイヤーウォールの調整をしてApacheが外部にアクセスできるように許可します。
ufwコマンドはUncomplicated FireWallを操作するコマンドです。「ufw app list」でアプリケーションのリストを表示します。
- $ sudo ufw app list
- Available applications:
- Apache
- Apache Full
- Apache Secure
- CUPS
- Apache(80番ポートのみ許可)
- Apache Full(80番・443番ポートを許可)
- Apache Secure(443番ポートのみ許可)
ここでは2番目のApache Fullプロファイルを許可しましょう。
- $ sudo ufw allow ‘Apache Full’
- Rule added
- Rule added (v6)
- $ sudo ufw enable
- Firewall is active and enabled on system startup
- $ sudo ufw status
- Status: active
- To Action From
- — —— —-
- Apache Full ALLOW Anywhere
- Apache Full (v6) ALLOW Anywhere (v6)
さてWebブラウザから以下のURLにアクセスしてみて下さい。ApacheのUbuntu用のトップ画面が表示されている筈です。
- http://localhost/
Apacheの操作:Ubuntu編
UbuntuでのApacheの操作方法について解説しましょう。
Apacheの起動・停止・再起動
Apacheの起動・停止・再起動の各操作は以下のように行います。コンソールには特に結果などは出力されません。
- $ sudo systemctl stop apache2 # 起動
- $ sudo systemctl start apache2 # 停止
- $ sudo systemctl restart apache2 # 再起動
現在の状態を確認するには次の状態確認のコマンドを実行する必要があります。
Apacheの状態確認
それでは状態を確認してみましょう。
- $ sudo systemctl status apache2
- ● apache2.service – The Apache HTTP Server
- Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
- Drop-In: /lib/systemd/system/apache2.service.d
- └─apache2-systemd.conf
- Active: active (running) since Wed 2020-04-15 18:09:16 JST; 6min ago
- (後略)
デフォルトで緑色の●が表示され、「Active: active (running)」と記載されていれば正常に動作しています。
Apacheの自動起動設定
UbuntuのApacheインストールではOSの起動時に自動でApacheが起動するように設定済みです。
Apacheのセットアップ:macOS X編
macOS Xでのセットアップ手順を説明する必要はありません。実はmacOS XにはデフォルトでApacheがインストールされています。
- $ sw_vers
- ProductName: Mac OS X
- ProductVersion: 10.15.4
- BuildVersion: 19E266
- $ httpd -version
- Server version: Apache/2.4.41 (Unix)
- Server built: Oct 17 2019 18:04:28
もしより新しいバージョンを使用したい場合は、手動でインストールを行わなければなりません。
Apacheの操作:macOS X編
macOS XでのApacheの操作方法について解説しましょう。
Apacheの起動・停止・再起動
Apacheの起動・停止・再起動の各操作は以下のように行います。
- $ sudo apachectl start # 起動
- $ sudo apachectl stop # 停止
- $ sudo apachectl graceful # 再起動
Apacheの状態確認
それでは状態を確認してみましょう。
- $ sudo apachectl status
- Go to http://localhost:80/server-status in the web browser of your choice.
- Note that mod_status must be enabled for this to work.
上記のメッセージのURL「http://localhost:80/server-status」にアクセスすると、トップ画面が表示されている筈です。
Apacheのセットアップ:Windows10編
Windows10でのセットアップ手順を説明しましょう。
Apacheのダウンロード
Downloading Apache for Windows
Windows環境にApacheを導入する方法は複数存在します。ここではXAMPPを用いたインストール方法を紹介しましょう。
リンクからXAMPPのホームページにアクセスし、「Windows向けXAMPP」のボタンをクリックしてダウンロードを行います。
Apacheのインストール
ダウンロードした「xampp-windows-x64-X.X.X-0-VC15-installer.exe」を実行しましょう。
「Select Components」で必要なコンポーネントを選択して下さい。
コンポーネントは後から追加もできますので、パソコンの容量に余裕がない方は最低限でも大丈夫です。
PHPやMariaDBなども必要であればまとめてインストールしてしまっても構わないでしょう。
「Installation folder」はデフォルトのままにしておくことをおすすめします。
「Bitnami for XAMPP」ではチェックを外して「Next >」をクリック、後は指示通りにボタンを押していけば問題ありません。
XAMPPとは
ApacheもといXAMPPの使い方を解説する前に、XAMPPが何かを説明しておきましょう。
XAMPPは開発や学習に必要なプログラミング言語やミドルウェアをインストール・管理するパッケージソフトウェアです。
Windows・macOS・Linuxディストリビューションのクロスプラットフォームをサポートしています。
- X……クロスプラットフォームの表意文字
- A……Apache
- M……MariaDB(以前はMySQL)
- P……PHP
- P……PERL
Apacheの操作:Windows10編
Windows10でのApacheの操作方法について解説しましょう。
XAMPP Control Panelの起動
その名の通りXAMPPをコントロールするための操作盤です。
インストール後は最後のウィンドウでチェックボックスにチェックを付けていれば起動します。
メニューから開く場合は他のアプリのように検索するか、スタートメニューから「XAMPP > XAMPP Control Panel」で開きましょう。
インストールされたソフトウェアの一覧がボタンと共に並んでいます。
Apacheの起動・停止
Apacheの起動・停止の各操作について説明しましょう。
XAMPP Control PanelのApache行・Actions列にあるStartボタンを押すと、Apacheが起動すると同時にStopボタンに表示が変わります。
このStopボタンを押せば、しばらくの後に停止するでしょう。
Apacheの状態確認
Startボタンを押した後、Apache行・Module列のApacheの背景色が緑色に変わっていれば成功です。
- http://localhost/
上記のURLにアクセスするとXAMPPのトップ画面が表示されているでしょう。
ボタン左側のApache行・Port(s)列でポート番号の確認ができます。
またConfigボタンを押すとApacheの設定ファイルがコンテキストメニューに表示されますので、いずれかをクリックしてみましょう。
するとテキストエディタで設定ファイルが開きます。
おわりに
Apacheのインストール方法や操作方法が、オペレーティングシステムによってかなり異なることはお分かり頂けたでしょうか。
今回は基本的なインストール方法としてUbuntu・macOS X・Windows10の3種類の環境のみを紹介しました。
しかしBitnamiを利用してLAMP環境を構築する方法や、Dockerで作成した仮想環境で動くApacheを利用する方法もあります。
もしApacheの導入を考えている方がいれば、一旦これらの情報を調べて素のApacheで良いかどうか判断してからの方が良いでしょう。
操作方法はどの環境で立ち上げても役に立ちますので、覚えておいて損はないと思います。