Nginx をインストールする方法, PHP と MySQL (LEMP スタック) OpenSUSE の飛躍に 42.1

Nginx をインストールする方法, PHP と MySQL (LEMP スタック) OpenSUSE の飛躍に 42.1

LEMP または Linux, エンジン x, MySQL, PHP は、PHP ベースの web アプリケーションを取得する Linux オペレーティング システムにインストールされているし、高速の Nginx web サーバーで実行されているソフトウェアのコレクションと. LEMP スタックは、web アプリケーションをホストする高速かつ信頼性の高い基盤を提供します。. LEMP は設定簡単にさまざまなアプリケーションと組み合わせる方法についての詳細を学ぶことができる完全なドキュメントをしているオープン ソース ソフトウェアのコレクション.

このチュートリアルで, Nginx をインストールする方法をお見せします, MariaDB, openSUSE 飛躍に PHP FPM 42.1. Nginx web サーバーへのアクセスを許可し、Nginx web サーバーに新しい仮想ホストの構成を追加する方法を示す SuSEfirewall2 と OpenSUSE ファイアウォールを構成、.

最終的に, 使いやすいデータベース管理ツールとして phpMyAdmin をインストール、web ディレクトリを変更し、phpMyAdmin のディレクトリに HTTP 認証を有効にすることにより、保護.

前提条件

  • OpenSUSE の飛躍 42.1.
  • ルート権限.
  • Zypper コマンドを理解します。.

ステップ 1 – インストールして SuSEfirewall2 の構成

SuSEfirewall2 は、iptables ルールに基づいて構成ファイルを生成するスクリプト “/等/sysconfig/SuSEfirewall2”. インストール、サーバー ポートに対するネットワーク攻撃を防止するように構成.

Zypper の SuSEfirewall2 をインストールします。

SuSEfirewall2 で zypper

インストールが完了したとき, 我々 は web アプリケーションおよび SSH のいくつかのポートを開く必要があります。. 我々 はポートを開きます 22 ssh サービスし、ポート 80 そして 443 http と https のため. へ、 “/等/sysconfig/” ディレクトリと編集、 “SuSEfirewall2″ ファイル:

cd/etc/sysconfig/
vim SuSEfirewall2

ラインで 253, サービスのポート番号を追加します。, ホワイト スペースで区切られます。

FW_SERVICES_EXT_TCP =”22 80 443”

ファイルおよび出口を除けば.

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

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

/sbin/rcSuSEfirewall2 再起動
systemctl 再起動 sshd

Ssh のポートに telnet 接続をテスト 22:

telnet 192.168.1.101 22

SSH でサーバーにアクセスします。.

ステップ 2 – インストールし、Nginx を構成

Nginx またはエンジン x は高性能 HTTP- 低いメモリ消費量でプロキシ サーバー. ネットフリックスのような大規模な web サイトが使用しています。, Pinterest, CloudFlare, Github 等. Nginx は構成の構文を学ぶことは簡単、健康チェックを装備したロード バランサーとリバース プロキシ キャッシュ機能ととしても機能することができます。.

この手順では, 私達は nginx をインストールし、ブート時に起動するを追加. それをインストール、 “zypper” コマンド:

nginxの中でzypper

Nginx を起動し、ブート時に起動するを有効にします。

systemctl 開始の nginx
systemctl 有効にする nginx

Nginx が今開始します。, しかし、web ブラウザーを通してそれにアクセスしようとする場合, 表示されます、 403 禁断のエラー. Web のルート フォルダーに標準のインデックス ドキュメントがないためにこのエラーが発生します. この問題を解決するために, web のルート ディレクトリに新しいインデックス html を作成します。 “/SRV / WWW / htdocsに”. ディレクトリに移動し、index.html ファイルを作成します。

CD / SRV / WWW / htdocsに/
エコー “<h1>これは Nginx OpenSUSE 飛躍 42.1 です。</h1>” > index.html

Web ブラウザーを開いてサーバーの ip アドレスを入力して、インデックス ページが表示されます。

http://192.168.1.101/

Nginx は、ブラウザーでの作業します。.

ステップ 3 – インストールし、MariaDB を構成

MariaDB はオープン ソースの RDBMS (リレーショナル データベース管理システム) GNU GPL ライセンスの下で MySQL から分岐. このチュートリアルで, MariaDB をインストール、MariaDB シェルのルート パスワードの設定.

Zypper コマンドを使って MariaDB をインストールします。

mariadb mariadb-クライアントででzypper

MariaDB/MySQL を起動し、次の systemctl コマンドでスタートアップで起動するを追加します。

systemctl スタート mysql
systemctl 有効にする mysql

次に, mysqladmin コマンドで MariaDBb/MySQL の管理者パスワードを構成します。. この目的のために使用できる別のオプションは、 “mysql_secure_installation”. この手順では, 私は mysqladmin を使うでしょう。

/usr/bin/mysqladmin u ルート パスワード ' aqwe123’

メモ:

“aqwe123” 新しいパスワードは、MariaDB/MySQL.

次に、mysql ユーザー ルートとパスワード aqwe123 シェルにログイン:

mysql u ルート-p
パスワードを入力 ' aqwe123’

テスト MySQL ログイン.

今 MariaDB/MySQL のインストールを検出し、私たちの新しいパスワードで構成.

ステップ 4 – インストールおよび PHP FPM を構成します。

PHP FPM または FastCGI はプロセス マネージャーは、追加機能や速度の向上と古い PHP FastCGI のための代替を提供します. PHP FPM は PHP のプログラミング言語に基づく小規模および大規模サイトに適しています.

この手順では, phpMyAdmin は、必要ないくつかの aditional 拡張と php5 fpm をインストールします。. Zypper の php5 fom と拡張機能をインストールします。

php5 php5 mysql php5 fpm php5 gd php5 mbstring で zypper

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

cd/etc/php5/フッ素ゴム/
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 = ログ/php-fpm.log

ラインで 148 我々 は Nginx ユーザーに nginx プロセスの所有者を構成します。. ユーザーおよびプロセスのグループを nginx に変更します。

ユーザー = nginx
グループ nginx を =

ライン 159: ソケット ファイルで実行する php fpm を構成, ポートではなく. このような行を変更します。

耳を傾ける =/var/run/php-fpm.sock

行 170, nginx ユーザーとグループ モードに unix ソケットのアクセス許可を変更します。 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

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

インデックス index.php index.html index.htm;

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

場所 ~ .php$ {
ルート/srv/www/htdocs;
try_files $uri = 404;
/etc/nginx/fastcgi_params; が含まれて
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$ fastcgi_script_name;
}

ファイルおよび出口を除けば.

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

nginx t
systemctl は、php fpm を開始します。
systemctl 再起動 nginx

確認するには、php fpm と nginx が正常に動作します。, 我々 は新しい php テスト ファイルを追加します. DocumentRoot ディレクトリに行くし、名前 info.php で phpinfo ファイルを作成します。

CD / SRV / WWW / htdocsに/
エコー “<? php phpinfo();?>” > info.php

開いている web ブラウザーはあなたのサーバーの ip アドレスを入力します。

http://192.168.1.101/info.php

PHP を実行しています。.

Nginx と php fpm が今作業しています。.

ステップ 5 – Nginx のバーチャル ホストを構成します。

この手順では, Web サイトの仮想ホストの構成を追加する方法を紹介します. 我々 は新しいドメインを構成します。 “www.example.com” webroot ディレクトリ “/srv/www/例/”. 独自ドメイン名での使用例、example.com を交換してください。.

GNginx nginx ディレクトリ バーチャル ホスト構成用に新しいディレクトリを作成して.

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

次に, ドメイン名の新しいファイル example.conf を作成します。 “example.com” バーチャル ホスト.

vim example.conf

以下のバーチャル ホスト構成を貼り付けます。

サーバー {
server_name example.com;
戻り値 301 $scheme://www.example.com $request_uri;
}
サーバー {
耳を傾ける 80;
ルート/srv/www/example;
インデックス index.php index.html index.htm;
場所 / {
try_files $uri $uri = 404;/
}
場所 ~ .php$ {
try_files $uri = 404;
/etc/nginx/fastcgi_params; が含まれて
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$ fastcgi_script_name;
}
}

ファイルおよび出口を除けば.

今サイトのディレクトリを作成します。 “example.com” /srv/www/のディレクトリに, and create a new index file.

mkdir -p /srv/www/example/
cd /srv/www/example/
エコー “<h1>This is www.example.com site.</h1>” > index.html
エコー “<? php phpinfo();?>” > info.php

Now open your web browser and visit the domain:

example.com

You will be redirected to www domain, and now access the php file:

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

PHP Info.

ステップ 6 – Install and Configure phpMyAdmin

PhpMyAdmin is a PHP based application to manage MySQL or MariaDB databases from a web browser. この手順では, I will configure phpMyAdmin to run under php-fpm and then make PHPMyAdmin secure by restricting access the phpMyAdmin login page.

Install phpMyAdmin with the zypper command:

zypper in phpMyAdmin

The command will install all packages needed by phpMyAdmin, including apache2-utils that is required for creating the password file.

Now we have phpMyAdmin installed on the system. Next we will create a new htpasswd file with the htpasswd command.

create password file htpasswd:

htpasswd -c /etc/nginx/htpasswd megumi
TYPE YOUR PASSWORD for user megumi

次に, we have to configure Nginx to use HTTP basic authentication for the phpmyadmin directory. We will restrict access to the phpMyAdmin login page with auth_basic, and only users that are in the “htpasswd” file can log in to the phpMyAdmin.

Go to the Nginx configuration directory and edit the nginx.conf file:

cd/etc/nginx/
vim nginx.conf

Define the web root directory inside of the server section by adding a new line under line 40 (server_name):

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

Then add the phpMyAdmin configuration for nginx at line 60:

location ~ ^/phpMyAdmin/.*.php$ {
auth_basic “制限付きアクセス”;
auth_basic_user_file /etc/nginx/htpasswd;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$ fastcgi_script_name;
fastcgi_params; が含まれて
}

ファイルを保存し、エディターを終了.

Test the nginx configuration and restart nginx:

nginx t
systemctl 再起動 nginx

次に, open your web browser and visit the phpMyAdmin URL, you will be asked for a username and password for the login page.

http://192.168.1.101/phpMyAdmin/

Basic HTTP auth for PHPMyAdmin.

Then log in with your MySQL username and password.

PHPMyAdmin on Nginx.

phpMyAdmin has been successfully installed and only the user in the htpasswd can log in.

参照

http://nginx.org/en/docs/
https://www.howtoforge.com/basic-http-authentication-with-nginx
https://www.ruby-forum.com/topic/4411851