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


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

このチュートリアルでは、 Nginx MariaDB PHP LEMP スタックをインストールする方法について説明します。 OpenSuse サーバー/デスクトップ版のPHP-FPM PhpMyAdmin

Nginx HTTP Serverのインストール

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

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

$ sudo zypper install nginx

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

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status 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をインストールしている場合は、ファイアウォールでWebトラフィックを許可するためにポート 80 443 を開く必要があります。

$ 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 は、高速でスケーラブル、かつ堅牢で、ストレージエンジン、プラグイン、その他多くのツールの豊富なエコシステムにより、さまざまな用途に非常に汎用的です。

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

$ sudo zypper install mariadb mariadb-client 

次に、MariaDBサービスを今のところ開始してから、ブート時に自動開始できるようにしてその状況を確認します。

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

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

$ sudo mysql_secure_installation 

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

PHPおよびPHP-FPMのインストールと設定

ある[ PHP - FPM の(ある[ PHP FastCGIプロセスマネージャの)は、ある[ PHP のための代替の FastCGI のデーモンです。そして高い負荷を扱うように設計されています。これを実現するためにプール(PHPリクエストに応答できるワーカー)を管理しています。重要なことに、マルチユーザーPHP環境では、 SUPHP などの従来のCGIベースの方法よりも高速です。

必要なモジュールとともに PHP PHP-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設定ファイルで Nginx PHP-FPM と連携するように設定する必要があります。

$ 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テストファイルを作成して、 Nginx PHP-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 は、Web上でMySQLサーバーを管理するために構築された、無料でシンプルで使いやすく人気のあるPHPで書かれたツールです。それはある[ MySQL MariaDB の上で幅広い操作をサポートしています。

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

$ sudo zypper install phpMyAdmin

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

$ 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

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

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