前書き

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

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

前提条件

このガイドを開始する前に、サーバーに別の非ルートユーザーアカウントを設定する必要があります。 これを行う方法については、https://www.digitalocean.com/community/articles/initial-server-setup-with-centos-7 [CentOS 7の初期サーバーセットアップ]の手順1〜4を完了することで学習できます。

ステップ1-Apacheのインストール

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

CentOSのパッケージマネージャーである「+ yum 」を使用して、Apacheを簡単にインストールできます。 パッケージマネージャーを使用すると、CentOSが管理するリポジトリからほとんどのソフトウェアを簡単にインストールできます。 https://www.digitalocean.com/community/tutorials/how-to-set-up-and-use-yum-repositories-on-a-centos-6-vps [使用方法 ` yum + `]こちら。

目的のために、次のコマンドを入力して開始できます。

sudo yum install httpd

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

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

インストールしたら、VPSでApacheを起動できます。

sudo systemctl start httpd.service

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

http:///

デフォルトのCentOS 7 Apache Webページが表示されます。これは、情報提供およびテスト目的で表示されます。 これは次のようになります。

image:https://assets.digitalocean.com/articles/lamp_c7/default_apache.png [CentOS 7 Apache default]

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

最後にしたいことは、Apacheが起動時に起動できるようにすることです。 これを行うには、次のコマンドを使用します。

sudo systemctl enable httpd.service

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

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

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

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

これにより、1つまたは2つの行が返されます。 どちらも正しいアドレスですが、お使いのコンピューターはどちらか一方しか使用できない可能性がありますので、それぞれを試してみてください。

別の方法は、外部のパーティを使用して、サーバーがどのように見えるかを示すことです。 これを行うには、特定のサーバーにIPアドレスを尋ねます。

curl http://icanhazip.com

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

ステップ2-MySQL(MariaDB)をインストールする

Webサーバーが稼働しているので、次はMySQLのドロップイン代替品であるMariaDBをインストールします。 MariaDBは、コミュニティが開発したMySQLリレーショナルデータベース管理システムのフォークです。 基本的に、それは私たちのサイトが情報を保存できるデータベースを整理し、アクセスを提供します。

繰り返しになりますが、 `+ yum +`を使用してソフトウェアを取得およびインストールできます。 今回は、コンポーネントが相互に通信できるようにする他の「ヘルパー」パッケージもインストールします。

sudo yum install mariadb-server mariadb

インストールが完了したら、次のコマンドでMariaDBを起動する必要があります。

sudo systemctl start mariadb

MySQLデータベースが実行されたので、危険なデフォルトを削除し、データベースシステムへのアクセスを少し制限する簡単なセキュリティスクリプトを実行します。 次を実行して、インタラクティブスクリプトを開始します。

sudo mysql_secure_installation

プロンプトが表示され、現在のルートパスワードが求められます。 MySQLをインストールしたばかりなので、おそらくMySQLがないため、Enterキーを押して空白のままにします。 次に、rootパスワードを設定するかどうかを尋ねるプロンプトが表示されます。 先に進み、「+ Y +」と入力して、指示に従います。

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorization.

New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

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

最後にしたいことは、MariaDBを起動時に起動できるようにすることです。 これを行うには、次のコマンドを使用します。

sudo systemctl enable mariadb.service

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

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

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

コンポーネントをインストールするために、 `+ yum +`システムを再度利用できます。 php-mysqlパッケージも含めます。

sudo yum install php php-mysql

これにより、PHPが問題なくインストールされます。 PHPで動作するようにApache Webサーバーを再起動する必要があります。 これを行うには、次のように入力します。

sudo systemctl restart httpd.service

PHPモジュールのインストール

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

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

yum search php-

結果は、インストール可能なすべてのオプションコンポーネントです。 それぞれの簡単な説明が表示されます:

php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-enchant.x86_64 : Enchant spelling extension for PHP applications
php-fpm.x86_64 : PHP FastCGI Process Manager
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
. . .

各モジュールの機能に関する詳細情報を取得するには、インターネットを検索するか、次のように入力してパッケージ内の長い説明を見ることができます。

yum info

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

たとえば、 `+ php-fpm +`モジュールが何をするかを調べるには、次のように入力します。

yum info php-fpm

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

. . .
Summary     : PHP FastCGI Process Manager
URL         : http://www.php.net/
License     : PHP and Zend and BSD
Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI
           : implementation with some additional features useful for sites of
           : any size, especially busier sites.

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

`+ php-fpm +`が必要なものであると判断した場合、次のように入力できます。

sudo yum install php-fpm

複数のモジュールをインストールしたい場合は、次のように、 `+ yum install +`コマンドの後にスペースで区切って各モジュールをリストすることでそれを行うことができます:

sudo yum install

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

ステップ4-WebサーバーでのPHP処理のテスト

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

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

CentOS 7では、このディレクトリは `+ / var / www / html / +`にあります。 次のように入力して、その場所にファイルを作成できます。

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

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

<?php phpinfo(); ?>

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

ファイアウォールを実行している場合は、次のコマンドを実行してHTTPおよびHTTPSトラフィックを許可します。

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

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

訪問するアドレスは次のとおりです。

http:///info.php

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

image:https://assets.digitalocean.com/articles/lamp_c7/default_php.png [CentOS 7デフォルトPHP情報]

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

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

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

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

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

結論

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