GNU/Linux >> Linux の 問題 >  >> FreeBSD

FreeBSDにNginx、MariaDB、PHP(FEMP)スタックをインストールする方法

このチュートリアルでは、FreeBSD 11.xにFBEMPをインストールして設定する方法について説明します。 最新のリリース。 FBEMPは、次のソフトウェアのコレクションを表す頭字語です。

FreeBSD 11.1 Unixのようなディストリビューション、Nginx Webサーバー、MariaDBリレーショナルデータベース管理システム(MySQLのコミュニティフォーク)、およびサーバー側で実行されるPHP動的プログラミング言語。

要件

  1. FreeBSD11.xのインストール
  2. FreeBSDのインストール後に行うべき10のこと

ステップ1:FreeBSDにNginxWebサーバーをインストールする

1。 FBEMP用にインストールする最初のサービス FreeBSDでスタック Nginxで表されるWebサーバーです ソフトウェア。

Nginx Webサーバーには、 FreeBSD 11.x PORTSで利用可能なより多くのコンパイル済みパッケージがあります。 。 Nginxのリストを取得するには ポートからのバイナリ リポジトリの場合は、サーバーターミナルで次のコマンドを発行します。

# ls /usr/ports/www/ | grep nginx
# pkg search -o nginx

2。 この特定の構成では、 Nginxのメインパッケージバージョンをインストールします 以下のコマンドを発行します。 pkg パッケージ管理では、nginxパッケージのインストールを続行するかどうかを尋ねられます。はいと答えます(y コマンドラインで)インストールプロセスを開始します。

# pkg install nginx

3。 Nginx Webサーバーパッケージがシステムにインストールされたら、次のコマンドを実行して、デーモンをシステム全体で有効にし、システムでサービスを開始します。

# sysrc nginx_enable="yes"
# service nginx start

4。 次に、 sockstatを使用します コマンド、Nginxサービスネットワークソケットが 80 / TCP にバインドされている場合は、それらを確認します 以下のコマンドを発行して、ポートを作成します。 sockstatコマンドの出力は、返される結果をnginx文字列のみに減らすために、grepユーティリティを介してパイプされます。

# sockstat -4 | grep nginx

5。 最後に、ネットワーク内のデスクトップコンピューターでブラウザーを開き、HTTPプロトコルを介してNginxのデフォルトのWebページにアクセスします。 FQDNを記述します Nginxウェブサーバーのデフォルトのウェブページをリクエストするために提出されたブラウザのURLにある、お使いのマシン、ドメイン名、またはサーバーのIPアドレス。メッセージ「nginxへようこそ! 下のスクリーンショットに示すように、ブラウザに」が表示されます。

http://yourdomain.com
http://your_server_IP
http://your_machine_FQDN

6。 / usr / local / www / nginx /にあるNginxWebコンテンツのデフォルトのwebootディレクトリ 絶対システムパス。この場所で、.htmlなどのWebコンテンツファイルを作成、コピー、またはインストールする必要があります または.php あなたのウェブサイトのためのファイル。

この場所を変更するには、nginxメイン構成ファイルを編集し、新しいWebルートパスを反映するようにrootディレクティブを変更します。

# nano /usr/local/etc/nginx/nginx.conf

ここで、次の行を検索して更新し、新しいWebルートパスを反映させます。

root	/path/to/new/webroot;

ステップ2:FreeBSDにPHPをインストールする

7。 Apache HTTPとは異なり サーバーの場合、NginxにはPHPコードをネイティブに処理する機能がありません。その見返りとして、NginxウェブサーバーはPHPリクエストを php-fpm FastCGIなどのPHPインタープリターに渡します。 コードを検査して実行するデーモン。結果のコードはNginxに返され、Nginxはコードを要求されたhtml形式に再構成し、さらに訪問者のWebブラウザーにコードを送信します。

FreeBSD 11.x ポートリポジトリは、 PHP 5.6などのPHPプログラミング言語用の複数のバイナリバージョンを提供します 、 PHP 7.0 およびPHP7.1 リリース。 FreeBSD 11.xで利用可能なすべてのコンパイル済みPHPバージョンを表示するため 、以下のコマンドを実行します。

# pkg search -o php
# ls /usr/ports/lang/ | grep php

8。 システムで実行しているWebアプリケーションに最適なバージョンのPHPをインストールすることを選択できます。ただし、このガイドでは、PHPの最新バージョンをインストールします。

PHP 7.1をインストールするには リリースと、さまざまなWebアプリケーションに必要ないくつかのPHPの重要なモジュールについては、次のコマンドを実行してください。

# pkg install php71 php71-mysqli php71-mcrypt php71-zlib php71-gd php71-json mod_php71 php71-mbstring php71-curl

9。 システムにPHPパッケージをインストールしたら、 PHP-FPMを開きます。 Nginxの構成ファイルを作成し、ユーザーとグループの値を調整して、Nginxランタイムユーザーの値( www )と一致させます。 。まず、以下のコマンドでファイルのバックアップを作成します。

# cp /usr/local/etc/php-fpm.d/www.conf{,.backup}

次に、ファイルを開き、以下のサンプルに示されているように次の行を更新します。

user = www
group = www

10。 また、以下のコマンドを発行して、本番環境で使用するPHP設定ファイルを作成してください。このファイルでは、実行時にPHPインタープリターに適用されるカスタム変更を行うことができます。

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

たとえば、 date.timezoneを変更します 以下の例に示すように、マシンの物理的な場所を更新するためのPHPインタープリターの設定。 PHPのタイムゾーンリストはここにあります:http://php.net/manual/en/timezones.php。

# vi /usr/local/etc/php.ini

次のタイムゾーンを追加します(国ごとにタイムゾーンを設定します)。

date.timezone = Europe/London

アップロードされたファイルの最大ファイルサイズなど、他のPHP変数を調整することもできます。これは、以下の値を変更することで増やすことができます。

upload_max_filesize = 10M
post_max_size = 10M

11。 その後、PHPのカスタム設定を行い、 PHP-FPMを有効にして開始します。 以下のコマンドを発行して新しい構成を適用するためのデーモン。

# sysrc php_fpm_enable=yes
# service php-fpm start

12。 デフォルトでは、 PHP-FPM FreeBSDのデーモンは、ポート 9000 / TCPのローカルネットワークソケットにバインドします 。 PHP-FPMを表示するには ネットワークソケットは次のコマンドを実行します。

# sockstat -4 -6| grep php-fpm

13。 NginxWebサーバーがPHPスクリプトをFastCGIに渡すため 127.0.0.1:9000をリッスンしているゲートウェイサーバー ソケットで、Nginxメイン構成ファイルを開き、次のサンプルに示すように次のコードブロックを追加します。

# vi /usr/local/etc/nginx/nginx.conf

nginxのFastCGIコードブロック:

 location ~ \.php$ {
        root	/usr/local/www/nginx;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;    
        include        fastcgi_params;
        	}

14。 サーバーの現在のPHP情報を表示するには、info.phpを作成します。 次のコマンドを発行して、Nginxwebootパスにファイルを追加します。

# echo "<?php phpinfo(); ?>" | tee /usr/local/www/nginx/info.php

15。 次に、Nginxデーモンをテストして再起動し、 PHP FastCGIを適用します。 設定を行い、info.phpにアクセスします ブラウザのページ。

# nginx -t # Test nginx configuration file for syntax errors
# service nginx restart

それに応じて、以下のリンクのIPアドレスまたはドメイン名を置き換えてください。 PHP情報ページには、以下のスクリーンショットに示すような情報が表示されます。

http://yourdomain.com/info.php
http://server_IP-or-FQDN/info.php

ステップ3:FreeBSDにMariaDBをインストールする

16。 FEMPにない最後のコンポーネント データベースにスタックします。 MariaDB / MySQL は、動的Webサイトの展開に使用されるNginxWebサーバーと最も関連性の高いオープンソースRDBMSソフトウェアの1つです。

実際、 MariaDB / MySQL は、世界で最も使用されているリレーショナルデータベースの1つです。 FreeBSDポートを検索する 、 MariaDB / MySQLの複数のリリースを見つけることができます 。

このガイドでは、 MariaDBをインストールします MySQLのコミュニティフォークであるデータベース データベース。 MariaDBの利用可能なバージョンを検索するには 、ターミナルで次のコマンドを発行します。

# ls -al /usr/ports/databases/ | grep mariadb
# pkg search mariadb

17。 最新バージョンのMariaDBデータベースサーバーをインストールするには、次のコマンドを実行します。また、MySQLに接続するためにPHPスクリプトで使用されるPHPリレーショナルデータベースドライバーモジュールをインストールする必要があります。

# pkg install mariadb102-server php71-mysqli

18。 データベースがインストールされたら、MySQLデーモンを有効にし、次のコマンドを実行してデータベースサービスを開始します。

# sysrc mysql_enable="YES" 
# service mysql-server start

19。 また、必ず PHP-FPMを再起動してください MySQLドライバー拡張機能をロードするためのデーモン。

# service php-fpm restart
20. On the next step, secure MariaDB database by launching mysql_secure_installation script. Use the below sample of the installation script in order to answer the questions. Basically, say yes (y) for all asked questions to secure the database and type a strong password for MySQL root user.
# /usr/local/bin/mysql_secure_installation
MySQL Secureインストールスクリプトの出力
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

21。 コンソールからMariaDBデータベース接続をテストするには、以下のコマンドを実行します。

# mysql -u root -p -e "show status like ‘Connections’"

22。 デフォルトで0.0.0.0:3306/TCPで着信ネットワーク接続をリッスンするMariaDBをさらに保護するため ソケットの場合、以下のコマンドを発行して、サービスをループバックにバインドします。 インターフェイスと完全にリモートアクセスを禁止します。その後、MySQLサービスを再起動して、新しい構成を適用します。

# sysrc mysql_args="--bind-address=127.0.0.1"
# service mysql-server restart

localhostかどうかを確認します 以下の例に示すように、netstatコマンドを実行することでバインディングが正常に適用されました。

# netstat -an -p tcp

それで全部です!これで、FreeBSDにNginxウェブサーバー、MariaDBリレーショナルデータベース、PHPサーバー側プログラミング言語が正常にインストールされました。これで、動的Webページの作成を開始して、訪問者にWebコンテンツを提供できます。


FreeBSD
  1. CentOS 7 / RHEL 7にLinux、Nginx、MariaDB、PHP(LEMPスタック)をインストールする方法

  2. FreeBSDにApache、MariaDB、PHP(FAMP)スタックをインストールする方法

  3. FreeBSD 11 に Apache、MariaDB、および PHP (FAMP) スタックをインストールする方法

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

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

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

  1. PHPとMariaDB(LEMPスタック)を使用してNginxをFedora31にインストールする方法

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

  3. Debian 8にNginx、MariaDB、HHVMを使用してWordpressをインストールする方法