ウェブサイト検索

Ubuntu 12.04にLinux、nginx、MySQL、PHP(LEMP)スタックをインストールする方法


Ubuntu 12.04を使用していませんか?別のバージョンまたはディストリビューションを選択してください。

ステータス: 廃止された

この記事では、もはやサポートされていないUbuntuのバージョンについて説明しています。現在、Ubuntu 12.04を実行しているサーバーを運営している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

  • Ubuntu 14.04にアップグレードします。
  • Ubuntu 14.04からUbuntu 16.04へのアップグレード
  • サーバーデータをサポートされているバージョンに移行する

理由: Ubuntu 12.04は2017年4月28日にサポートが終了(EOL)し、もはやセキュリティパッチやアップデートを受けることはありません。このガイドはもはや維持されていません。

代わりに見る:
このガイドは参考としてはまだ有用かもしれませんが、他のUbuntuリリースでは動作しない可能性があります。 使用しているUbuntuのバージョンに対して書かれたガイドを使用することを強くお勧めします。 ページの上部にある検索機能を使用して、最新のバージョンを見つけることができます。

レンプについて

LEMPスタックは、ウェブサーバーを立ち上げるためのオープンソースソフトウェアのグループです。この略語は、Linux、nginx(エンジンエックスと発音)、MySQL、およびPHPを表しています。サーバーはすでにUbuntuで動作しているので、Linuxの部分は問題ありません。以下は、残りのインストール方法です。

セットアップ

このチュートリアルの手順では、ユーザーがルート権限を持っている必要があります。それを設定する方法は、初期サーバーセットアップチュートリアルのステップ3と4で確認できます。

ステップ1—Apt-Getを更新する

このチュートリアル全体で、サーバープログラムのインストーラーとしてapt-getを使用します。2012年5月8日に深刻なPHPの脆弱性が発見され、仮想プライベートサーバーを保護するために最新のパッチが適用されたソフトウェアをすべてダウンロードすることが重要です。

徹底的な更新をしましょう。

sudo apt-get update

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

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

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

sudo apt-get install mysql-server php5-mysql

インストール中に、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」を選択し、次のステップに進んでください。

すべてのオプションに「はい」と答えるのが最も簡単です。最後に、MySQLは再読み込みを行い、新しい変更を実装します。

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

それが終わったら、PHPをインストールして仕上げることができます。

ステップ3—nginxをインストールする

MySQLのセットアップが完了したら、次はVPSにnginxをインストールすることに進みます。

echo "deb http://ppa.launchpad.net/nginx/stable/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/nginx-stable.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C
sudo apt-get update
sudo apt-get install nginx

nginxは自動的に起動しません。nginxを実行するには、以下のように入力してください:

sudo service nginx start

nginx がインストールされているかどうかは、ブラウザを自分の IP アドレスに向けることで確認できます。

次のコマンドを実行すると、あなたのVPSのIPアドレスを表示できます。

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

ステップ4—PHPをインストールする

PHP-FPMをインストールするには、ターミナルを開いてこれらのコマンドを入力します。次のステップではnginxとphpの詳細を設定します。

sudo apt-get install php5-fpm

ステップ5—phpを設定する

 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

ステップ6—nginxを設定する

デフォルトの仮想ホストファイルを開いてください。

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

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

更新:新しいUbuntuバージョンでは、デフォルトで'www'の代わりに'hmtl'というディレクトリが作成されます。/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 the php-fpm socket
        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を追加してください。
  • サーバー名をローカルホストからあなたのドメイン名またはIPアドレスに変更してください(設定内のexample.comを置き換えてください)。
  • 「location ~ \.php${」セクションの正しい行を変更してください。

保存して退出

ステップ7—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スタックは、仮想プライベートサーバーにセットアップされ、構成されました。

もっと見る

LEMPをインストールした後、WordPressをインストールするか、MySQLでのさらなる操作を行う(基本的なMySQLのチュートリアル)、phpMyAdminをインストールする、SSL証明書を作成する、またはFTPサーバーをインストールしてください。

関連記事: