Webサーバー · 2 min read · Dec 23, 2025
Ubuntu 15.04におけるPHP(PHP-FPMモード)とMySQLまたはMariaDBを使用したLighttpdのインストール
Lighttpdは、安全で高速、標準準拠のウェブサーバーで、速度が重要な環境向けに設計されています。このチュートリアルでは、PHPサポート(PHP-FPMを通じて)とMySQLを使用して、Ubuntu 15.04サーバーにLighttpdをインストールする方法を示します。PHP-FPM(FastCGIプロセスマネージャー)は、特に忙しいサイトに便利な追加機能を持つ代替PHP FastCGI実装です。このチュートリアルでは、Lighttpdのspawn-fcgiの代わりにPHP-FPMを使用します。
1 前提条件
このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.1.100を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換えてください。
すべての手順をroot権限で実行していますので、rootとしてログインしていることを確認してください:
sudo su2 MySQL / MariaDBのインストール
Ubuntuは、オリジナルのMySQLデータベースサーバー(MySQL 5.6)とMySQLのフォークであるMariaDB(10)のパッケージを提供しています。今日ではほとんどのユーザーがMariaDBを使用しています。MariaDBはMySQLよりも少し速く、開発が進んでいるためです。ここで何をインストールするかの決定はあなたに任せます。2.1または2.2のいずれかの手順に従ってください。
2.1 MySQLのインストール
MySQLを次のようにインストールします:
apt-get -y install mysql-server-5.6 mysql-client-5.6MySQLの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] <-- y3 Lighttpdのインストール
LighttpdはUbuntuパッケージとして利用可能ですので、次のようにインストールできます:
apt-get -y install lighttpdブラウザをhttp://192.168.1.100/index.lighttpd.htmlに向けると、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のインストール
PHP5をLighttpdで動作させるために、次のようにPHP-FPMをインストールします:
apt-get -y install php5-fpm php5PHP-FPMは、/var/run/php5-fpm.sockソケット上でFastCGIサーバーを実行するデーモンプロセスです(initスクリプトは/etc/init.d/php5-fpmです)。
5 LighttpdとPHP 5の設定
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
[...]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-enabledroot@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Sep 29 18:28 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Sep 29 18:28 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf次にLighttpdを再読み込みします:
service lighttpd force-reload6 PHP5のテスト / PHP5インストールの詳細を取得
デフォルトのウェブサイトのドキュメントルートは/var/www/htmlです。今、そのディレクトリに小さなPHPファイル(info.php)を作成し、ブラウザで呼び出します。このファイルは、インストールされているPHPバージョンなど、PHPインストールに関する多くの有用な詳細を表示します。
nano /var/www/html/info.php今、そのファイルをブラウザで呼び出します(例:http://192.168.1.100/info.php):

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

8 phpMyAdmin
phpMyAdminは、MySQLデータベースを管理するためのウェブインターフェースです。インストールすることをお勧めします:
apt-get -y install phpmyadmin次の質問が表示されます:
自動的に再構成するウェブサーバー: <– lighttpd
phpmyadminのためにdbconfig-commonでデータベースを構成しますか? <– yes
データベースの管理ユーザーのパスワード: <-- MySQL/MariaDBのrootパスワードを入力
phpmyadminのMySQLアプリケーションパスワード: <-- ENTERを押す その後、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を再読み込みします:
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-reload10 リンク
- Lighttpd: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Ubuntu: http://www.ubuntu.com/
- phpMyAdmin: http://www.phpmyadmin.net/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。