LEMP - Nginx、PHP、MariaDB、および PhpMyAdmin を OpenSUSE にインストールする
LEMP または Linux、Engine-x、MySQL、PHP スタックはソフトウェアですLinux オペレーティング システムにインストールされ、Nginx HTTP サーバーとMySQL/MariaDB データベース管理システムを利用した PHP ベースの Web アプリケーションを実行するオープン ソース ソフトウェアで構成されるバンドル。
こちらもお読みください: LAMP をインストールする – OpenSUSE での Apache、PHP、MariaDB、および PhpMyAdmin
このチュートリアルでは、Nginx、MariaDB、PHP、を使用して LEMP スタックをインストールする方法について説明します。 PHP-FPM と PhpMyAdmin (OpenSuse サーバー/デスクトップ エディション)。
Nginx HTTP サーバーのインストール
Nginx は、高速で信頼性の高い HTTP およびプロキシ サーバーであり、高負荷の HTTP リクエストを処理できます。リクエストの処理には非同期イベント駆動型のアプローチを使用しており、モジュール式のイベント駆動型アーキテクチャにより、高負荷下でもより予測可能なパフォーマンスを提供できます。
OpenSuse に Nginx をインストールするには、次のコマンドを実行します。
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 がインストールされている場合は、ポート 80 と 443 を開いて、ファイアウォール上の 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 は高速、スケーラブル、堅牢であり、ストレージ エンジン、プラグイン、その他多くのツールの豊富なエコシステムを備えているため、さまざまなユースケースに非常に汎用性があります。
MariaDB を OpenSuse にインストールするには、次のコマンドを実行します。
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 ベースの方法よりも高速であるということです。
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 構成ファイルで 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 テスト ファイルを作成して、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 は、PHP で書かれた無料のシンプルで使いやすい人気のツールで、Web 上で MySQL サーバーを管理するために構築されています。 MySQL と MariaDB 上で幅広い操作をサポートします。
phpMyAdmin を OpenSuse にインストールするには、次のコマンドを実行します。
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 ユーザーのログイン認証情報を入力し、[実行] をクリックします。
それだけです!このチュートリアルでは、Nginx、MariaDB、PHP、< を使用して LEMP スタックをインストールする方法を説明しました。 OpenSuse サーバー/デスクトップ エディションのstrong>PHP-FPM と PhpMyAdmin。セットアップ中に問題が発生した場合は、下のコメント フォームから質問してください。