【漫画】フリーランスは“103万円の壁”にどう向き合うか?
- お金
- フリーランス/個人事業主
- 漫画
Webサーバーとしてよく使われるApache。
今回はLinuxで設定する際、いわゆるLAMP環境を構築する際につまずきがちなポイントをおさえてみました。
またLinuxでもディストーションによって設定ファイルのパスが異なることがあります。使用するディストリビューションの情報を確認するようにしましょう。
OSに「Linux」、Webサーバーに「Apache」、データーベースサーバーに「MySQL」、アプリケーションサーバーに「PHP」を用いて構築されたサーバー・環境のことです。
OSにmacOSを用いた場合はMAMP、またWebアプリケーションサーバーに必要なコンポーネントを一括でインストール&管理可能な「XAMPP」というパッケージも存在します。こちらを使うとローカル環境でテストする時など手っ取り早い方法です。
Apache HTTP ServerはWebサーバーとして機能するソフトウェアです。UNIX/Linux/Windowsなどで動作しますが、現在Apacheのシェアは50%弱です。Webサーバーとしては他にMicrosoftのIISや最近シェアの伸びているnginxがあります。
ソフトウェアの名前はApache HTTP Serverですが、Linuxでインストールする際のパッケージやデーモンの名称はhttpdです。「Apacheがない!」と慌てなくても大丈夫です。
Apacheの設定はしてみたものの「動作しない!」「ページが表示できない!」ということはよくあると思います。その際、「ここを確認してみると直るかも」という内容をまとめてみました。
Apacheの設定は「httpd.conf」に全てテキストデータで書かれています。その内容をvi等のテキストエディタで編集・変更します。ただし、変更した設定が反映されるのは、httpdを再起動した後。configファイルを変更したあとは、httpdの再起動を必ず実施しましょう。
サーバー上のターミナルを起動し、下記コマンドを実行します。
/etc/init.d/httpd restart
init.dのパスがディストリビューションやバージョンによって異なる場合があります。セットアップを行ったディストリビューション・バージョンの情報を確認しましょう。
1.自動でデーモンが起動するように設定しましょう。
Apacheをインストールしただけではhttpdは起動しません。デーモンとして自動的に起動するように設定が必要です。サーバーのターミナルを起動して下記のコマンドを実行すると、httpdが自動で起動するようになります。
sudo chkconfig httpd on
chkconfig等のコマンドがディストリビューションやバージョンによって異なる場合があります。セットアップを行ったディストリビューション・バージョンの情報を確認しましょう。
2.ポート番号が他のデーモンとかぶってないか確認しましょう(80ポート)
サービスによって、一般的に使用されるネットワークのポート番号が決まっています。同じポート番号を複数のサービスで重複して使用することはできません。サーバーのターミナルを起動して下記コマンドを実行しましょう。
lsof -i:80
80番ポートを使用しているデーモンが何か、確認することができます。
レンタルサーバーであれば既に設定が済んだ状態で借りられますが、VPSやクラウド上の仮想サーバーなどは自身で設定を行わなければWebサーバーとして使用できません。
Webの開発を行う際、手元のPCにApache等をセットアップしておくと動作確認に便利でしょう。また、一度設定を自分でやってみると仕組みの理解がしやすいので、一度はやってみることをお勧めします。
セキュリティ関しても自分で責任を持って設定しなければなりません。ファイアーウォール等ネットワークに関する知識も必要になります。公開されているサーバーとなれば、攻撃を受ける側となりますので、特定のIPアドレスからのみ接続できるよう制限を掛けるなど、十分に注意・対策が必要です。
Apacheの設定をする、ということは、どこかにサーバーを設置するということ。レンタルサーバーや、クラウド上のサービスなど、それぞれの特徴を知り、状況に合ったサービスを選びましょう。
歴史の古いレンタルサーバー。ApacheやPHP等の設定が済んでいるサーバーを借りられます。使い始めるのは簡単ですが、アクセスが増えて処理しきれなくなった場合、サーバーの移転が必ず必要になります。単価も月額で安く借りられるため、ちょっと「Webサーバーってどんなものだろう?」とお試しするのにおススメです。
仮想専用サーバー。OSのみインストールされた状態で貸し出されるため、Apache等の設定は自分でやる必要があります。単価も月額で比較的安いため、Linuxの設定を含めた勉強をするのにも良いでしょう。サーバー増強は料金プランの変更で対応できることもあります。
AWSのAmazon EC2やGCP(Google Cloud Platform)などは、クラウド上で仮想サーバーを提供しているサービスです。サービス内容が充実していて大規模なユーザーに提供するサービスを運営するならこれらを検討しましょう。
サーバーの増強も設定変更で対応できます。AWS Auto Scaling等でスケールアップを自動化することも可能です。但し、リクエストごと・時間単位の料金となるため、使用料が高額になってしまうことも。運用は計画的に。
最近はVMware等の仮想化やDockerなどのコンテナ技術、またクラウド上での仮想サーバーサービスによって、比較的容易に環境構築することが可能になりました。しかし、トラブルがあった際に動作の原理や仕組みがわかっていないと、原因究明に時間が掛かります。迅速にトラブル対応ができるよう、事前に学んでおきましょう。