初心者向けApache HTTP Serverインストール&起動ガイド

Apache HTTP Serverは、世界で最も広く使用されているWebサーバーの一つで、安定性と拡張性の高さから、多くの企業や個人が利用しています。LinuxやWindowsなど、さまざまなOS上で動作し、オープンソースで提供されているため、自由にカスタマイズできるのが特徴です。

この記事では、Apache HTTP Serverをサーバーにインストールし、すぐにWebサイトを立ち上げるまでの手順を初心者向けにわかりやすく解説します。インストールの準備から実際のコマンド入力、動作確認までのプロセスを順を追って説明し、必要な設定やトラブルシューティングについても触れます。

この記事を読むことで、サーバー構築の第一歩をスムーズに踏み出せるようになります。

目次

Apache HTTP Serverとは?


Apache HTTP Server(通称Apache)は、オープンソースのWebサーバーソフトウェアであり、1995年に初めてリリースされました。以来、長年にわたってWebサーバー市場をリードし続けています。現在でも多くのWebサイトがApacheを基盤として運用されており、そのシェアは非常に高いです。

Apacheの特徴

  • クロスプラットフォーム:Linux、Windows、macOSなど幅広いOSに対応。
  • 拡張性が高い:モジュールを追加することで機能を拡張可能。例えばSSL対応やPHPの実行が可能になります。
  • コミュニティの支援:活発なコミュニティによって継続的に開発され、多くの情報がネット上に存在します。
  • 柔軟な設定:設定ファイルを直接編集することで、細かくカスタマイズ可能です。

Apacheを利用するメリット

  • 無料で利用可能:オープンソースのため、コストをかけずに高機能なWebサーバーを導入できます。
  • 安定性と信頼性:長年の運用実績があり、大規模システムでも安定して動作します。
  • セキュリティ:セキュリティパッチが迅速に提供され、脆弱性に対する対応が早いです。

Apacheは個人のブログから企業のWebサービスまで、幅広い用途で利用されており、Webサーバーの基本を学ぶ上で最適なソフトウェアです。

Apacheをインストールする前の準備

Apacheをスムーズにインストールするためには、事前にサーバー環境の確認と必要なソフトウェアの準備が必要です。ここでは、Linux環境を中心に、インストール前のチェックポイントを解説します。

サーバー環境の確認


Apacheは多くの環境で動作しますが、インストール前に以下の要件を確認しておきましょう。

  • OSの種類とバージョン
  • Ubuntu、CentOS、DebianなどのLinux系ディストリビューション
  • WindowsやmacOSでもインストール可能ですが、本記事ではLinuxを対象とします。
  • ネットワーク接続
    パッケージをダウンロードするため、インターネット接続が必要です。
  • ユーザー権限
    インストールにはroot権限またはsudo権限が必要です。
sudo -v

上記コマンドでsudo権限があるか確認しておきましょう。

必要なパッケージのインストール


Apacheのインストールにはパッケージマネージャーを利用します。OSに応じて以下のパッケージが必要になります。

  • Ubuntu/Debian系
  sudo apt update
  sudo apt install -y software-properties-common
  • CentOS/RHEL系
  sudo yum update
  sudo yum install -y epel-release

これにより、Apacheのインストールに必要なリポジトリが利用可能になります。

サーバーのファイアウォール確認


インストール後にApacheを正しく動作させるには、HTTP(80番ポート)とHTTPS(443番ポート)を開放する必要があります。事前に以下のコマンドでファイアウォール設定を確認しておきましょう。

sudo ufw status

または

sudo firewall-cmd --list-all

必要に応じてファイアウォールの設定変更を行いますが、詳細は後述の「ファイアウォール設定とポート解放」で説明します。

これでApacheのインストール準備は完了です。次のステップでは、実際のインストール手順について解説します。

Apacheのインストール手順(Linux編)

Linux環境でApacheをインストールする手順を、主要なディストリビューション(Ubuntu、CentOS)ごとに解説します。

1. Ubuntu/Debian系でのインストール


UbuntuやDebianを使用している場合、Apacheのインストールは非常に簡単です。以下の手順でインストールできます。

Apacheのインストール

sudo apt update
sudo apt install -y apache2
  • sudo apt update はパッケージリストを最新の状態に更新します。
  • sudo apt install -y apache2 でApacheをインストールします。

Apacheの起動と自動起動設定

sudo systemctl start apache2
sudo systemctl enable apache2
  • Apacheを起動し、OS起動時に自動で立ち上がるように設定します。

動作確認


ブラウザで http://サーバーのIPアドレス にアクセスし、”Apache2 Ubuntu Default Page”が表示されればインストールは成功です。

curl http://localhost


これで動作確認も可能です。

2. CentOS/RHEL系でのインストール


CentOSやRHELではhttpdという名称でApacheが提供されています。以下の手順でインストールします。

Apacheのインストール

sudo yum update
sudo yum install -y httpd

Apacheの起動と自動起動設定

sudo systemctl start httpd
sudo systemctl enable httpd

動作確認


ブラウザで http://サーバーのIPアドレス にアクセスしてデフォルトのApacheページが表示されれば、正常にインストールされています。

3. Fedoraでのインストール


Fedoraの場合もCentOSと同様です。

sudo dnf install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd

トラブルシューティング

  • Apacheが起動しない場合は、エラーログを確認します。
sudo journalctl -xe
sudo tail /var/log/apache2/error.log  # Ubuntu
sudo tail /var/log/httpd/error_log    # CentOS
  • firewalldが有効な場合は、ポートの解放が必要です(詳細は後述)。

これでLinux環境へのApacheインストールは完了です。次は、Windows環境でのインストール方法を解説します。

Apacheのインストール手順(Windows編)

Windows環境でApache HTTP Serverをインストールする手順を、公式のバイナリを使用してわかりやすく解説します。

1. Apacheのダウンロード


Apacheの公式Webサイトから最新のWindows版Apacheをダウンロードします。

ダウンロード手順

  1. Apache Lounge にアクセス。
  2. 最新の「Apache x.x.x Win64/32」をダウンロード。
  3. 必要に応じて、VCランタイム(Visual C++ Redistributable)がインストールされていない場合は、同ページからダウンロードしてインストール。

2. Apacheのインストール


ダウンロードしたZIPファイルを解凍し、任意のフォルダ(例:C:\Apache24)に配置します。

フォルダの配置

C:\Apache24  
│  
└───bin  
└───conf  
└───htdocs  
└───logs  

3. 環境変数の設定


Apacheをコマンドラインから簡単に操作できるように、環境変数を設定します。

  1. 「コントロールパネル」→「システム」→「システムの詳細設定」を開く。
  2. 「環境変数」をクリック。
  3. 「システム環境変数」の PathC:\Apache24\bin を追加。

4. Apacheの起動


コマンドプロンプトを管理者権限で起動し、以下のコマンドを実行してApacheを起動します。

httpd -k install
httpd -k start
  • httpd -k install はApacheをサービスとして登録します。
  • httpd -k start でApacheを起動します。

5. 動作確認


ブラウザで http://localhost にアクセスし、Apacheのデフォルトページが表示されればインストールは成功です。

6. Apacheの停止と再起動


Apacheを停止、再起動するには以下のコマンドを使用します。

httpd -k stop
httpd -k restart

トラブルシューティング

  • ポート80がすでに使用されている場合は、conf/httpd.conf 内の以下の部分を変更してポートをずらします。
Listen 8080
  • 設定後、再度httpd -k restartで再起動してください。

これでWindows環境でApacheをインストールし、動作させることができます。次はApacheの基本的な起動・停止方法について解説します。

Apacheの起動と停止コマンド

Apache HTTP Serverのインストール後、基本的な起動、停止、再起動のコマンドを理解しておくことは重要です。ここでは、LinuxとWindowsそれぞれの環境でApacheを操作する方法を説明します。

LinuxでのApache操作

Apacheの起動


Apacheを起動するコマンドは以下の通りです。

sudo systemctl start apache2  # Ubuntu/Debian系
sudo systemctl start httpd    # CentOS/RHEL系
  • 起動後、Webブラウザで http://localhost にアクセスして動作確認を行います。

Apacheの停止


Apacheを停止するには以下のコマンドを実行します。

sudo systemctl stop apache2  # Ubuntu/Debian系
sudo systemctl stop httpd    # CentOS/RHEL系

Apacheの再起動


設定変更後など、Apacheを再起動する必要がある場合は以下のコマンドを使用します。

sudo systemctl restart apache2  # Ubuntu/Debian系
sudo systemctl restart httpd    # CentOS/RHEL系

Apacheの自動起動設定


システム起動時にApacheを自動的に立ち上げるには、以下のコマンドで自動起動を有効化します。

sudo systemctl enable apache2  # Ubuntu/Debian系
sudo systemctl enable httpd    # CentOS/RHEL系

自動起動の無効化

sudo systemctl disable apache2  # Ubuntu/Debian系
sudo systemctl disable httpd    # CentOS/RHEL系

WindowsでのApache操作

Apacheの起動


コマンドプロンプトを管理者権限で起動し、以下のコマンドを実行します。

httpd -k start

Apacheの停止

httpd -k stop

Apacheの再起動

httpd -k restart

Apacheの動作確認


Apacheが起動したら、ブラウザで以下にアクセスして動作確認を行います。

http://localhost  


Apacheのデフォルトページが表示されれば、Apacheは正しく動作しています。

ログの確認


Apacheの起動時にエラーが発生した場合は、ログファイルを確認します。

  • Ubuntu/Debian系/var/log/apache2/error.log
  • CentOS/RHEL系/var/log/httpd/error_log
sudo tail -f /var/log/apache2/error.log  # Ubuntu
sudo tail -f /var/log/httpd/error_log    # CentOS

これでApacheの起動、停止、再起動の基本操作を習得できました。次はApacheの基本設定と動作確認について解説します。

Apacheの基本設定と動作確認

Apacheをインストールして起動した後は、基本的な設定を行い、Webサーバーとして正しく動作しているかを確認します。ここでは、設定ファイルの編集とブラウザを使った動作確認の方法を解説します。

1. Apacheの設定ファイル構成


Apacheの主な設定ファイルは以下の場所にあります。

  • Ubuntu/Debian系/etc/apache2/apache2.conf
  • CentOS/RHEL系/etc/httpd/conf/httpd.conf
  • WindowsC:\Apache24\conf\httpd.conf

設定ファイルを編集することで、ポート番号の変更やドキュメントルートの設定が可能です。

2. サーバーの基本設定

ポート番号の変更


Apacheはデフォルトでポート80を使用します。ポートを変更する場合は、設定ファイルのListenディレクティブを編集します。

Ubuntu/Debian系:

sudo nano /etc/apache2/ports.conf


CentOS/RHEL系:

sudo nano /etc/httpd/conf/httpd.conf

以下の行を探して、ポート番号を変更します。

Listen 80


例:ポート8080に変更

Listen 8080


設定変更後はApacheを再起動します。

sudo systemctl restart apache2  # Ubuntu
sudo systemctl restart httpd    # CentOS

ドキュメントルートの変更


Webサイトのファイルを配置するディレクトリを「ドキュメントルート」と呼びます。デフォルトでは以下のディレクトリが使用されます。

  • Ubuntu/Debian系/var/www/html
  • CentOS/RHEL系/var/www/html
  • WindowsC:\Apache24\htdocs

別のフォルダをドキュメントルートに設定したい場合は、DocumentRootディレクティブを変更します。

DocumentRoot "/var/www/mywebsite"
<Directory "/var/www/mywebsite">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>


変更後はApacheを再起動します。

3. Apacheの動作確認

ブラウザでの確認


Apacheが起動したら、Webブラウザで以下のアドレスにアクセスして動作を確認します。

http://localhost  


またはサーバーのIPアドレスを直接指定します。

http://<サーバーのIPアドレス>  


デフォルトの「Apache2 Ubuntu Default Page」や「It Works!」というページが表示されれば、Apacheは正常に動作しています。

HTMLファイルの配置


動作確認のために、ドキュメントルートにサンプルのHTMLファイルを作成します。

sudo nano /var/www/html/index.html

以下の内容を記述して保存します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>Apache Test</title>
</head>
<body>
    <h1>Apacheが動作しています!</h1>
</body>
</html>


再度ブラウザでアクセスし、「Apacheが動作しています!」と表示されれば成功です。

4. 設定ファイルの文法チェック


Apacheの設定ファイルを編集した後は、文法エラーがないか確認します。

sudo apachectl configtest  # Ubuntu/Debian系
sudo httpd -t              # CentOS/RHEL系


エラーがない場合は「Syntax OK」と表示されます。

これでApacheの基本設定と動作確認は完了です。次はファイアウォール設定とポート解放について解説します。

ファイアウォール設定とポート解放

Apache HTTP Serverが正しく外部からアクセスできるようにするには、ファイアウォールの設定を確認し、必要なポートを解放する必要があります。特にHTTP(80番ポート)とHTTPS(443番ポート)がブロックされていると、外部からのリクエストが遮断されてしまいます。ここではLinux環境でのファイアウォール設定とポート解放手順を解説します。

1. UFW(Ubuntu/Debian系)の設定

Ubuntuでは、ファイアウォールとしてUFW(Uncomplicated Firewall)が使用されます。

Apacheのポートを解放する


以下のコマンドでApache用のポートを解放します。

sudo ufw allow 'Apache'


または、手動でポート番号を指定します。

sudo ufw allow 80
sudo ufw allow 443


設定後、UFWをリロードして変更を反映します。

sudo ufw reload

UFWの状態確認


ファイアウォールの設定状態を確認します。

sudo ufw status


以下のように表示されていれば設定完了です。

80/tcp                    ALLOW       Anywhere                  
443/tcp                   ALLOW       Anywhere                  

2. Firewalld(CentOS/RHEL系)の設定

CentOSやRHELではfirewalldが使用されます。

Apacheのポートを解放する


以下のコマンドでHTTPおよびHTTPSのポートを解放します。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https


またはポート番号を直接指定する方法もあります。

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp

firewalldのリロード


ポート解放後はfirewalldをリロードして設定を反映します。

sudo firewall-cmd --reload

設定確認


解放されたポートを確認するには以下のコマンドを使用します。

sudo firewall-cmd --list-all


httphttpsが含まれていれば成功です。

services: dhcpv6-client http https ssh  

3. Windowsファイアウォールの設定

ポートの解放方法

  1. 「コントロールパネル」→「システムとセキュリティ」→「Windows Defenderファイアウォール」に進みます。
  2. 左メニューの「詳細設定」をクリック。
  3. 「受信の規則」→「新しい規則」をクリック。
  4. 「ポート」を選択し、「次へ」。
  5. TCPを選択し、「特定のローカルポート」に80, 443を入力して「次へ」。
  6. 「接続を許可する」を選び「次へ」。
  7. 適用対象(ドメイン、プライベート、パブリック)を選択して「次へ」。
  8. 名前を「Apache HTTP Server」として作成完了。

4. 動作確認


ポート解放後、外部の端末からサーバーのIPアドレスを使ってアクセスします。

http://<サーバーのIPアドレス>  


Apacheのデフォルトページが表示されれば、ファイアウォール設定は正しく行われています。

これでApacheのファイアウォール設定とポート解放は完了です。次はトラブルシューティングについて解説します。

トラブルシューティング

Apache HTTP Serverが正しく動作しない場合、原因を特定し迅速に解決することが重要です。ここでは、Apacheが起動しない、ページが表示されない、ポートが競合している場合など、よくある問題とその対処法を紹介します。

1. Apacheが起動しない場合

エラーログの確認


Apacheが起動しない場合、最初にエラーログを確認します。

  • Ubuntu/Debian系
  sudo tail -f /var/log/apache2/error.log
  • CentOS/RHEL系
  sudo tail -f /var/log/httpd/error_log

エラーメッセージに「port already in use(ポートが使用中)」と表示される場合は、以下のコマンドで使用中のプロセスを特定し、停止します。

sudo netstat -tulnp | grep :80


該当プロセスを停止します。

sudo kill <プロセスID>


その後、Apacheを再起動します。

sudo systemctl restart apache2  # Ubuntu
sudo systemctl restart httpd    # CentOS

2. ページが表示されない場合

Apacheのステータス確認


Apacheが動作しているか確認します。

sudo systemctl status apache2  # Ubuntu
sudo systemctl status httpd    # CentOS


「active (running)」と表示されていなければ、以下のコマンドで起動します。

sudo systemctl start apache2

ファイアウォールの設定確認


ポート80/443が解放されているか再確認します。

sudo ufw status  # Ubuntu
sudo firewall-cmd --list-all  # CentOS


ポートが解放されていなければ、以下のコマンドで再設定します。

sudo ufw allow 'Apache'
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

3. 設定ファイルの文法エラー

設定ファイルのチェック


設定ファイル(httpd.conf、apache2.conf)に文法エラーがある場合は、以下のコマンドで文法チェックを行います。

sudo apachectl configtest  # Ubuntu
sudo httpd -t              # CentOS


「Syntax OK」と表示されれば問題ありません。エラーが表示された場合は、エラー箇所を修正して再度テストします。

4. ドメインが解決できない場合


DNSやホスト名の設定ミスが原因でページが表示されないことがあります。/etc/hosts ファイルにサーバーのIPアドレスとホスト名を追加します。

sudo nano /etc/hosts


例:

127.0.0.1 localhost  
192.168.1.10 example.com  


設定後、Apacheを再起動します。

5. 403 Forbiddenエラーが表示される場合


アクセス権限が不足している可能性があります。ドキュメントルートの権限を確認し、適切な権限を付与します。

sudo chown -R www-data:www-data /var/www/html  # Ubuntu
sudo chown -R apache:apache /var/www/html      # CentOS


また、Directoryセクションの設定を見直します。

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

6. ポートの競合が発生する場合


Apacheが使用するポートが他のアプリケーションと競合している場合、ポート番号を変更します。

sudo nano /etc/apache2/ports.conf  # Ubuntu
sudo nano /etc/httpd/conf/httpd.conf  # CentOS
Listen 8080


変更後は再起動が必要です。

sudo systemctl restart apache2

これでApacheのトラブルシューティングが完了です。次は記事のまとめを作成します。

まとめ

本記事では、Apache HTTP Serverのインストールから基本設定、起動方法、ファイアウォール設定、トラブルシューティングまでを詳しく解説しました。

Apacheは柔軟性と安定性に優れ、世界中で利用されているWebサーバーです。LinuxやWindowsなど多様な環境で動作し、オープンソースの利点を活かして無料で導入できます。

インストール後は、ポート解放やファイアウォール設定を行い、外部からのアクセスを許可することでWebサーバーとして機能します。動作確認にはエラーログの確認や設定ファイルの文法チェックが役立ちます。

Apacheを習得することで、自身のWebサイトを構築したり、業務用サーバーを管理したりするスキルが身につきます。次のステップとして、SSL証明書の設定やバーチャルホストの構築など、より高度な設定に挑戦してみましょう。

コメント

コメントする

目次