ステータス:非推奨

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

理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.

代わりに参照してください:
このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。

レンプについて

LEMPスタックは、Webサーバーを稼働させるためのオープンソースソフトウェアのグループです。 頭字語は、Linux、nginx(Engine xと発音)、MySQL、およびPHPの略です。 サーバーはすでにUbuntuを実行しているので、Linuxの部分が処理されます。 残りをインストールする方法は次のとおりです。

設定

このチュートリアルの手順では、ユーザーがroot権限を持っている必要があります。 これを設定する方法は、手順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はrootパスワードを設定するように要求します。 プログラムのインストール中にパスワードを設定する機会を逃した場合、後で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...

次に、rootパスワードを変更するかどうかを尋ねるプロンプトが表示されます。 先に進み、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

ブラウザをIPアドレスに誘導することで、nginxがWebサーバーをインストールしたことを確認できます。

次のコマンドを実行して、VPSのIPアドレスを明らかにすることができます。

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

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

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

sudo apt-get install php5-fpm

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

We need to make one small change in the php configuration.Open up 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

ステップ6—nginxを構成する

デフォルトの仮想ホストファイルを開きます。

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

構成には、以下の変更を含める必要があります(変更の詳細は構成情報の下にあります)。

UPDATE:新しい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 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.phpをインデックス行に追加します。
  • server_nameをローカルホストからドメイン名またはIPアドレスに変更します(構成内のexample.comを置き換えます)
  • 「location〜 \ .php${」セクションの正しい行を変更します

保存して終了

ステップ7—php情報ページを作成する

新しいphp構成のすべての詳細をすばやく確認できます。

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

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

次の行を追加します。

<?php
phpinfo();
?>

次に、保存して終了します。

nginxを再起動します

sudo service nginx restart

http://youripaddress/info.phpにアクセスすると、nginxとphp-fpmの構成の詳細を確認できます。

これで、LEMPスタックが仮想プライベートサーバー上でセットアップおよび構成されました。

続きを見る

LEMPをインストールした後、 WordPress をインストールし、MySQL(基本的なMySQLチュートリアル)または phpMyAdmin をインストール、SSLを作成することができます証明書、またはFTPサーバーのインストール

EtelSverdlov著