Linux、nginx、MySQL、PHP(LEMP)スタックをUbuntu12.04にインストールする方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。
理由: Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。 このガイドはもう維持されていません。
代わりに参照してください:
このガイドは参考として役立つかもしれませんが、他の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
プロンプトで、現在のrootパスワードの入力を求められます。
に入力します。
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を設定する
php構成に小さな変更を1つ加える必要があります。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サーバーのインストール。