Apacheの設定でエンジニアがつまづきがちな、あるある攻略

ENGINEER

Webサーバーとしてよく使われるApache。

今回はLinuxで設定する際、いわゆるLAMP環境を構築する際につまずきがちなポイントをおさえてみました。

またLinuxでもディストーションによって設定ファイルのパスが異なることがあります。使用するディストリビューションの情報を確認するようにしましょう。

 

LAMPとは

OSに「Linux」、Webサーバーに「Apache」、データーベースサーバーに「MySQL」、アプリケーションサーバーに「PHP」を用いて構築されたサーバー・環境のことです。

OSにmacOSを用いた場合はMAMP、またWebアプリケーションサーバーに必要なコンポーネントを一括でインストール&管理可能な「XAMPP」というパッケージも存在します。こちらを使うとローカル環境でテストする時など手っ取り早い方法です。

そもそもApacheとは

Apache HTTP ServerはWebサーバーとして機能するソフトウェアです。UNIX/Linux/Windowsなどで動作しますが、現在Apacheのシェアは50%弱です。Webサーバーとしては他にMicrosoftのIISや最近シェアの伸びているnginxがあります。

Apacheとはhttpdである。

ソフトウェアの名前はApache HTTP Serverですが、Linuxでインストールする際のパッケージやデーモンの名称はhttpdです。「Apacheがない!」と慌てなくても大丈夫です。

 

Apache設定でぶつかりがちなトラブル


Apacheの設定はしてみたものの「動作しない!」「ページが表示できない!」ということはよくあると思います。その際、「ここを確認してみると直るかも」という内容をまとめてみました。

設定変更した内容通りに動作しない

Apacheの設定は「httpd.conf」に全てテキストデータで書かれています。その内容をvi等のテキストエディタで編集・変更します。ただし、変更した設定が反映されるのは、httpdを再起動した後。configファイルを変更したあとは、httpdの再起動を必ず実施しましょう。

サーバー上のターミナルを起動し、下記コマンドを実行します。

/etc/init.d/httpd restart

init.dのパスがディストリビューションやバージョンによって異なる場合があります。セットアップを行ったディストリビューション・バージョンの情報を確認しましょう。

サーバーを再起動してもHTTPDが動かない

1.自動でデーモンが起動するように設定しましょう。

Apacheをインストールしただけではhttpdは起動しません。デーモンとして自動的に起動するように設定が必要です。サーバーのターミナルを起動して下記のコマンドを実行すると、httpdが自動で起動するようになります。

sudo chkconfig httpd on

chkconfig等のコマンドがディストリビューションやバージョンによって異なる場合があります。セットアップを行ったディストリビューション・バージョンの情報を確認しましょう。

2.ポート番号が他のデーモンとかぶってないか確認しましょう(80ポート)

サービスによって、一般的に使用されるネットワークのポート番号が決まっています。同じポート番号を複数のサービスで重複して使用することはできません。サーバーのターミナルを起動して下記コマンドを実行しましょう。

lsof -i:80

80番ポートを使用しているデーモンが何か、確認することができます。

Apacheを自分で設定するメリット・デメリット


レンタルサーバーであれば既に設定が済んだ状態で借りられますが、VPSやクラウド上の仮想サーバーなどは自身で設定を行わなければWebサーバーとして使用できません。

メリット:設定を一通り把握できるようになる

Webの開発を行う際、手元のPCにApache等をセットアップしておくと動作確認に便利でしょう。また、一度設定を自分でやってみると仕組みの理解がしやすいので、一度はやってみることをお勧めします。

デメリット:セキュアな設定・運用は難易度が高い

セキュリティ関しても自分で責任を持って設定しなければなりません。ファイアーウォール等ネットワークに関する知識も必要になります。公開されているサーバーとなれば、攻撃を受ける側となりますので、特定のIPアドレスからのみ接続できるよう制限を掛けるなど、十分に注意・対策が必要です。

 

レンタルサーバーやVPS、AWSの違い


Apacheの設定をする、ということは、どこかにサーバーを設置するということ。レンタルサーバーや、クラウド上のサービスなど、それぞれの特徴を知り、状況に合ったサービスを選びましょう。

ちょっとお試しにレンタルサーバー

歴史の古いレンタルサーバー。ApacheやPHP等の設定が済んでいるサーバーを借りられます。使い始めるのは簡単ですが、アクセスが増えて処理しきれなくなった場合、サーバーの移転が必ず必要になります。単価も月額で安く借りられるため、ちょっと「Webサーバーってどんなものだろう?」とお試しするのにおススメです。

お手軽に自分専用のサーバーが必要ならVPS

仮想専用サーバー。OSのみインストールされた状態で貸し出されるため、Apache等の設定は自分でやる必要があります。単価も月額で比較的安いため、Linuxの設定を含めた勉強をするのにも良いでしょう。サーバー増強は料金プランの変更で対応できることもあります。

本格的なWebアプリケーション運営ならクラウド上の仮想サーバー

AWSのAmazon EC2やGCP(Google Cloud Platform)などは、クラウド上で仮想サーバーを提供しているサービスです。サービス内容が充実していて大規模なユーザーに提供するサービスを運営するならこれらを検討しましょう。

サーバーの増強も設定変更で対応できます。AWS Auto Scaling等でスケールアップを自動化することも可能です。但し、リクエストごと・時間単位の料金となるため、使用料が高額になってしまうことも。運用は計画的に。

 

まとめ

最近はVMware等の仮想化やDockerなどのコンテナ技術、またクラウド上での仮想サーバーサービスによって、比較的容易に環境構築することが可能になりました。しかし、トラブルがあった際に動作の原理や仕組みがわかっていないと、原因究明に時間が掛かります。迅速にトラブル対応ができるよう、事前に学んでおきましょう。

SHARE

  • 広告主募集
  • ライター・編集者募集
  • WorkshipSPACE
エンジニア副業案件
Workship