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

Ubuntu 15.10 における PHP (PHP-FPM モード) と MySQL または MariaDB を使用した Lighttpd のインストール

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

1 予備ノート

このチュートリアルでは、ホスト名 server1.example.com と IP アドレス 192.168.1.100 を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換えてください。

すべての手順を root 権限で実行していますので、進む前に root としてログインしていることを確認してください:

sudo su

2 MySQL / MariaDB のインストール

Ubuntu は、オリジナルの MySQL データベースサーバー (MySQL 5.6) と MySQL フォークの MariaDB (10) のパッケージを提供しています。ほとんどのユーザーは、MariaDB の方が MySQL よりも少し速く、開発が早く進むため、今日では MariaDB を使用することを好みます。ここでは、どちらをインストールするかの決定をあなたに任せ、両方のオプションを説明します。章 2.1 または 2.2 のいずれかの指示に従ってください。

2.1 MySQL のインストール

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

apt-get -y install mysql-server-5.6 mysql-client-5.6

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

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

2.2 MariaDB のインストール

MariaDB を次のようにインストールします:

apt-get -y install mariadb-server mariadb-client

次に、MariaDB の root パスワードを設定します。

mysql_secure_installation

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

Enter current password for root (enter for none): <-- press enter  
Set root password? [Y/n] <-- y  
New password: <-- Enter the new MariaDB root password here  
Re-enter new password: <-- Repeat the password  
Remove anonymous users? [Y/n] <-- y  
Disallow root login remotely? [Y/n] <-- y  
Reload privilege tables now? [Y/n] <-- y

3 Lighttpd のインストール

Lighttpd は Ubuntu パッケージとして利用可能ですので、次のようにインストールできます:

apt-get -y install lighttpd

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

Ubuntu 15.10 の Lighttpd ウェルカムページ

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

4 PHP 5.6 のインストール

PHP5 を Lighttpd で動作させるために、次のように PHP-FPM をインストールします:

apt-get -y install php5-fpm php5

PHP-FPM は、/var/run/php5-fpm.sock ソケット上で FastCGI サーバーを実行するデーモンプログラムです (systemd サービスユニット php5-fpm.service)。

5 Lighttpd と PHP の設定

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 がそのパスを仕様に合わせて修正します。0 に設定すると、PHP は以前のように動作します。デフォルトは 1 です。スクリプトを修正して、PATH_TRANSLATED ではなく SCRIPT_FILENAME を使用する必要があります。
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]

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
# /usr/share/doc/lighttpd-doc/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 Nov 11 13:59 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf  
lrwxrwxrwx 1 root root 37 Nov 11 13:59 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf

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

service lighttpd force-reload

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

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

nano /var/www/html/info.php

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

Ubuntu 15.10 での PHP Info() 出力

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

7 PHP5 に MySQL サポートを追加

PHP に MySQL サポートを追加するには、php5-mysqlnd パッケージをインストールします。これは、MySQL と MariaDB の両方をサポートする新しい MySQL ドライバを含んでいるため、php5-mysql パッケージよりも推奨されます。また、アプリケーションに必要な他の PHP5 モジュールもいくつかインストールすることをお勧めします。利用可能な PHP5 モジュールを次のように検索できます:

apt-cache search php5

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

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

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

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

apt-get -y install php5-xcache

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

service php5-fpm reload

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

mysqlnd ドライバが有効になった phpinfo 出力

8 phpMyAdmin

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

apt-get -y install phpmyadmin

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

自動的に再構成するウェブサーバー: <– lighttpd
dbconfig-common で phpmyadmin 用のデータベースを構成しますか? <– yes

データベースの管理ユーザーのパスワード: <-- MySQL/MariaDB の root パスワードを入力  
phpmyadmin 用の MySQL アプリケーションパスワード: <-- ENTER を押す  

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

Ubuntu 15.10 で Lighttpd に正常にインストールされた 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 をリロードします:

service php5-fpm reload

次に、Lighttpd の PHP 設定ファイル /etc/lighttpd/conf-available/15-fastcgi-php.conf を開き、ソケット行をホストおよびポート行に置き換えます:

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
# /usr/share/doc/lighttpd-doc/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 をリロードします:

service lighttpd force-reload

10 このチュートリアルの仮想マシンイメージのダウンロード

このチュートリアルは、Howtoforge のサブスクライバー向けに、ovf/ova 形式の使用可能な仮想マシンイメージとして提供されています。この VM 形式は VMWare および Virtualbox と互換性があります。仮想マシンイメージは、次のログイン詳細を使用します:

SSH / シェルログイン

ユーザー名: administrator
パスワード: howtoforge

このユーザーには sudo 権限があります。

MySQL / MariaDB ログイン

ユーザー名: root
パスワード: howtoforge

VM の IP は 192.168.1.100 で、/etc/network/interfaces ファイルで変更できます。仮想マシンのセキュリティを確保するために、上記のすべてのパスワードを変更してください。

11 リンク

Share: X/Twitter LinkedIn

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

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