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-clientMariaDB の root ユーザーのパスワードを提供するように求められます。このパスワードは、ユーザー root@localhost および [email protected] に対して有効であるため、後で手動で MariaDB の root パスワードを指定する必要はありません。
MariaDB "root" ユーザーの新しいパスワード: <-- yourrootsqlpassword
MariaDB "root" ユーザーのパスワードを再入力してください: <-- yourrootsqlpassword2.2 MySQL のインストール
MySQL 5 を次のようにインストールします。
apt-get install mysql-server mysql-clientMySQL の 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 php5PHP-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.servicePHP 用の 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-enabledroot@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.service6 PHP5 のテスト / PHP5 インストールの詳細を取得
デフォルトのウェブサイトのドキュメントルートは /var/www です。ここに小さな PHP ファイル (info.php) を作成し、ブラウザで呼び出します。このファイルは、インストールされている PHP バージョンなど、PHP インストールに関する多くの便利な詳細を表示します。
nano /var/www/html/info.phpブラウザでそのファイルを呼び出します (例: http://192.168.1.100/info.php):

ご覧の通り、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-xslXcache は、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 モジュールを含む多くの新しいモジュールが見つかるはずです。

8 phpMyAdmin
phpMyAdmin は、MySQL データベースを管理するためのウェブインターフェースです。インストールすることをお勧めします。
apt-get install 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.service10 リンク
- 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/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。