前書き

  • L inuxオペレーティングシステム、 A pache Webサーバー、 M ySQLデータベース、および P ** HPスクリプト言語で構成されるソフトウェアの「LAMP」スタックは素晴らしいWebまたはアプリケーション開発の基盤。 一緒にインストールされるこのソフトウェアスタックにより、サーバーは動的なWebサイトおよびWebアプリケーションをホストできます。

このチュートリアルでは、Debian 8サーバーにLAMPスタックをインストールします。

前提条件

  • 始める前に、ルート以外の `+ sudo +`対応のユーザーアカウントでDebian 8サーバーをセットアップする必要があります。 これを行うには、https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-8 [Debian 8の初期サーバーセットアップガイド]に従ってください。

  • また、基本的なファイアウォールを作成する必要があります。これは、https://www.digitalocean.com/community/tutorials/how-to-setup-a-firewall-with-ufw-on-an-ubuntu-and -debian-cloud-server [UbuntuおよびDebian UFWセットアップチュートリアル]。

ステップ1-システムの更新

ソフトウェアをインストールする前に、システムが最新であることを確認することが重要です。 パッケージリストを更新するには、次のように入力します。

sudo apt-get update

これにより、オペレーティングシステムは、サーバーに現在インストールされているソフトウェアパッケージと、ベースソフトウェアパッケージが保存されているDebianオンラインリポジトリで最近更新された可能性のある新しいバージョンとを比較します。

これらの更新されたソフトウェアコンポーネントがニーズに関連していると判断したら、先に進んでサーバーを更新します。 これを行うには、次のコマンドを入力します。

sudo apt-get dist-upgrade

これには、インストールしたオペレーティングシステムの現在のバージョン、ソフトウェアパッケージ、およびネットワークの状態に応じて、時間がかかる場合があります。 新しいサーバーでは、数秒かかります。

これで、サーバーに完全にパッチが適用され、更新され、LAMPインストールの準備が整いました。 サーバーはすでにLinuxオペレーティングシステムDebianを実行しているため、Apache Webサーバーのインストールに進んでネットワーク接続を管理できます。

ステップ2-Apacheのインストールとファイアウォールの更新

LAMPインストールの次のステップは、Apache Webサーバーをインストールすることです。 これは十分に文書化され、広く使用されているWebサーバーであり、サーバーがWebコンテンツを表示できるようにします。 Apacheをインストールするには、次を入力します。

sudo apt-get install apache2 apache2-doc

これにより、基本的なApache Webサーバーパッケージとそれに付随するドキュメントがインストールされます。 Apacheとその必要なパッケージがインストールされると、これには数秒かかる場合があります。 完了すると、 `+ apt-get +`が終了し、インストールが完了します。

次に、ファイアウォールをインストールして有効にしてUFWセットアップチュートリアルに従っていると仮定して、ファイアウォールがHTTPおよびHTTPSトラフィックを許可していることを確認します。

Debian 8にインストールすると、UFWには、ファイアウォール設定の調整に使用できるアプリプロファイルがロードされます。 次を実行して、アプリケーションプロファイルの完全なリストを表示します。

sudo ufw app list

`+ WWW +`プロファイルは、Webサーバーが使用するポートを管理するために使用されます。

OutputAvailable applications:
. . .
 WWW
 WWW Cache
 WWW Full
 WWW Secure
. . .

「+ WWW Full 」プロファイルを調べると、ポート「+80」および「443」へのトラフィックが有効になっていることがわかります。

sudo ufw app info "WWW Full"
OutputProfile: WWW Full
Title: Web Server (HTTP,HTTPS)
Description: Web Server (HTTP,HTTPS)

Ports:
 ,

このプロファイルの着信HTTPおよびHTTPSトラフィックを許可します。

sudo ufw allow in “WWW Full”

ファイアウォールを通過するWebトラフィックを許可したので、サンプルWebページを使用してWebサーバーがリクエストに応答することを確認します。 最初に、サーバーのIPアドレスが必要になります。 次のコマンドを実行すると、現在のSSHセッションでIPアドレスを表示できます。

sudo ifconfig eth0

画面に、サーバーのIPアドレスを含む数行の出力が表示されます。 `+ inet addr:+`の後に表示される4部構成の番号が必要です。

Outputinet addr:

リストされたIPアドレスをメモし、次のようにお気に入りのWebブラウザーに入力します。

  • + http:// +

完了すると、次のようなデフォルトのApache 2 Webページが表示されます。

image:https://assets.digitalocean.com/articles/lamp-debian8/JUGu5aW.png [Apache2 Debianデフォルトページ]

サーバーにApacheが正常にインストールされたので、ウェブサイトのコンテンツを `+ / var / www / html +`ディレクトリにアップロードできます。 複数のWebサイトをセットアップする場合は、https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-のセットアップに関するこの記事を参照してください。 04-lts [Apache仮想ホスト]。

追加の手順とApache関連のセキュリティ情報については、https://wiki.debian.org/Apache [DebianのApache情報]をご覧ください。

Webサーバーが稼働している状態で、MySQLで実行できるデータを保存するためのWebサイトの場所を作成する準備が整いました。

ステップ3-MySQLのインストールと保護

LAMPサーバーの次のコンポーネントはMySQLです。 このリレーショナルデータベースソフトウェアは、WordPress、Joomla、Drupalなど、他のソフトウェアパッケージの重要なバックエンドコンポーネントです。

MySQLおよびPHPサポートをインストールするには、次を入力します。

sudo apt-get install mysql-server php5-mysql

これにより、MySQLおよびその他の必要なパッケージがインストールされます。 インストールルーチンは、* root * MySQLユーザーの新しいパスワードの入力を要求することに注意してください。

image:https://assets.digitalocean.com/articles/lamp-debian8/a0O038P.png [MySQL「root」ユーザーの新しいパスワード]

これは、MySQLの管理機能専用に使用される個別のアカウントです。 ユーザー名は* root *で、パスワードはここで設定したものです。 文字と数字のさまざまな組み合わせで適切なパスワードを設定してください。

これで、MySQLのインストールが完了します。

新しいデータベースサーバーを安全に保つために、実行する必要がある追加のスクリプトがあります。 開始するには、次を入力します。

sudo mysql_secure_installation

この時点で、スクリプトはいくつかの質問をします。 プロンプトが表示されたら、ルートMySQLアカウントのパスワードを入力します。 システムはあなたに尋ねます:

InteractiveChange the root password? [Y/n]

インストール時にすでにルートMySQLパスワードを設定しているため、この時点でnoと言うことができます。 次に、スクリプトは次のことを尋ねます。

InteractiveRemove anonymous users? [Y/n]

安全のために匿名ユーザーオプションを削除するには、yesと答えます。

次に、スクリプトは、rootアカウントのリモートログインを許可するかどうかを尋ねます。 安全のため、ご使用の環境で必要でない限り、rootのリモートログインを許可しないでください。

最後に、スクリプトはテストデータベースを削除してから、特権テーブルを再ロードするように要求します。 これらの両方に「はい」と答えてください。 これにより、テストデータベースが削除され、セキュリティの変更が処理されます。

すべてが正しい場合、一度完了すると、スクリプトは以下を返します。

OutputAll done!  If you have completed all of the above steps, your MySQL installation should now be secure.

新しいMySQLサーバーが実行されていることを再確認しましょう。 このコマンドを入力してください:

mysql -u root -p

ソフトウェアパッケージをインストールしたときにMySQL用に設定したルートパスワードを入力します。 これは、サーバー管理に使用されるルートアカウントではないことに注意してください。 サーバーの状態、バージョン情報などを取得するには、次を入力します。

status

これは、MySQLをインストールし、さらに設定する準備ができていることを確認するための良い方法です。 出力の確認が終了したら、次のように入力してアプリケーションを終了します。

exit

MySQLがアクティブであることを確認した後、次のステップはPHPをインストールして、サーバーでスクリプトを実行してコードを処理できるようにすることです。

ステップ4-PHPのインストール

最後のコンポーネントでは、PHP(Hypertext Preprocessor)を表すPHPをセットアップしてインストールします。 この人気のあるサーバー側スクリプト言語は、動的なWebコンテンツに広く使用されており、多くのWebおよびアプリケーション開発者にとって不可欠なものとなっています。

PHPをインストールするには、次を入力します。

sudo apt-get install php5-common libapache2-mod-php5 php5-cli

インストールに同意すると、PHPがサーバーにインストールされます。 PHP以外にも多くのパッケージがインストールされています。 心配しないでください。システムは、PHPソフトウェアを既存のApache2インストールおよびその他のプログラムと統合しています。

サーバーでApacheを再起動して、PHPインストールのすべての変更を有効にします。 これを行うには、次を入力します。

sudo service apache2 restart

それでは、インストールしたPHPソフトウェアをテストしてみましょう。 パブリックWebディレクトリに移動します。

cd /var/www/html

一度、お気に入りのコンソールテキストエディターを使用して、 `+ info.php`という名前のファイルを作成します。 これを行う1つの方法は次のとおりです。

sudo nano info.php

このコマンドは、コマンドラインエディター `+ nano +`を使用して、この名前の新しい空のファイルを開きます。 このファイル内に次を入力して、PHPの設定の出力情報をWebページに入力します。

/var/www/html/info.php

<?php phpinfo(); ?>

「+ CTRL-X 」を押してファイルを終了し、「 Y 」で行った変更を保存し、「 ENTER +」でファイル名を確認します。 構成情報にアクセスするには、Webブラウザーを開いて次のURLを入力し、強調表示されているセクションをサーバーのIPアドレスに置き換えます。

  • + http:/// info.php +

すべてを正しく行うと、以下に示すようなデフォルトのPHP情報ページが表示されます。

image:https://assets.digitalocean.com/articles/lamp-debian8/kAOmYue.png [PHP情報ページ]

このテストPHPページを確認したら、セキュリティのために削除します。 これを行うには、次のコマンドを実行します。

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

システムは、作成したテストファイルを削除するかどうかを尋ねます。 ファイルを削除するには、yesと答えます。 これが完了すると、基本的なPHPインストールが完了します。

結論

これで、基本的なLAMPスタックがサーバーにインストールされ、幅広いWebサイトおよびWebアプリケーションを作成するためのプラットフォームが提供されました。 ここから、サーバーの機能をカスタマイズおよび拡張できる多くの方法があります。 Linuxサーバーの保護の詳細については、https://www.digitalocean.com/community/tutorials/an-introduction-to-securing-your-linux-vps [Linux VPSの保護の概要]をご覧ください。 サーバーをセットアップして複数のWebサイトをホストする場合は、https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14- 04-lts [Apache virtual hosts tutorial]。