Ubuntu20.04にLEMPスタックをインストールします

LEMP Linux、NGINX(Engine Xと発音)、MySQL、およびPHPの頭字語です。 これらはすべて、Web開発で一般的に使用される一般的なオープンソースツールです。 LEMPスタックは、動的なWebサイトをホストするために一般的に使用されます。 WordPress、Drupal、Joomlaなどのほとんどのコンテンツ管理システムは動的なWebページを作成します。

いつ リクエストが来る、サーバーはPHPコードを実行してHTMLバージョンをまとめ、バックエンドデータベースにクエリを実行してコンテンツをHTMLに挿入します。

このガイドでは、をインストールする手順について説明します。 LEMPスタック の上 Ubuntu 20.04

前提条件

  • 動作しているUbuntu20.04Linuxサーバー
  • のユーザー sudo 特権

これにより、LEMPスタックの最初の部分が処理されます。 Linux

NGINXWebサーバーをインストールします

LEMPスタックの2番目の部分では、クライアントにWebリソースを提供するためにNGINXをセットアップする必要があります。

することは簡単 NGINXをインストールします 次のコマンドを使用してUbuntu20.04で。

$ sudo apt install nginx

インストールが正常に完了したら、次のコマンドを実行してNGINXのステータスを確認できます。

$ sudo systemctl status nginx

NGINXステータスを確認する

NGINXがアクティブ(実行中)であることを確認するメッセージが表示されます。それ以外の場合は、次のコマンドを実行してNGINXを起動します。

$ sudo systemctl start nginx

これで、Webブラウザーを開いて、サーバーのIPアドレスを入力できます。 NGINXのデフォルトページが表示されます。

ノート: 以下のコマンドを実行すると、サーバーのIPアドレスを取得できます。

$ curl ifconfig.me

または単に入力してください ローカルホスト ローカルに接続している場合は、Webブラウザで。

NGINXのデフォルトのWebページNGINXのデフォルトのWebページ

デフォルトのNGINXドキュメントルートを変更する

上記の「Welcometonginx」ウェブページは、デフォルトのドキュメントルートから提供されました。 / var / www / html デフォルトのサーバーブロックファイルの構成ディレクティブに基づきます。 デフォルトのNGINXサーバーブロックファイルは / etc / nginx / sites-available / default。 このデフォルト構成を使用するのではなく、独自の構成を作成できます。

方法は次のとおりです。

まず、/ var / wwwの下に、新しいデフォルトのNGINXドキュメントルートとして機能するディレクトリを作成します。 私は私の名前を付けました cloudindevs 私の登録済みドメイン名の最初の部分によると。 同様の方法で名前を付けることができます。

$ sudo mkdir / var / www / cloudindevs

次に、NGINXサービスアカウント(www-data)がドキュメントのルートディレクトリにアクセスできることを確認します。

注:www-dataの使用は必須ではありません。 意味のあるユーザー名を作成して定義できます user /etc/nginx/nginx.confファイルにあります。

新しいドキュメントルートの所有権をwww-dataに変更するには、次のように入力します。

$ sudo chown www-data:www-data / var / www / cloudindevs

アクセス許可を割り当てるには、次のchmodコマンドを実行します。

$ sudo chmod -R 755 / var / www / cloudindevs

その後、次のように既存のNGINXサーバーブロックファイルをコピーして、新しいNGINXサーバーブロックファイルを作成できます。

$ sudo cp / etc / nginx / sites-available / default /etc/nginx/sites-available/cloudindevs.com

次に、新しいNGINXサーバーブロックファイルを編集し、 新しいドキュメントルートを指すディレクティブ。

$ sudo nano /etc/nginx/sites-available/cloudindevs.com

NGINXルートディレクトリを変更しますNGINXルートディレクトリを変更します

次のステップは、次のようにシンボリックリンクして新しいサーバーブロックファイルをアクティブ化することです。

$ sudo ln -s /etc/nginx/sites-available/cloudindevs.com /etc/nginx/sites-enabled

以下のコマンドでリンクを解除することで、以前のデフォルトのNGINXサーバーブロックファイルを無効にできます。

$ sudo / etc / nginx / sites-enabled / defaultのリンクを解除します

次のコマンドでNGINX構成をテストします。

$ sudo nginx -t

この変更を適切にテストするには、以下のサンプルhtmlコードをコピーしてください。

<head>
<title>Successfully changed NGINX default document root!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx default document root was successfully changed.</p>
</body>
</html>

次のコマンドを使用して、新しいドキュメントルートディレクトリに新しいインデックスページを作成します。

$ sudo nano /var/www/cloudindevs/index.html

HTMLコードをテキストエディタに貼り付け、保存して close ファイル。

以下のコマンドでNGINXを再起動します。

$ sudo systemctl restart nginx

最後に、Webブラウザーを開き、サーバーのIPアドレスを入力します。

下の画像にメッセージが表示されたら、準備は完了です。

NGINXの新しいデフォルトのWebページNGINXの新しいデフォルトのWebページ

MySQLデータベース管理システムをインストールします

LEMPスタックの3番目の部分は MySQL -アプリケーションデータを保存および管理するために一般的に使用されるオープンソースのデータベース管理システム。 MariaDBは、パフォーマンスが向上するため、LEMPスタックのMySQLの優れた代替品です。 ただし、この記事では、従来のMySQLを使用しています。

次のコマンドを使用して、Ubuntu20.04にMySQLをインストールできます。

$ sudo apt install mysql-server

インストールしたら、次のコマンドでMySQLのバージョンを確認できます。

$ mysql –version

MySQLを構成する

MySQLを適切に構成するには、次のようにmysql_secure_installationスクリプトを実行することをお勧めします。

$ sudo mysql_secure_installation

一言で言えば、スクリプトは次のように促します。

  • VALIDATEPASSWORDコンポーネントを有効/無効にします。 これは、パスワードの複雑さの要件に関係します
  • MySQLrootユーザーの新しいパスワードを設定します
  • 匿名ユーザーを削除する
  • rootログインをリモートで禁止する
  • テストデータベースを削除する
  • 特権テーブルをリロードして変更を適用します

mysql_secure_installationスクリプトが成功メッセージで完了すると、MySQLにログインできます。

MySQLにログインします

MySQLにログインするには、以下のコマンドを実行し、プロンプトが表示されたらMySQLのrootパスワードを入力します。

$ sudo mysql -u root -p

あなたは見るべきです mysql> MySQLサーバーが機能していることを確認するプロンプト。

MySQLにログインしますMySQLにログインします

タイプ 終了する Enterキーを押してMySQLからログアウトします。

mysql>終了

PHPをインストールする

最後に、Hypertext Preprocessor(PHP)をインストールすると、LEMPスタックが完成します。 PHP を処理します 動的処理 WebコンテンツのとMySQLと相互作用します。

このセクションでは、インストールします PHP-FPM (Fast-CGI Process Manager)そしてNGINXWebサーバーで使用できるように構成します。

PHP-FPMをインストールします

以下のコマンドを実行して、PHP-FPMおよび関連コンポーネントをUbuntu20.04にインストールします。

$ sudo apt install php-fpm php-mysql

インストールしたら、以下のコマンドでPHPのバージョンを確認してください。

$ php -v

PHP-FPMを使用するようにNGINXを構成する

NGINXサーバーブロック構成ファイルを次のように編集します。

$ sudo nano /etc/nginx/sites-available/cloudindevs.com

で始まる行に到達するまで、キーボードの下矢印を押します 索引。 今、追加します index.php 下の画像に示すようにリストに追加します。

index.phpをNGINXインデックスリストに追加しますindex.phpをNGINXインデックスリストに追加します

次に、「」というタイトルのセクションが表示されるまで、下矢印キーをもう一度押します。PHPスクリプトをFASTCGIサーバーに渡します。」

次の行のコメントを解除します。

location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

ここで、登録したドメイン名を介してNGINXサーバーにアクセスできるようにしたいので、サーバーブロックファイルにいくつかの追加の変更を加えました。

以下は、これらの変更が行われた後のサーバーブロックファイルのスニペットです。 同じことをしたい場合は、以下の構成の詳細をコピーして、単に置き換えることができます cloudindevs によると。

server {
listen 80;
root /var/www/cloudindevs;
index index.php index.html index.htm;
server_name cloudindevs.com www.cloudindevs.com;

location / {

try_files $uri $uri/ =404;

}

location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;

}

Save 変更と close サーバーブロック構成ファイル。

注:デフォルトでは、 PHP-FPM プール構成は/etc/php/7.4/fpm/pool.d/www.confファイルに保存されます。 ここでは、次のように定義できます ユーザーグループ にとって php-fpm

PHP-FPM構成をテストする

NGINXサーバーブロック構成ファイルのインデックスファイルのリストにindex.phpを追加したことを思い出してください。 したがって、次のように、新しいデフォルトのドキュメントルートにindex.phpファイルを作成する必要があります。

$ sudo nano /var/www/cloudindevs/index.php

以下のPHPコードをコピーして、テキストエディタに貼り付けます。

<?php
phpinfo();
?>

Save 変更と close ファイル。

次のコマンドでNGINXを再起動します。

$ sudo systemctl restart nginx

Webブラウザーを開き、サーバーのIPアドレスを入力するか ローカルホスト ローカルに接続している場合。 PHP-FPMが正しく機能していることを確認する次のページが表示されます。

NGINXを使用してPHP-FPM構成をテストするNGINXを使用してPHP-FPM構成をテストする

セキュリティ上の理由から、次のようにindex.phpファイルを削除して、サーバーに関する情報が外部に公開されすぎないようにすることができます。

$ sudo rm /var/www/cloudindevs/index.php

結論

このガイドの手順に従うと、Ubuntu20.04でLEMPプラットフォームが機能するはずです。 このガイドに関して説明が必要な場合は、以下のコメントセクションでお知らせください。