ウェブサイト検索

Debian 7 に Linux、Nginx、MySQL、PHP(LEMP)スタックをインストールする方法


Lempスタック:基本情報

LEMPスタックは、VPSをセットアップして稼働させるためのオープンソースソフトウェアのグループです。この略語には、より伝統的なLAMPスタックのLinux (L)、MySQL (M)、およびPHP (P)が含まれていますが、ApacheをNginx(エンジンエックスと発音します)に置き換えています。

このチュートリアルでは、nginx/MySQL/PHP-fpmのインストール方法と、nginxやphp-fpmをダウンロードするために必要なすべてのリポジトリについて説明します。また、phpとnginxの設定方法、さらにphp情報ページの作成方法についてもレビューします。

1) Apt-Getを更新する

apt-get update コマンドは、ソースからパッケージインデックスファイルを再同期するために使用されます。apt-get upgrade コマンドと組み合わせて使用すると、現在利用可能なすべてのパッケージの最新バージョンがインストールされます。

現時点では、徹底的な更新を行う必要があります:

sudo apt-get update

2) VPSにMySQLをインストールする

MySQLはデータを整理し取得するために使用される強力なデータベース管理システムです

MySQLをインストールするには、ターミナルを開いてこれらのコマンドを入力します:

sudo apt-get install mysql-server

インストール中に、MySQLはルートパスワードを設定するように求めます。プログラムがインストールされている間にパスワードを設定する機会を逃した場合でも、MySQLシェル内から後で簡単にパスワードを設定できます。

MySQLをインストールしたら、このコマンドで有効化しましょう:

sudo mysql_install_db

MySQLの設定スクリプトを実行して終了します:

sudo /usr/bin/mysql_secure_installation

プロンプトが現在のルートパスワードを尋ねます。それを入力してください。

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

プロンプトがルートパスワードを変更するかどうか尋ねてきます。このオプションにはNを選択してください。ルートパスワードはすでに設定済みのはずです。ただし、残りの質問には特に理由がない限り、すべてYと答えることができます。

さあ、nginxをインストールしましょう!

3) VPSにNginxをインストールして設定する

インストール

初期インストールはapt-getコマンドを使うことで簡単です。

sudo apt-get install nginx

nginxを実行するためにはコマンドが必要です:

sudo service nginx start

今、ブラウザを自分のIPアドレスに向けると、nginxがクラウドサーバーに正常にインストールされたことを確認できるはずです。

VPSのIPアドレスを表示するには、以下のコマンドを実行してください。

ifconfig eth0 | grep inet | awk '{ print $2 }'

構成

このコマンドでデフォルトのバーチャルホストファイルを開いてください:

sudo nano /etc/nginx/sites-available/default

構成には以下の変更が含まれるべきです(変更の詳細は構成情報の下にあります):

更新:新しいUbuntuバージョンでは、デフォルトで「www」ではなく「html」というディレクトリが作成されます。/usr/share/nginx/wwwが存在しない場合、おそらく「html」と呼ばれています。設定を適切に更新するようにしてください。

 [...]
server {
        listen   80;
     

        root /usr/share/nginx/www;
        index index.php index.html index.htm;

        server_name example.com;

        location / {
                try_files $uri $uri/ /index.html;
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www;
        }

        # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                
        }

}
[...]

変更の詳細は次のとおりです:

  • index行にindex.phpを追加してください。
  • server_nameをローカルホストからあなたのドメイン名またはIPアドレスに変更します(設定のexample.comを置き換えてください)
  • 「location ~ \.php${」セクションの正しい行を変更してください。

保存して退出

4) PHPをインストールして設定する

インストール

あなたはそれを推測したでしょう!私たちはapt-getコマンドを使ってPHP-FPMをインストールします:

sudo apt-get install php5-fpm php5-mysql

構成

php設定に一つ小さな変更を加える必要があります。php.iniを開いてください:

 sudo nano /etc/php5/fpm/php.ini

行cgi.fix_pathinfo=1を見つけて、1を0に変更してください。

cgi.fix_pathinfo=0

この数値が1に設定されていると、PHPインタプリタは要求されたファイルにできるだけ近いファイルを処理するよう最善を尽くします。これは潜在的なセキュリティリスクです。この数値が0に設定されている場合、逆にインタプリタは正確なファイルパスのみを処理します。これはより安全な代替手段です。

保存して終了。

php5-fpmの設定で別の小さな変更を加える必要があります。www.confを開いてください:

 sudo nano /etc/php5/fpm/pool.d/www.conf

行を見つけて、listen=127.0.0.1:9000を変更し、127.0.0.1:9000を/var/run/php5-fpm.sockにします。

listen = /var/run/php5-fpm.sock

保存して終了。

php-fpmを再起動する:

sudo service php5-fpm restart

5) PHP情報ページを作成する

新しいPHP設定のすべての詳細をすぐに確認できます。

これを設定するには、まず新しいファイルを作成します:

sudo nano /usr/share/nginx/www/info.php

以下の行を追加してください:

<?php
phpinfo();
?>

それから保存して終了します。

仕上げる

nginxを再起動します:

sudo service nginx restart

nginxとphp-fpmの設定詳細は、http://youripaddress/info.phpを訪れることで確認できます。

あなたのLEMPスタックは、仮想プライベートサーバーにセットアップされ、構成されました :)

関連記事: