ウェブサイト検索

LEMP - Nginx、PHP、MariaDB、および PhpMyAdmin を OpenSUSE にインストールする


LEMP または LinuxEngine-xMySQLPHP スタックはソフトウェアですLinux オペレーティング システムにインストールされ、Nginx HTTP サーバーとMySQL/MariaDB データベース管理システムを利用した PHP ベースの Web アプリケーションを実行するオープン ソース ソフトウェアで構成されるバンドル。

こちらもお読みください: LAMP をインストールする – OpenSUSE での Apache、PHP、MariaDB、および PhpMyAdmin

このチュートリアルでは、NginxMariaDBPHPを使用して LEMP スタックをインストールする方法について説明します。 PHP-FPMPhpMyAdmin (OpenSuse サーバー/デスクトップ エディション)。

Nginx HTTP サーバーのインストール

Nginx は、高速で信頼性の高い HTTP およびプロキシ サーバーであり、高負荷の HTTP リクエストを処理できます。リクエストの処理には非同期イベント駆動型のアプローチを使用しており、モジュール式のイベント駆動型アーキテクチャにより、高負荷下でもより予測可能なパフォーマンスを提供できます。

OpenSuseNginx をインストールするには、次のコマンドを実行します。

sudo zypper install nginx

Nginx がインストールされたら、とりあえずサービスを開始し、起動時の自動開始を有効にして、次のコマンドを実行して Nginx のステータスを確認できます。

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

こちらもお読みください: すべての Linux ユーザーが知っておくべき、最もよく使用される 10 の Nginx コマンド

この時点で、Nginx Web サーバーは稼働しているはずです。図に示すように netstat コマンドを使用してステータスを確認することもできます。

sudo netstat -tlpn | grep nginx

次に、Nginx インストールが正常に動作しているかどうかをテストする必要があります。他の Linux ディストリビューションとは異なり、openSUSE では、Nginx の Web ルート フォルダーに標準の index.html ドキュメントがありません。示されているように、ルート Web ディレクトリ "/srv/www/htdocs" の下に新しい index.html ファイルを作成する必要があります。

echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

firewalld がインストールされている場合は、ポート 80443 を開いて、ファイアウォール上の Web トラフィックを許可する必要があります。

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

次に、Web ブラウザを開いてアドレス http://localhost に移動し、Nginx ページを確認します。

MariaDB データベース サーバーのインストール

MariaDB は、MySQL リレーショナル データベース管理システムの無料のオープンソース フォークです。これは MySQL の元の開発者によって開発され、オープンソースであり続けることを目的としています。 MariaDB は高速、スケーラブル、堅牢であり、ストレージ エンジン、プラグイン、その他多くのツールの豊富なエコシステムを備えているため、さまざまなユースケースに非常に汎用性があります。

MariaDBOpenSuse にインストールするには、次のコマンドを実行します。

sudo zypper install mariadb mariadb-client 

次に、MariaDB サービスをとりあえず起動し、起動時の自動起動を有効にしてステータスを確認します。

sudo systemctl start mariadb 
sudo systemctl enable mariadb 
sudo systemctl status mariadb 

このセクションの次の重要なステップは、MariaDB サーバーのインストールを保護することです。したがって、図に示すように、MariaDB パッケージに同梱されているセキュリティ スクリプトを実行します。

: MariaDB セキュリティ スクリプトとそのすべての部分を実稼働環境のすべての MariaDB サーバーで実行することを強くお勧めします。

sudo mysql_secure_installation 

スクリプトを実行した後、各ステップの説明を注意深く読んでください。 root ユーザーのパスワードを設定し、匿名ユーザーを削除し、リモート root アクセスを無効にし、テスト データベースを削除してそれにアクセスし、最後に権限テーブルをリロードする必要があります。

PHP および PHP-FPM のインストールと構成

PHP-FPM (PHP FastCGI Process Manager の略) は、いくつかの追加機能を備えた PHP の代替 FastCGI デーモンです。高負荷に耐えられるように設計されています。これを実現するためにプール (PHP リクエストに応答できるワーカー) を維持します。重要なのは、マルチユーザー PHP 環境では、SUPHP などの従来の CGI ベースの方法よりも高速であるということです。

PHPPHP-FPM を必要なモジュールとともにインストールするには、次のコマンドを実行します。

sudo zypper install php php-mysql php-fpm php-gd php-mbstring

PHP-FPM サービスの開始に進む前に、インストール中に提供されるデフォルト ファイルから必要な構成ファイルを作成し、サービスを操作できるように構成する必要があります。

sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

次に、メインの php-fpm.conf 構成ファイルを開いて編集します。

sudo vim /etc/php7/fpm/php-fpm.conf 

示されているように、行番号 24 の次の行のコメントを解除します。

error_log = log/php-fpm.log

ファイルを保存して閉じます。

次に、www.conf 構成ファイルで、構成されたプールの正しい設定を定義する必要があります。

sudo vim /etc/php7/fpm/php-fpm.d/www.conf

まず、プロセスの Unix 所有者とグループ所有者を Nginx ユーザーとグループに設定します。これを行うには、ユーザーおよびグループのパラメーターの値を nobody から nginx に変更します。

user = nginx
group = nginx

次に、ファイルへの変更を保存して終了します。

さらに、実行する必要のあるもう 1 つの重要な設定があります。これは、/etc/php/cli/php.ini ファイル内の PHP-FPM を保護します。

sudo vim /etc/php7/cli/php.ini

;cgi.fix_pathinfo=1 という行を検索し、次のように変更します。

cgi.fix_pathinfo=0

変更をファイルに保存して終了します。

次に、 とりあえずPHP-FPM サービスを開始し、起動時の自動開始を有効にしてステータスを確認します。

sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm

PHP-FPM と連携するように Nginx を構成する

この時点で、デフォルトの Nginx 構成ファイルで PHP-FPM と連携するように Nginx を構成する必要があります。

sudo vim /etc/nginx/nginx.conf

次に、次のセクションを探し、期待されるインデックス ファイルのリストに index.php を追加します。

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

また、次のセクション (コメントアウトする必要があります) を見つけて、コメントを解除します。このセクションは、127.0.0.1:9000 でリッスンしている FastCGI サーバーに PHP スクリプトを渡すために使用されます。

location ~ \.php$ { 
       root           /srv/www/htdocs/; 
       fastcgi_pass   127.0.0.1:9000; 
       fastcgi_index  index.php; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       include        fastcgi_params; 
       }

変更をファイルに保存して終了します。

Nginx と PHP-FPM のテスト

次のステップでは、DocumentRoot ディレクトリの下に新しい PHP テスト ファイルを作成して、NginxPHP-FPM と連携して適切に動作するかどうかをテストします。示されています。

echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php

サービスの再起動に進む前に、次のように Nginx 構成が正しいかどうかを確認する必要があります。

sudo nginx -t

Nginx 設定構文に問題がない場合は、Nginx サービスと PHP-FPM サービスを再起動して、最近の変更を有効にします。

sudo systemctl restart nginx php-fpm

次のスクリーンショットに示すように、Web ブラウザを開いてアドレス http://localhost/info.php に移動して、PHP 構成を確認します。

PhpMyAdminのインストールと構成

phpMyAdmin は、PHP で書かれた無料のシンプルで使いやすい人気のツールで、Web 上で MySQL サーバーを管理するために構築されています。 MySQLMariaDB 上で幅広い操作をサポートします。

phpMyAdminOpenSuse にインストールするには、次のコマンドを実行します。

sudo zypper install phpMyAdmin

インストールが完了したら、図に示すように、phpMyAdmin にアクセスするための新しい vhost 構成ファイルを作成します。

sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

次の構成をファイルに追加します。

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

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

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

変更を保存してファイルを閉じます。次に、次のコマンドを使用してNginx サービスを再起動します。

sudo systemctl restart nginx

次に、Web ブラウザに移動し、アドレス http://localhost/phpMyAdmin を入力します。次のスクリーンショットに示すように、phpMyAdmin ログイン ページが表示されます。データベースの root ユーザーのログイン認証情報を入力し、[実行] をクリックします。

それだけです!このチュートリアルでは、NginxMariaDBPHP、< を使用して LEMP スタックをインストールする方法を説明しました。 OpenSuse サーバー/デスクトップ エディションのstrong>PHP-FPM と PhpMyAdmin。セットアップ中に問題が発生した場合は、下のコメント フォームから質問してください。