序章

「LAMP」スタックは、サーバーが動的なWebサイトやWebアプリをホストできるようにするために通常一緒にインストールされるオープンソースソフトウェアのグループです。 この用語は、実際には LinuxオペレーティングシステムとApacheWebサーバーを表す頭字語です。 サイトデータはM ySQLデータベースに保存され、動的コンテンツは PHPによって処理されます。

このガイドでは、Ubuntu14.04ドロップレットにLAMPスタックをインストールします。 Ubuntuは最初の要件であるLinuxオペレーティングシステムを満たします。

注: LAMPスタックは、起動時にこのスクリプトをユーザーデータに追加することで、ドロップレットに自動的にインストールできます。 ドロップレットユーザーデータの詳細については、このチュートリアルをご覧ください。

前提条件

このガイドを開始する前に、サーバーにroot以外のユーザーアカウントを設定しておく必要があります。 これを行う方法を学ぶには、Ubuntu 14.04初期サーバーセットアップの手順1〜4を完了します。

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

Apache Webサーバーは現在、世界で最も人気のあるWebサーバーであり、Webサイトをホストするための優れたデフォルトの選択肢となっています。

Ubuntuのパッケージマネージャーaptを使用してApacheを簡単にインストールできます。 パッケージマネージャーを使用すると、Ubuntuが管理するリポジトリからほとんどのソフトウェアを簡単にインストールできます。 apt の使用方法について詳しくは、こちらをご覧ください。

私たちの目的のために、これらのコマンドを入力することから始めることができます:

sudo apt-get update
sudo apt-get install apache2

sudoコマンドを使用しているため、これらの操作はroot権限で実行されます。 それはあなたの意図を確認するためにあなたの通常のユーザーのパスワードを尋ねます。

その後、Webサーバーがインストールされます。

WebブラウザでサーバーのパブリックIPアドレスにアクセスすると、すぐにスポットチェックを実行して、すべてが計画どおりに行われたことを確認できます(この情報がない場合は、次の見出しの下にある注を参照して、パブリックIPアドレスを確認してください。すでに):

http:// your_server_IP_address

情報提供とテストの目的で存在するデフォルトのUbuntu14.04ApacheWebページが表示されます。 次のようになります。

このページが表示されている場合は、Webサーバーが正しくインストールされています。

サーバーのパブリックIPアドレスを見つける方法

サーバーのパブリックIPアドレスがわからない場合は、いくつかの方法で見つけることができます。 通常、これはSSH経由でサーバーに接続するために使用するアドレスです。

コマンドラインから、これをいくつかの方法で見つけることができます。 まず、iproute2ツールを使用して、次のように入力して住所を取得できます。

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

これにより、1行または2行戻ります。 どちらも正しいアドレスですが、お使いのコンピュータではどちらか一方しか使用できない場合がありますので、お気軽に試してみてください。

別の方法は、外部の関係者を使用して、itがサーバーをどのように認識しているかを通知することです。 これを行うには、特定のサーバーにIPアドレスを尋ねます。

curl http://icanhazip.com

IPアドレスの取得に使用する方法に関係なく、Webブラウザのアドレスバーに入力してサーバーにアクセスできます。

ステップ2:MySQLをインストールする

Webサーバーが稼働しているので、MySQLをインストールします。 MySQLはデータベース管理システムです。 基本的に、それは私たちのサイトが情報を保存できるデータベースを整理し、データベースへのアクセスを提供します。

ここでも、aptを使用して、ソフトウェアを取得してインストールできます。 今回は、コンポーネントを相互に通信させるのに役立つ他の「ヘルパー」パッケージもインストールします。

sudo apt-get install mysql-server php5-mysql

:この場合、コマンドの前にsudo apt-get updateを実行する必要はありません。 これは、Apacheをインストールするために上記のコマンドで最近実行したためです。 コンピューターのパッケージインデックスはすでに最新である必要があります。

インストール中に、サーバーはMySQLの「root」ユーザーのパスワードを選択して確認するように求めます。 これは、特権が増加したMySQLの管理アカウントです。 サーバー自体のrootアカウントに似ていると考えてください(ただし、現在構成しているのはMySQL固有のアカウントです)。

インストールが完了したら、MySQL環境を安全にセットアップするために、いくつかの追加コマンドを実行する必要があります。

まず、MySQLに、情報を格納するデータベースディレクトリ構造を作成するように指示する必要があります。 これを行うには、次のように入力します。

sudo mysql_install_db

その後、いくつかの危険なデフォルトを削除し、データベースシステムへのアクセスを少しロックダウンする簡単なセキュリティスクリプトを実行したいと思います。 次のコマンドを実行して、インタラクティブスクリプトを開始します。

sudo mysql_secure_installation

MySQLルートアカウントに設定したパスワードを入力するように求められます。 次に、そのパスワードを変更するかどうかを尋ねられます。 現在のパスワードに満足している場合は、プロンプトで「いいえ」を表す「n」を入力します。

残りの質問については、各プロンプトで「ENTER」キーを押すだけで、デフォルト値を受け入れることができます。 これにより、一部のサンプルユーザーとデータベースが削除され、リモートルートログインが無効になり、これらの新しいルールが読み込まれるため、MySQLは行った変更をすぐに尊重します。

この時点で、データベースシステムがセットアップされ、次に進むことができます。

ステップ3:PHPをインストールする

PHPは、動的コンテンツを表示するコードを処理するセットアップのコンポーネントです。 スクリプトを実行し、MySQLデータベースに接続して情報を取得し、処理されたコンテンツをWebサーバーに渡して表示することができます。

aptシステムを再び活用してコンポーネントをインストールできます。 いくつかのヘルパーパッケージも含める予定です。

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

これにより、問題なくPHPがインストールされます。 これをすぐにテストします。

ほとんどの場合、ディレクトリが要求されたときにApacheがファイルを提供する方法を変更する必要があります。 現在、ユーザーがサーバーにディレクトリを要求すると、Apacheは最初にindex.htmlというファイルを探します。 WebサーバーにPHPファイルを優先するように指示したいので、最初にApacheにindex.phpファイルを検索させます。

これを行うには、次のコマンドを入力して、root権限を持つテキストエディタでdir.confファイルを開きます。

sudo nano /etc/apache2/mods-enabled/dir.conf

次のようになります。

 DirectoryIndex index.html index.cgi  index.pl  index.php index.xhtml index.htm

上で強調表示されているPHPインデックスファイルを、次のようにDirectoryIndex仕様の後の最初の位置に移動します。

 DirectoryIndex index.php index.html index.cgi  index.pl  index.xhtml index.htm

終了したら、「CTRL-X」を押してファイルを保存して閉じます。 「Y」と入力して保存を確認し、「ENTER」を押してファイルの保存場所を確認する必要があります。

この後、変更が認識されるようにするには、ApacheWebサーバーを再起動する必要があります。 これを行うには、次のように入力します。

sudo service apache2 restart

PHPモジュールをインストールする

PHPの機能を強化するために、オプションでいくつかの追加モジュールをインストールできます。

PHPモジュールおよびライブラリで使用可能なオプションを確認するには、次のようにシステムに入力します。

apt-cache search php5-

結果は、インストールできるすべてのオプションのコンポーネントです。 それぞれについて簡単に説明します。

php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
. . .

各モジュールの機能の詳細については、インターネットを検索するか、次のように入力してパッケージ内の長い説明を確認してください。

apt-cache show package_name

モジュールが提供する機能のより長い説明があるDescription-enと呼ばれる1つのフィールドで、多くの出力があります。

たとえば、php5-cliモジュールの機能を確認するには、次のように入力します。

apt-cache show php5-cli

他の大量の情報とともに、次のようなものが見つかります。

. . .
SHA256: 91cfdbda65df65c9a4a5bd3478d6e7d3e92c53efcddf3436bbe9bbe27eca409d
Description-en: command-line interpreter for the php5 scripting language
 This package provides the /usr/bin/php5 command interpreter, useful for
 testing PHP scripts from a shell or performing general shell scripting tasks.
 .
 The following extensions are built in: bcmath bz2 calendar Core ctype date
 dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring
 mhash openssl pcntl pcre Phar posix Reflection session shmop SimpleXML soap
 sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader
 xmlwriter zip zlib.
 .
 PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
 open source general-purpose scripting language that is especially suited
 for web development and can be embedded into HTML.
Description-md5: f8450d3b28653dcf1a4615f3b1d4e347
Homepage: http://www.php.net/
. . .

調査の結果、パッケージをインストールすることにした場合は、他のソフトウェアで行っているように、apt-get installコマンドを使用してインストールできます。

php5-cliが必要であると判断した場合は、次のように入力できます。

sudo apt-get install php5-cli

複数のモジュールをインストールする場合は、次のようにapt-get installコマンドに従って、スペースで区切って各モジュールをリストすることでインストールできます。

sudo apt- get installpackage1package2 

この時点で、LAMPスタックがインストールおよび構成されています。 ただし、PHPをテストする必要があります。

ステップ4:WebサーバーでPHP処理をテストする

システムがPHP用に適切に構成されていることをテストするために、非常に基本的なPHPスクリプトを作成できます。

このスクリプトをinfo.phpと呼びます。 Apacheがファイルを見つけて正しく提供するには、「Webルート」と呼ばれる非常に特定のディレクトリにファイルを保存する必要があります。

Ubuntu 14.04では、このディレクトリは/var/www/html/にあります。 次のように入力すると、その場所にファイルを作成できます。

sudo nano /var/www/html/info.php

これにより、空のファイルが開きます。 有効なPHPコードである次のテキストをファイル内に配置します。

<?php
phpinfo();
?>

終了したら、ファイルを保存して閉じます。

これで、WebサーバーがPHPスクリプトによって生成されたコンテンツを正しく表示できるかどうかをテストできます。 これを試すには、Webブラウザでこのページにアクセスする必要があります。 サーバーのパブリックIPアドレスが再度必要になります。

訪問したいアドレスは次のとおりです。

http:// your_server_IP_address /info.php

表示されるページは次のようになります。

このページでは、基本的にPHPの観点からサーバーに関する情報を提供します。 デバッグや、設定が正しく適用されていることを確認するのに役立ちます。

これが成功した場合、PHPは期待どおりに機能しています。

このファイルは、許可されていないユーザーにサーバーに関する情報を実際に提供する可能性があるため、このテストの後で削除することをお勧めします。 これを行うには、次のように入力します。

sudo rm /var/www/html/info.php

後で情報に再度アクセスする必要がある場合は、いつでもこのページを再作成できます。

結論

LAMPスタックがインストールされたので、次に何をするかについて多くの選択肢があります。 基本的に、サーバーにほとんどの種類のWebサイトとWebソフトウェアをインストールできるプラットフォームをインストールしました。

人気のあるオプションは次のとおりです。

:上記のリンクを14.04のドキュメントに更新します。

ジャスティン・エリングウッド