Debian 8にApacheとPHP-FPMをインストールする方法

PHP-FPMは、人気のあるPHPのFastCGIメカニズムを改良したものです。一般的に、トラフィックの多いホストされているサイトのパフォーマンスを向上させるために使用されます。このガイドでは、Debian 8でApacheとPHP-FPMをセットアップする方法を示します.


考慮すべき重要な要素

しかし、始める前に、あなたがする必要がある基本的なことを見てみましょう.

  • Debianバージョン8の「contrib」リポジトリ
  • Apache 2 HTTPサーバー

次に、次のコマンドを実行して、システムが更新されていることを確認します。

$ sudo apt-get update && sudo apt-get upgrade

注意:

  • このプロセスは、mod_phpよりも多くの利点を提供することが証明されています。 mod_phpモジュールを使用すると、Apacheでphpスクリプトを直接実行できますが、各Apacheプロセスによって過負荷になるリスクがあります。.

  • PHP-FPMを使用すると、phpスクリプトをApacheユーザーとして実行できないため、より安全なプロセスが可能になります。複数のサイトを実行する場合は、サイトごとにユーザーがphpスクリプトを実行するように設定する方が簡単です。これにより、サイトを安全に保つことができます。.

  • このチュートリアルは、非rootユーザー向けにまとめられています。大きな懸念を必要とするすべてのコマンドには接頭辞が含まれています sudo.

始めましょう!

ステップ1:ApacheとPHP-FPMのインストール

  1. PHP-FPMのライセンスにより、PHP-FPMはDebianのリポジトリで見つかりません。したがって、インストールプロセスが成功することを確認するには、ファイルに移動します –sources.list これらの各ソース行に次のファイルを追加します。 貢献する そして 非フリー /etc/apt/sources.list
    deb http://mirrors.linode.com/debian/ hostingadvice main contrib non-free
    deb-src http://mirrors.linode.com/debian/ hostingadvice main contrib non-free

    deb http://security.debian.org/ hostingadvice / updates main contrib non-free
    deb-src http://security.debian.org/hostingadvice/updates main non-free

    #hostingadvice-updates、以前は「揮発性」として知られていました
    deb http://mirrors.linode.com/debian/ hostingadvice-updates main contrib non-free
    deb-src http://mirrors.linode.com/debian/ hostingadvice-updates main contrib non-free

  2. 次に、確認してください apt-get 最新であり、Apache、PHP-FPM、およびmod-fastcgiモジュールをインストールします.
    $ sudo apt-get update
    $ sudo apt-get install apache2 libapache2-mod-fastcgi php5-fpm
  3. 次のステップはオプションです。 PHPでMySQLが必要な場合は、以下のコマンドを使用してphp5-mysqlをインストールできます。
    $ sudo apt-get install php5-mysql
  4. インストールプロセスが完了したら、ルートサーバーの要件に基づいて仮想ホスティングを構成できます。この場合、PHPスクリプトでApacheを設定する必要があります.

ステップ2:PHP-FPMの構成

  1. PHP-FPMの設定は、以下のコマンドでmod_actionsモジュールを有効にすることから始まります。
    $ sudo a2enmodアクション
  2. のバックアップファイルがあることを確認してください fastgi.conf 以下のコマンドでファイル:
    $ sudo cp / etc / apache2 / mods-enabled / fastcgi.conf /etc/apache2/mods-enabled/fastcgi.conf.backup
  3. 次に、上の情報を置き換えます fast.conf 以下のファイルを含むファイル:
    /etc/apache2/mods-enabled/fastcgi.conf

    AddType application / x-httpd-fastphp5 .php
    アクションアプリケーション/ x-httpd-fastphp5 / php5-fcgi
    エイリアス/ php5-fcgi / usr / lib / cgi-bin / php5-fcgi
    FastCgiExternalServer / usr / lib / cgi-bin / php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization

    すべての許可が必要

  4. 次のコマンドを使用して、情報が正しくコピーされたことを確認します。
    $ sudo apache2ctl configtest

    他の出力を無視し、説明が表示されたら 構文OK, 次のステップに進むことができます.

  5. 次に、Apacheを再起動して新しい構成を有効にします。
    $ sudo systemctl restart apache2
  6. PHPがアクティブであることを確認するには、システムディレクトリに移動し、 info.pho ファイル。出力は次のようになります。
    /var/www/example.com/public_html/info.php
    <?php phpinfo(); ?>

に行く http://example.com/info.php サーバーで次のAPI行を検索します。

このプロセスが完了すると、オプションですが、PHPプールを構成できます。.

ステップ3:PHPプールの構成

上記の構成とは異なり、この手順は異なり、オプションです。このステップは、特定のPHPコードを実行し、すべてのサイトのリソースを制御するためにユーザーが作成する場合に適しています。を使用するのではなく、 www-data すべてのApacheプロセスとWebサイトを所有するユーザー。この構成では、すべてのサイトが独自のシステムユーザーでApacheを実行できます。つまり、site1はuser1で実行され、site2はuser2で実行されます。.

複数のWebサイトを実行する場合、Webサーバー全体のセキュリティを損なうことなく、すべてのユーザーに特定のWebディレクトリへの書き込み権限を与えることができるため、このプロセスは重要です。.

以下の例では、2つのサイトのそれぞれに独自の仮想ホストがあると想定しています。同様に、各Webサイトには、PHPプールが割り当てられている1人のユーザーが必要です。.

  1. 各プールについて、コピーを作成します www.conf:各サイト:

    $ cd /etc/php5/fpm/pool.d/
    $ sudo cp www.conf {site1.conf、site2.conf}

  2. 次のステップは、プールごとに、名前、ユーザー、およびソケット名が編集されるようにすることです.
    /etc/php5/fpm/pool.d/site1.conf

    ; 「www」という名前の新しいプールを開始します.
    ;変数$ poolを任意のディレクティブで使用できます。
    ;プール名(ここでは「www」)
    [site1.com]

    ; Unixユーザー/プロセスのグループ
    ;注:ユーザーは必須です。グループが設定されていない場合、デフォルトのユーザーのグループ
    ;使用されます.
    ユーザー= site1
    グループ= site1

    ; FastCGI要求を受け入れるアドレス.
    ;有効な構文は次のとおりです。
    ; ‘ip.add.re.ss:port’-TCPソケットで特定のIPv4アドレスをリッスンします
    ;特定のポート。
    ; ‘[ip:6:addr:ess]:port’-TCPソケットで特定のIPv6アドレスをリッスンします
    ;特定のポート。
    ; ‘ポート’-TCPソケットですべてのIPv4アドレスをリッスンします
    ;特定のポート。
    ; ‘[::]:port’-TCPソケットですべてのアドレスをリッスンします
    ; (IPv6およびIPv4マッピング)特定のポート。
    ; ‘/ path / to / unix / socket’-UNIXソケットをリッスンする.
    ;注:この値は必須です.
    listen = /var/run/php5-fpm-site1.com.sock

    上記の出力では、3つの連続したドット-…-が表示されているよりも多くのファイルがそのファイルにあることを示していることに注意することが重要です。ドットは文字どおりにコピーされるべきではありません.

  3. 次に、PHP-FPMサービスを再起動します。
    $ systemctl restart php5-fpm.service

    プロセスが失敗した場合は、Linuxシステムで各プールの新しいユーザーを作成したことを確認してください。一方、プロセスが完了すると、次の情報が表示されます。 sudo systemctl status php5-fpm.service:<

    ●php5-fpm.service-PHP FastCGIプロセスマネージャー
    ロード済み:ロード済み(/lib/systemd/system/php5-fpm.service; enabled)
    アクティブ:水(2016-01-27 20:24:51 UTC以降)でアクティブ(実行中)。 2秒前
    プロセス:28423 ExecStartPre = / usr / lib / php5 / php5-fpm-checkconf(code = exited、status = 0 / SUCCESS)
    メインPID:28428(php5-fpm)
    状態: "接続を処理する準備ができました"
    CGroup:/system.slice/php5-fpm.service
    ├─28428php-fpm:マスタープロセス(/etc/php5/fpm/php-fpm.conf)
    ├─28432php-fpm:プールsite2.com
    ├─28433php-fpm:プールsite2.com
    ├─28434php-fpm:プールsite1.com
    ├─28435php-fpm:プールsite1.com
    ├─28436php-fpm:プールwww
    └─28437php-fpm:プールwww

  4. 次に追加することです すべての仮想ホストへのブロック.
    ホスト:/etc/apache2/sites-available/site1.com.conf

    AddType application / x-httpd-fastphp5 .php
    アクションアプリケーション/ x-httpd-fastphp5 / php5-fcgi
    エイリアス/ php5-fcgi /usr/lib/cgi-bin/php5-fcgi-site1.com
    FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi-site1.com -socket /var/run/php5-fpm-site1.com.sock -pass-header Authorization

  5. 次のコマンドを使用して、新しい構成をテストします。
    $ sudo apache2ctl configtest

    すべてが正常に機能している場合は、Apacheサービスをリロードします。

    $ sudo systemctl reload apache2

  6. もう1つ、ユーザーを確認する必要があります info.php 上記のファイル、 環境 セクション:

結論

そこにあります。 Debian 8でApacheとPHP-FPMをセットアップするときに考慮すべき重要事項を示す詳細なガイド。これらの手順を試して、これらのサービスをサイトで機能させる.

以下の上位3つの最高のWebホスティングサービスを確認してください。

FastComet

開始価格:
$ 2.95


信頼性
9.7


価格
9.5


使いやすい
9.7


サポート
9.7


特徴
9.6

レビューを読む

FastCometにアクセス

A2ホスティング

開始価格:
$ 3.92


信頼性
9.3


価格
9.0


使いやすい
9.3


サポート
9.3


特徴
9.3

レビューを読む

A2 Hostingにアクセス

ChemiCloud

開始価格:
$ 2.76


信頼性
10


価格
9.9


使いやすい
9.9


サポート
10


特徴
9.9

レビューを読む

ChemiCloudにアクセス

関連するハウツー記事

  • Ubuntu 18.04 VPSまたは専用サーバー上のApacheでPHP設定を編集する方法
    中間
  • Ubuntu 18.04 VPSまたは専用サーバーで複数のWebサイトをホストする方法
    中間
  • Ubuntu 18.04 VPSでModEvasiveを使用してApache Webサーバーを保護する方法
    中間
  • Ubuntu 18.04 VPSまたは専用サーバーにApache Cassandraをインストールする方法
    中間
  • 同じUbuntu VPSまたは専用サーバーでNginxとApacheを一緒に構成する方法
    中間
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me