GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 17.10にLEMPスタック(Nginx、MariaDB、PHP7.1)をインストールする方法

このチュートリアルでは、Ubuntu 17.10にNginx、MariaDB、PHP7.1(LEMP)をインストールする方法を紹介します。このチュートリアルは、VPS(仮想プライベートサーバー)またはローカルのUbuntu17.10コンピューターで実行できます。 PHP7.1はUbuntu17.10に含まれており、PHP7.0よりもパフォーマンスがわずかに向上しています。

ステップ1:ソフトウェアパッケージを更新する

LEMPスタックをインストールする前に、リポジトリとソフトウェアパッケージを更新することをお勧めします。 Ubuntu17.10OSで次のコマンドを実行します。

sudo apt update

sudo apt upgrade

ステップ2:NginxWebサーバーをインストールする

Nginxは高性能のWebサーバーであり、最近非常に人気があります。リバースプロキシとしても使用できます。このコマンドを入力して、NginxWebサーバーをインストールします。

sudo apt install nginx

インストール後、次のコマンドを実行することで、Ubuntuの起動時にNginxが自動起動できるようにすることができます。

sudo systemctl enable nginx

次に、次のコマンドでNginxを起動します:

sudo systemctl start nginx

次に、そのステータスを確認します。

systemctl status nginx

出力:

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en
   Active: active (running) since Tue 2017-12-12 06:17:50 UTC; 51s ago
     Docs: man:nginx(8)
 Main PID: 15672 (nginx)
    Tasks: 2 (limit: 4915)
   Memory: 6.3M
      CPU: 37ms
   CGroup: /system.slice/nginx.service
           ├─15672 nginx: master process /usr/sbin/nginx -g daemon on; master_pr
           └─15675 nginx: worker process

有効 」は、起動時の自動起動が有効になっていて、Nginxが実行されていることを示しています。上記のコマンドは、実行後すぐには終了しないことに注意してください。 「q」を押す必要があります 」を終了します。

Nginxのバージョンを確認してください。

nginx -v

出力:

nginx version: nginx/1.12.1 (Ubuntu)

次に、ブラウザのアドレスバーにUbuntu17.10サーバーのパブリックIPアドレスを入力します。 「WelcometoNginx」Webページが表示されます。これは、NginxWebサーバーが正しく実行されていることを意味します。ローカルホストのUbuntu17.10コンピューターにLEMPをインストールする場合は、「127.0.0.1」と入力します。 またはlocalhost ブラウザのアドレスバーに表示されます。

最後に、www-dataを作成する必要があります (Nginxユーザー)Webルートディレクトリの所有者として。デフォルトでは、rootユーザーが所有しています。

sudo chown www-data:www-data /usr/share/nginx/html -R

ステップ3:MariaDBデータベースサーバーをインストールする

MariaDBは、MySQLのドロップイン代替品です。これは、OracleがMySQLをクローズドソース製品に変える可能性があることを懸念しているMySQLチームの元メンバーによって開発されました。次のコマンドを入力して、Ubuntu17.10にMariaDBをインストールします。

sudo apt install mariadb-server mariadb-client

インストール後、MariaDBサーバーは自動的に開始されます。 systemctlを使用します ステータスを確認します。

systemctl status mariadb

出力:

● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset:enabled) 
   Active: active (running) since Tue 2017-12-12 06:36:12 UTC; 6s ago
 Main PID: 17409 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 26 (limit: 4915)
   Memory: 59.9M
      CPU: 342ms
   CGroup: /system.slice/mariadb.service
           └─17409 /usr/sbin/mysqld

実行されていない場合は、次のコマンドで開始します:

sudo systemctl start mariadb

起動時にMariaDBを自動的に起動できるようにするには、

を実行します。
sudo systemctl enable mariadb

次に、インストール後のセキュリティスクリプトを実行します。

sudo mysql_secure_installation

MariaDBのrootパスワードの入力を求められたら、rootパスワードがまだ設定されていないため、Enterキーを押します。次に、 yと入力します MariaDBサーバーのルートパスワードを設定します。

次に、Enterキーを押して残りのすべての質問に答えることができます。これにより、匿名ユーザーが削除され、リモートrootログインが無効になり、テストデータベースが削除されます。このステップは、MariaDBデータベースセキュリティの基本的な要件です。 (Yが大文字になっていることに注意してください。つまり、Enterキーを押すことは、Yを入力することと同じです。)

デフォルトでは、UbuntuのMaraiDBパッケージはunix_socketを使用してユーザーログインを認証します。これは基本的に、OSのユーザー名とパスワードを使用してMariaDBコンソールにログインできることを意味します。したがって、次のコマンドを実行して、MariaDBのrootパスワードを指定せずにログインできます。

sudo mariadb -u root

終了するには、

を実行します
exit;

MariaDBサーバーのバージョン情報を確認してください。

mariadb --version

ご覧のとおり、MariaDB10.1.25をインストールしました。

mariadb Ver 15.1 Distrib 10.1.25-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

ステップ4:PHP7.1をインストールする

PHP7.1はUbuntu17.10リポジトリに含まれており、PHP7.0よりもパフォーマンスがわずかに向上しています。次のコマンドを入力して、PHP7.1といくつかの一般的な拡張機能をインストールします。

sudo apt install php7.1 php7.1-fpm php7.1-mysql php-common php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-readline php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl

PHP拡張機能は、WordPressのようなコンテンツ管理システム(CMS)に一般的に必要です。たとえば、インストールにphp7.1-xmlがない場合 、その後、WordPressサイトページの一部が空白になる可能性があり、Nginxエラーログで次のようなエラーを見つけることができます:

PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create()

これらのPHP拡張機能をインストールすると、CMSがスムーズに実行されます。次に、php7.1-fpmを起動します。

sudo systemctl start php7.1-fpm

起動時に自動起動を有効にします。

sudo systemctl enable php7.1-fpm

ステータスの確認:

systemctl status php7.1-fpm

サンプル出力:

● php7.1-fpm.service - The PHP 7.1 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.1-fpm.service; enabled; vendor preset:enabled)
   Active: active (running) since Tue 2017-12-12 06:53:08 UTC; 4min 25s ago
     Docs: man:php-fpm7.1(8)
 Main PID: 27560 (php-fpm7.1)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se
    Tasks: 3 (limit: 4915)
   Memory: 28.0M
      CPU: 58ms
   CGroup: /system.slice/php7.1-fpm.service
           ├─27560 php-fpm: master process (/etc/php/7.1/fpm/php-fpm.conf)
           ├─27580 php-fpm: pool www
           └─27583 php-fpm: pool www

ステップ5:Nginxサーバーブロックを作成する

Nginxサーバーブロックは、Apacheの仮想ホストのようなものです。 PHPコードを実行するには不十分であり、変更すると混乱するため、デフォルトのサーバーブロックは使用しません。したがって、defaultを削除します sites-enabledのシンボリックリンク 次のコマンドを実行してディレクトリを作成します。 (/etc/nginx/sites-available/defaultとして引き続き利用できます 。)

sudo rm /etc/nginx/sites-enabled/default

次に、 /etc/nginx/conf.d/の下に新しいサーバーブロックファイルを作成します ディレクトリ。

sudo nano /etc/nginx/conf.d/default.conf

次のテキストをファイルに貼り付けます。 12.34.56.78を実際のサーバーのIPアドレスに置き換えます。

server {
  listen 80;
  listen [::]:80;
  server_name 12.34.56.78;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm index.nginx-debian.html;

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

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {
    root /usr/share/nginx/html;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  location ~ /\.ht {
    deny all;
  }
}

ファイルを保存して閉じます。次に、Nginx構成をテストします。

sudo nginx -t

テストが成功した場合は、Nginxをリロードします。

sudo systemctl reload nginx

ステップ6:PHPをテストする

Nginx WebサーバーでPHP-FPMをテストするには、info.phpを作成する必要があります。 ドキュメントのルートディレクトリにあるファイル。

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

次のPHPコードをファイルに貼り付けます。

<?php phpinfo(); ?>

ファイルを保存して閉じます。ブラウザのアドレスバーに、server-ip-address/info.phpと入力します。 。 sever-ip-addressを置き換えます 実際のIPで。ローカルコンピューターでこのチュートリアルに従う場合は、「127.0.0.1/info.php」と入力します。 またはlocalhost/info.php

サーバーのPHP情報が表示されます。これは、PHPスクリプトがNginxWebサーバーで正しく実行できることを意味します。

PHP7.2のインストール方法

PHP7.2は、2017年11月30日にリリースされたPHPの最新の安定バージョンであり、PHP7.1よりもパフォーマンスがわずかに向上しています。 Ondrej SuryからPPAを追加して、Ubuntu17.10にPHP7.2をインストールできます。その男はCertbotPPAの保守者でもあります。

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt update

次に、次のコマンドを使用してPHP7.2と一般的な拡張機能をインストールできます。

sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

次に、PHP7.2-FPMを起動します。

sudo systemctl start php7.2-fpm

システムの起動時に自動起動を有効にします。

sudo systemctl enable php7.2-fpm

ステータスを確認してください:

systemctl status php7.2-fpm

NginxでのPHP7.2-FPMの使用

NginxでPHP7.1-FPMではなくPHP7.2-FPMを使用するには、Nginxサーバーブロックファイルを編集する必要があります。

sudo nano /etc/nginx/conf.d/default.conf

次の行を見つけます。

fastcgi_pass unix:/run/php/php7.1-fpm.sock;

php7.1-fpmを変更します php7.2-fpmへ 。

fastcgi_pass unix:/run/php/php7.2-fpm.sock;

ファイルを保存して閉じます。次に、変更を有効にするためにNginxをリロードします。

sudo systemctl reload nginx

server-ip-address/info.phpを更新した場合 このページでは、NginxがPHP7.2-FPMを使用していることがわかります。

PHP7.1はPHP7.2と共存できます。 PHP7.1を使用したくない場合は、削除できます。一部のWebアプリケーションはNextCloud12のようにPHP7.2と互換性がない可能性があることに注意してください。私のテストでは、WordPressはPHP7.2で正常に動作します。

おめでとうございます!これで、Ubuntu 17.10にNginx、MariaDB、PHP7が正常にインストールされました。サーバーのセキュリティのために、詮索好きな目を防ぐために今すぐinfo.phpファイルを削除する必要があります。

sudo rm /usr/share/nginx/html/info.php

それでおしまい!このチュートリアルがUbuntu17.10にLEMPスタックをインストールするお役に立てば幸いです。 。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、その他のヒントやコツを入手してください。


Ubuntu
  1. Ubuntu18.04にLEMPをインストールする方法

  2. Ubuntu20.04にLEMPスタックを使用してMagento2.4をインストールする方法

  3. Ubuntu 22.04 に LEMP スタック Nginx、MySQL、PHP をインストールする方法

  1. ArchLinuxにLEMPスタックをインストールする方法

  2. Debian 11にNginx、MariaDB、PHP(LEMPスタック)をインストールする方法

  3. Ubuntu16.04にLEMPスタックをインストールする方法

  1. Linux、Nginx、MySQL、PHP(LEMPスタック)をUbuntu18.04にインストールする方法

  2. Ubuntu20.04にLEMPスタックをインストールする方法

  3. Nginx、MariaDB、PHP7.4(LEMP)を使用してUbuntu20.04にWordPressをインストールします