GNU/Linux >> Linux の 問題 >  >> Debian

PHP5(PHP-FPM)とMySQLをDebian 8(Jessie)にインストールするLighttpd

Lighttpdは、速度が重要な環境向けに設計された、安全で高速な標準準拠のWebサーバーです。このチュートリアルでは、PHP5サポート(PHP-FPM経由)およびMySQLサポートを備えたDebian 8(Jessie)サーバーにLighttpdをインストールする方法を示します。 PHP-FPM(FastCGI Process Manager)は、あらゆるサイズのサイト、特に忙しいサイトに役立ついくつかの追加機能を備えた、代替のPHPFastCGI実装です。このチュートリアルでは、Lighttpdのspawn-fcgiの代わりにPHP-FPMを使用しています。

1予備メモ

このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.1.100を使用します。これらの設定は異なる場合があるため、必要に応じて置き換える必要があります。このインストールのベースとしてDebian最小サーバーを使用します。これは、データセンターの最小イメージにすることも、Debian最小サーバーチュートリアルを使用して最初からインストールすることもできます。

2 MySQL/MariaDBのインストール

Debian 8には、2つのMySQL互換データベース、従来のMySQLデータベースと、元のMySQLの発明者であるMontyWideniusによって保守されているMySQLフォークであるMariaDBが付属しています。現在、MariaDBはデータベースの速度と開発アクティビティでリードしているため、サーバーに選択します。

以下では、MariaDB(第2.1章)とMySQL(第2.2章)のインストールについて説明します。これにより、好みのデータベースを選択できます。 2.1章または2.2章のいずれかに従うようにしてください。両方ではないようにしてください。

2.1MariaDBのインストール

MariaDBをインストールするには、このコマンドを実行します。

apt-get install mariadb-server mariadb-client

MariaDBrootユーザーのパスワードを入力するように求められます。このパスワードは[emailprotected]と[emailprotected]rver1.example.comのユーザーに有効であるため、MariaDBrootパスワードを指定する必要はありません。後で手動で:

New password for the MariaDB "root" user: <-- yourrootsqlpassword
Repeat password for the MariaDB "root" user: <-- yourrootsqlpassword

2.2MySQLのインストール

MySQL5は次のようにインストールします:

apt-get install mysql-server mysql-client

MySQLルートユーザーのパスワードを入力するように求められます。このパスワードは[メール保護]ユーザーと[メール保護]ユーザーに有効であるため、後でMySQLルートパスワードを手動で指定する必要はありません。

MySQLの「root」ユーザーの新しいパスワード:<-yourrootsqlpassword
MySQLの「root」ユーザーのパスワードを繰り返します:<-yourrootsqlpassword

3Lighttpdのインストール

LighttpdはDebianパッケージとして入手できるため、次のようにインストールできます。

apt-get install lighttpd

次に、ブラウザをhttp://192.168.1.100/に移動すると、Lighttpdプレースホルダーページが表示されます。

LighttpdのデフォルトのドキュメントルートはDebianでは/var/ wwwで、設定ファイルは/etc/lighttpd/lighttpd.confです。

追加の設定は/etc/ lighttpd / conf-availableディレクトリのファイルに保存されます-これらの設定は、/ etc / lighttpd/conf-enabledディレクトリから適切な設定へのシンボリックリンクを作成するlighttpd-enable-modコマンドで有効にできます。 / etc / lighttpd/conf-available内のファイル。 lighttpd-disable-modコマンドを使用して設定を無効にできます。

4PHP5のインストール

次のようにインストールするPHP-FPMを使用して、LighttpdでPHP5を動作させることができます。

apt-get install php5-fpm php5

PHP-FPMは、ソケット/var/run/php5-fpm.sockでFastCGIサーバーを実行するデーモンプロセス(initスクリプト/etc/init.d/php5-fpmを使用)です。

5LighttpdとPHP5の設定

LighttpdでPHP5を有効にするには、/ etc / php5 / fpm / php.iniを変更し、cgi.fix_pathinfo=1の行のコメントを解除する必要があります。

nano /etc/php5/fpm/php.ini
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]

そして、php5-fpmサービスを再起動して、構成の変更を適用します。

systemctl restart php5-fpm.service

PHPのLighttpd設定ファイル/etc/lighttpd/conf-available/15-fastcgi-php.confはspawn-fcgiでの使用に適していますが、PHP-FPMを使用するため、ファイルのバックアップを作成します( 15-fastcgi-php-spawnfcgi.confという名前)、15-fastcgi-php.confを次のように変更します。

cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf
nano 15-fastcgi-php.conf
# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
        ((
                "socket" => "/var/run/php5-fpm.sock",
                "broken-scriptfilename" => "enable"
        ))
)

fastcgi構成を有効にするには、次のコマンドを実行します。

lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php

これにより、/ etc / lighttpd / conf-available/10-fastcgi.confおよび/etc/ lighttpd / conf-enabled/15-fastcgi-phpを指すシンボリックリンク/etc/lighttpd/conf-enabled/10-fastcgi.confが作成されます。 /etc/lighttpd/conf-available/15-fastcgi-php.confを指す.conf:

ls -l /etc/lighttpd/conf-enabled
[email protected]:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Aug 11 08:20 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Aug 11 08:20 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf

次に、Lighttpdをリロードします:

systemctl force-reload lighttpd.service

6PHP5のテスト/PHP5インストールの詳細の取得

デフォルトのWebサイトのドキュメントルートは/var/wwwです。次に、そのディレクトリに小さなPHPファイル(info.php)を作成し、ブラウザで呼び出します。このファイルには、インストールされているPHPのバージョンなど、PHPのインストールに関する多くの役立つ詳細が表示されます。

nano /var/www/html/info.php
<?php
phpinfo();
?>

次に、そのファイルをブラウザ(http://192.168.1.100/info.phpなど)で呼び出します。

ご覧のとおり、サーバーAPI行に示されているように、PHP5は機能しており、FPM/FastCGIを介して機能しています。さらに下にスクロールすると、PHP5ですでに有効になっているすべてのモジュールが表示されます。 MySQLはそこにリストされていません。つまり、PHP5ではMySQLがまだサポートされていません。

7PHP5でのMySQLサポートの取得

PHPでMySQLをサポートするには、php5-mysqlndパッケージをインストールします。これは、MySQLおよびMariaDBと互換性のある新しいデータベースドライバーです。他のPHP5モジュールをインストールすることをお勧めします。また、アプリケーションでそれらが必要になる場合もあります。次のような利用可能なPHP5モジュールを検索できます:

apt-cache search php5

必要なものを選び、次のようにインストールします:

apt-get install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Xcacheは、PHP中間コードをキャッシュおよび最適化するための無料のオープンPHPオペコードキャッシャーです。これは、eAcceleratorやAPCなどの他のPHPオペコードキャッシャーに似ています。 PHPページを高速化するために、これらのいずれかをインストールすることを強くお勧めします。

Xcacheは次のようにインストールできます:

apt-get install php5-xcache

PHP-FPMをリロードします:

systemctl restart php5-fpm.service

次に、ブラウザにhttp://192.168.1.100/info.phpをリロードし、モジュールセクションまでスクロールダウンします。これで、MySQLモジュールを含む多くの新しいモジュールが見つかるはずです:

8 phpMyAdmin

phpMyAdminは、MySQLデータベースを管理するためのWebインターフェイスです。インストールすることをお勧めします:

apt-get install phpmyadmin

次の質問が表示されます:

自動的に再構成するWebサーバー:<-lighttpd

Configure database for phpmyadmin with dbconfig-common? <-- Yes
Password of the database's administrative user: <-- yourrootsqlpassword
MySQL application password for phpmyadmin: <-- Press <enter>

その後、http://192.168.1.100/phpmyadmin/からphpMyAdminにアクセスできます:

9PHP-FPMでTCP接続を使用する

デフォルトでは、PHP-FPMはソケット/var/run/php5-fpm.sockをリッスンしています。 PHP-FPMにTCP接続を使用させることも可能です。これを行うには、/ etc / php5 / fpm / pool.d / www.conf ...

を開きます。
nano /etc/php5/fpm/pool.d/www.conf

...そしてリッスンラインを次のように見せます:

[...]
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
[...]

これにより、PHP-FPMはIP 127.0.0.1(localhost)のポート9000でリッスンします。システムで使用されていないポートを使用していることを確認してください。

次に、PHP-FPMをリロードします:

systemctl restart php5-fpm.service

次に、LighttpdのPHP構成ファイル/etc/lighttpd/conf-available/15-fastcgi-php.confを開き、ソケットラインをホストラインとポートラインに置き換えます。

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

最後にLighttpdをリロードします:

systemctl force-reload lighttpd.service

  • lighttpd:http://www.lighttpd.net/
  • PHP:http://www.php.net/
  • PHP-FPM:http://php-fpm.org/
  • MySQL:http://www.mysql.com/
  • Debian:http://www.debian.org/
  • phpMyAdmin:http://www.phpmyadmin.net/

Debian
  1. Ubuntu 14.04 LTSにPHP5(およびPHP-FPM)とMySQLサポート(LEMP)を使用してNginxをインストールする

  2. PHP5(PHP-FPM)とMySQLサポートを備えたLighttpdをUbuntu14.04LTSにインストールする

  3. Ubuntu10.04にPHP5とMySQLをサポートするLighttpdをインストールする

  1. PHP5(PHP-FPM)とMySQLサポートを備えたLighttpdをUbuntu12.04にインストールする

  2. Ubuntu 12.04 LTSにPHP5(およびPHP-FPM)とMySQLサポート(LEMP)を使用してNginxをインストールする

  3. Ubuntu 13.04にPHP5(およびPHP-FPM)とMySQLサポート(LEMP)を使用してNginxをインストールする

  1. Ubuntu8.10でのPHP5とMySQLサポートを使用したNginxのインストール

  2. PHP(PHP-FPMモード)とMySQLまたはMariaDBを使用したLighttpdのUbuntu15.04へのインストール

  3. PHP(PHP-FPMモード)とMySQLまたはMariaDBを使用したLighttpdのUbuntu15.10へのインストール