GNU/Linux >> Linux の 問題 >  >> OpenSuse

OpenSUSE Leap 42.1にNginx、PHP、MySQL(LEMPスタック)をインストールする方法

LEMPまたはLinux、Engine-x、MySQL、およびPHPは、Linuxオペレーティングシステムにインストールされたソフトウェアのコレクションであり、PHPベースのWebアプリケーションを高速のNginxWebサーバーで稼働させます。 LEMPスタックは、Webアプリケーションをホストするための高速で信頼性の高い基盤を提供します。 LEMPは、完全なドキュメントセットを備えたオープンソースソフトウェアのコレクションであるため、さまざまなアプリケーションとそれらがどのように組み合わされているかについて簡単に学ぶことができます。

このチュートリアルでは、openSUSEの飛躍42.1にNginx、MariaDB、PHP-FPMをインストールする方法を紹介します。次に、SuSEfirewall2を使用してOpenSUSEファイアウォールを構成し、Nginx Webサーバーへのアクセスを許可し、NginxWebサーバーに新しい仮想ホスト構成を追加する方法を示します。

最後に、使いやすいデータベース管理ツールとしてphpMyAdminをインストールし、Webディレクトリを変更してphpMyAdminディレクトリのHTTP認証を有効にすることでセキュリティを確保します。

前提条件

  • OpenSUSELeap42.1。
  • root権限。
  • zypperコマンドを理解する。

ステップ1-SuSEfirewall2をインストールして構成する

SuSEfirewall2は、構成ファイル「/ etc / sysconfig/SuSEfirewall2」に基づいてiptablesルールを生成するスクリプトです。サーバーポートへのネットワーク攻撃を防ぐためにインストールおよび構成します。

zypperを使用してSuSEfirewall2をインストールします:

SuSEfirewall2のzypper

インストールが完了したら、WebアプリケーションとSSH用にいくつかのポートを開く必要があります。 sshサービス用にポート22を開き、httpとhttps用にポート80と443を開きます。 「/etc/ sysconfig /」ディレクトリに移動し、「SuSEfirewall2」ファイルを編集します。

 cd / etc / sysconfig / 
vim SuSEfirewall2

253行目に、サービスのポート番号を空白で区切って追加します。

 FW_SERVICES_EXT_TCP ="22 80 443" 

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

SuSEfirewall2とSSHサービスを再起動し、telnetでサーバーに接続してポート構成をテストします。

SuSEfirewall2とSSHサービスを再起動します:

 / sbin / rcSuSEfirewall2 restart 
systemctl restart sshd

ポート22でのtelnetとのssh接続のテスト:

 telnet 192.168.1.101 22 

ステップ2-Nginxをインストールして構成する

Nginxまたはenginexは、メモリ消費量が少ない高性能のHTTPおよびプロキシサーバーです。 Netflix、Pinterest、CloudFlare、Githubなどの大規模なウェブサイトで使用されています。Nginxは構成構文を簡単に習得でき、ヘルスチェックを備えたロードバランサーやキャッシュ機能を備えたリバースプロキシとしても機能します。

このステップでは、nginxをインストールし、ブート時に開始するように追加します。 「zypperin」コマンドを使用してインストールします:

nginxのzypper

nginxを起動し、起動時に起動できるようにします:

 systemctl start nginx 
systemctl enable nginx

Nginxは現在起動していますが、Webブラウザーからアクセスしようとすると、403forbiddenエラーが発生します。このエラーは、Webルートフォルダに標準のインデックスドキュメントがないために発生します。この問題を解決するには、ルートWebディレクトリ「/ srv / www/htdocs」に新しいインデックスhtmlを作成します。ディレクトリに移動して、index.htmlファイルを作成します。

 cd / srv / www / htdocs / 
echo "

This is Nginx OpenSUSE Leap 42.1

"> index.html

Webブラウザーを開き、サーバーIPを入力すると、インデックスページが表示されます。

http://192.168.1.101/

ステップ3-MariaDBをインストールして構成する

MariaDBは、GNU GPLライセンスの下でMySQLからフォークされたオープンソースのRDBMS(リレーショナルデータベース管理システム)です。このチュートリアルでは、MariaDBをインストールし、MariaDBシェルのルートパスワードを構成します。

zypperコマンドを使用してMariaDBをインストールします:

mariadbmariadbのzypper-クライアント

MariaDB / MySQLを起動し、以下のsystemctlコマンドを使用して起動を起動するように追加します。

 systemctl start mysql 
systemctl enable mysql

次に、mysqladminコマンドを使用してMariaDBb/MySQLの管理者パスワードを構成します。この目的で使用できるもう1つのオプションは、「mysql_secure_installation」です。このステップでは、mysqladminを使用します:

 / usr / bin / mysqladmin -u root password'aqwe123' 

注:

「aqwe123」はMariaDB/MySQLの新しいパスワードです。

次に、ユーザーrootとパスワードaqwe123を使用してmysqlシェルにログインします。

 mysql -u root -p 
TYPE PASSWORD'aqwe123'

これで、MariaDB / MySQLがインストールされ、新しいパスワードで構成されました。

ステップ4-PHP-FPMのインストールと構成

PHP-FPMまたはFastCGIProcessManagerは、古いPHP FastCGIの代替であり、追加機能と速度の向上を提供します。 PHP-FPMは、PHPプログラミング言語に基づく小規模および大規模のサイトに最適です。

このステップでは、phpMyAdminに必要ないくつかの追加の拡張機能を使用してphp5-fpmをインストールします。 php5-fomとzypperを使用した拡張機能をインストールします:

php5php5-mysqlのzypperphp5-fpmphp5-gd php5-mbstring 

インストールが完了したら、php5-fpmディレクトリに移動し、構成ファイルをコピーします。

 cd /etc/php5/fpm/ 
cp php-fpm.conf.default php-fpm.conf

vimコマンドで設定を編集します:

 vim php-fpm.conf 

32行目のコメントを解除してphp-fpmログを有効にします。デフォルトのプレフィックスは/varで、php5-fpmに問題がある場合は、ログファイル「/var/log/php-fpm.log」を確認できます。

>
 error_log =log / php-fpm.log 

148行目で、nginxプロセスの所有者をNginxユーザーに構成します。ユーザーとプロセスのグループをnginxに変更します:

 user =nginx 
group =nginx

159行目:ポートではなくソケットファイルで実行するようにphp-fpmを設定します。その行を次のように変更します:

 listen =/var/run/php-fpm.sock 

そして、170行目で、unixソケットのアクセス許可をnginxユーザーとモード0660のグループに変更します。

 listen.owner =nginx 
listen.group =nginx
listen.mode =0660

ファイルを保存してエディタを終了します。

次に、PHP cliディレクトリに移動し、vimでphp.iniファイルを編集します。

 cd / etc / php5 / cli / 
vim php.ini

セキュリティ上の理由から、cgi.fix_pathinfoの値をゼロに変更します。 178行目:

 cgi.fix_pathinfo =0 

保存して終了します。

php.iniをconf.dディレクトリにコピーします:

 cp php.ini /etc/php5/conf.d/ 

PHP-FPMの構成はこの段階で行われますが、Nginxを構成する必要があります。 php-fpmで動作するようにNginxを設定する必要があります。

nginx構成ディレクトリに移動し、cpコマンドを使用して構成ファイルのバックアップを作成します。

 cd /etc/nginx/ 
cp nginx.conf nginx.conf.backup

vimでnginx.confを編集します:

 vim nginx.conf 

48行目にindex.phpを追加します:

 index index.php index.html index.htm; 

68行目に新しいphp構成セクションを追加します。これは.phpファイル要求を処理するための構成です。

 location〜 \ .php $ {
root / srv / www / htdocs;
try_files $ uri =404;
fast :/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
}

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

次に、nginx構成ファイルの構文をテストして、エラーがないことを確認します。次に、php-fpmデーモンを起動し、Nginxを再起動します。

 nginx -t 
systemctl start php-fpm
systemctl restart nginx

php-fpmとnginxが正しく機能していることを確認するために、新しいphpテストファイルを追加します。 DocumentRootディレクトリに移動し、info.phpという名前のphpinfoファイルを作成します。

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

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

http://192.168.1.101/info.php

Nginxとphp-fpmは現在機能しています。

ステップ5-Nginx仮想ホストを構成する

このステップでは、Webサイトの仮想ホスト構成を追加する方法を示します。新しいドメイン「www.example.com」と「/srv/ www /example/」のwebrootディレクトリを設定します。 exampleとexample.comを独自のドメイン名に置き換えてください。

GNginx nginxディレクトリを作成し、仮想ホスト構成用の新しいディレクトリを作成します。

 cd / etc / nginx / 
mkdir vhosts.d /
cd vhosts.d /

次に、ドメイン名「example.com」仮想ホストの新しいファイルexample.confを作成します。

 vim example.conf 

以下に仮想ホスト構成を貼り付けます:

 server {
server_name example.com;
return 301 $ schema://www.example.com$request_uri;
}

server {
listen 80;

root / srv / www / example;
index index.php index.html index.htm;

場所/{
try_files $ uri $ uri / =404;
}

location〜 \ .php $ {
try_files $ uri =404;
in / etc / fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
/>



/ pre>

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

次に、/ srv / www /ディレクトリにサイト「example.com」のディレクトリを作成し、新しいインデックスファイルを作成します。

 mkdir -p / srv / www / example / 
cd / srv / www / example /
echo"

これはwww.example.comサイトです。

">インデックス.html
echo "<?php phpinfo();?>"> info.php

次に、Webブラウザを開いて、ドメインにアクセスします。

example.com

wwwドメインにリダイレクトされ、phpファイルにアクセスします:

http://www.example.com/info.php

ステップ6-phpMyAdminをインストールして構成する

PhpMyAdminは、WebブラウザからMySQLまたはMariaDBデータベースを管理するためのPHPベースのアプリケーションです。このステップでは、phpMyAdminをphp-fpmで実行するように構成し、phpMyAdminログインページへのアクセスを制限してPHPMyAdminを安全にします。

zypperコマンドを使用してphpMyAdminをインストールします:

phpMyAdminのzypper

このコマンドは、パスワードファイルの作成に必要なapache2-utilsを含め、phpMyAdminに必要なすべてのパッケージをインストールします。

これで、phpMyAdminがシステムにインストールされました。次に、htpasswdコマンドを使用して新しいhtpasswdファイルを作成します。

パスワードファイルhtpasswdを作成します:

 htpasswd -c / etc / nginx / htpasswdmegumi
ユーザーmegumiのパスワードを入力してください

次に、phpmyadminディレクトリにHTTP基本認証を使用するようにNginxを構成する必要があります。 auth_basicを使用してphpMyAdminログインページへのアクセスを制限し、「htpasswd」ファイルにあるユーザーのみがphpMyAdminにログインできます。

Nginx構成ディレクトリに移動し、nginx.confファイルを編集します:

 cd / etc / nginx / 
vim nginx.conf

40行目(server_name)の下に新しい行を追加して、サーバーセクション内にWebルートディレクトリを定義します。

 server_name localhost; 
root / srv / www / htdocs; #newline config

次に、nginxのphpMyAdmin構成を60行目に追加します。

 location〜 ^ /phpMyAdmin/。*\。php${
auth_basic "Restricted Access";
auth_basic_user_file / etc / nginx / htpasswd;
fastcgi_pass unix:/ php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
include fastcgi_params;
} pre

ファイルを保存してエディタを終了します。

nginx構成をテストし、nginxを再起動します:

 nginx -t 
systemctl restart nginx

次に、Webブラウザを開いてphpMyAdmin URLにアクセスすると、ログインページのユーザー名とパスワードの入力を求められます。

http://192.168.1.101/phpMyAdmin/

次に、MySQLのユーザー名とパスワードを使用してログインします。

phpMyAdminが正常にインストールされ、htpasswdのユーザーのみがログインできます。


OpenSuse
  1. openSUSE12.1にPHP-FPMとMySQLを使用してNginxをインストールする方法

  2. MysqlServer8をOpenSUSELeap15.3にインストールする方法

  3. OpenSUSE Leap 15.3にPHPとApache(LAMPスタック)をインストールしてセットアップする方法

  1. Nginxをプロキシとしてインストールおよび設定する方法OpenSUSELeap15.3

  2. OpenSUSE Leap 15.3にPHPとNginx(LEMP)をインストールしてセットアップする方法

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

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

  2. CentOS 7にPHPとMySQL(LEMPスタック)を使用してNginxをインストールする方法

  3. Debian 11 に LEMP Stack Nginx、MySQL、PHP をインストールする方法