Webサーバー · 3 min read · Dec 18, 2025

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

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

1 予備ノート

このチュートリアルでは、ホスト名 server1.example.com と IP アドレス 192.168.1.100 を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換えてください。このインストールの基盤として Debian の最小サーバーを使用します。これは、データセンターの最小イメージでも、私たちの Debian 最小サーバーチュートリアルを使用して一からインストールすることもできます。

2 MySQL / MariaDB のインストール

Debian 8 には、従来の MySQL データベースと、元の MySQL 開発者である Monty Widenius によって維持されている MySQL フォークの MariaDB の 2 つの MySQL 互換データベースが付属しています。現在、MariaDB はデータベースの速度と開発活動においてリードしていますので、私のサーバーにはそれを選択します。

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

2.1 MariaDB のインストール

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

apt-get install mariadb-server mariadb-client

MariaDB の root ユーザーのパスワードを提供するように求められます。このパスワードは、ユーザー root@localhost および [email protected] に対して有効であるため、後で手動で MariaDB の root パスワードを指定する必要はありません。

MariaDB "root" ユーザーの新しいパスワード: <-- yourrootsqlpassword  
MariaDB "root" ユーザーのパスワードを再入力してください: <-- yourrootsqlpassword

2.2 MySQL のインストール

MySQL 5 を次のようにインストールします。

apt-get install mysql-server mysql-client

MySQL の root ユーザーのパスワードを提供するように求められます。このパスワードは、ユーザー root@localhost および [email protected] に対して有効であるため、後で手動で MySQL の root パスワードを指定する必要はありません。

MySQL “root” ユーザーの新しいパスワード: <– yourrootsqlpassword
MySQL “root” ユーザーのパスワードを再入力してください: <– yourrootsqlpassword

3 Lighttpd のインストール

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

apt-get install lighttpd

ブラウザを http://192.168.1.100/ に向けると、Lighttpd のプレースホルダーページが表示されるはずです。

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

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

4 PHP5 のインストール

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

apt-get install php5-fpm php5

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

5 Lighttpd と PHP5 の設定

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

nano /etc/php5/fpm/php.ini
[...]
; cgi.fix_pathinfo は CGI に対して *実際の* PATH_INFO/PATH_TRANSLATED サポートを提供します。PHP の以前の動作は、PATH_TRANSLATED を SCRIPT_FILENAME に設定し、PATH_INFO が何であるかを理解しないことでした。PATH_INFO に関する詳細は CGI の仕様を参照してください。これを 1 に設定すると、PHP CGI は仕様に従ってパスを修正します。ゼロに設定すると、PHP は以前のように動作します。デフォルトは 1 です。スクリプトを SCRIPT_FILENAME を使用するように修正する必要があります。
; 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

## PHP 用の FastCGI サーバーを開始します (php5-cgi パッケージが必要です)
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-enabled/10-fastcgi.conf が /etc/lighttpd/conf-available/10-fastcgi.conf を指し、/etc/lighttpd/conf-enabled/15-fastcgi-php.conf が /etc/lighttpd/conf-available/15-fastcgi-php.conf を指すシンボリックリンクが作成されます。

ls -l /etc/lighttpd/conf-enabled
root@server1:/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

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

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

nano /var/www/html/info.php

ブラウザでそのファイルを呼び出します (例: http://192.168.1.100/info.php):

Lighttpd 上の php-fpm 用の PHPInfo.

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

7 PHP5 で 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 opcode キャッシャーです。eAccelerator や APC などの他の PHP opcode キャッシャーと似ています。PHP ページの速度を上げるために、これらのいずれかをインストールすることを強くお勧めします。

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

apt-get install php5-xcache

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

systemctl restart php5-fpm.service

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

phpinfo() 出力に表示された MySQL ドライバー.

8 phpMyAdmin

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

apt-get install phpmyadmin

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

自動的に再構成するウェブサーバー: <– lighttpd

apt phpmyadmin lighttpd セレクタ.

dbconfig-common で phpmyadmin のデータベースを構成しますか? <-- はい  
データベースの管理ユーザーのパスワード: <-- yourrootsqlpassword  
phpmyadmin の MySQL アプリケーションパスワード: <--  を押す

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

9 PHP-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 行を次のようにします。

[...]
;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

## PHP 用の FastCGI サーバーを開始します (php5-cgi パッケージが必要です)
fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

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

systemctl force-reload lighttpd.service

10 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。