サーバー設定 · 2 min read · Oct 31, 2025
Ubuntu 16.04 LTSにPHP 7(PHP-FPM)とMySQL 5.7を使用してLighttpdをインストールする
Lighttpdは、安全で高速、標準に準拠したウェブサーバーで、スピードが重要な環境向けに設計されています。このチュートリアルでは、PHP 7サポート(PHP-FPMを通じて)とMySQL 5.7を使用して、Ubuntu 16.04サーバーにLighttpdをインストールする方法を示します。PHP-FPM(FastCGIプロセスマネージャー)は、特に忙しいサイトに便利な追加機能を持つ代替PHP FastCGI実装です。このチュートリアルでは、Lighttpdのspawn-fcgiの代わりにPHP-FPMを使用します。
1 前提条件
このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.1.100を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換えてください。
私はこのチュートリアルのすべての手順をroot権限で実行していますので、rootとしてログインしていることを確認してください:
sudo -s2 MySQL 5.7のインストール
まず、次のようにMySQLをインストールします:
apt-get -y install mysql-server mysql-clientMySQLのrootユーザーのパスワードを提供するように求められます。このパスワードは、ユーザーroot@localhostおよび[email protected]に対して有効であるため、後でMySQLのrootパスワードを手動で指定する必要はありません:
MySQLの”root”ユーザーの新しいパスワード: <– yourrootsqlpassword
MySQLの”root”ユーザーのパスワードを再入力してください: <– yourrootsqlpassword

インストーラーはMySQLのrootパスワードを設定しましたが、安全なMySQLインストールのために変更すべき設定がいくつかあります。これはmysql_secure_installationコマンドで行うことができます。
mysql_secure_installationコマンドは対話式です:
root@server1:~# mysql_secure_installationMySQLサーバーのデプロイメントを保護しています。ユーザーrootのパスワードを入力してください: <-- MySQLのrootパスワードを入力VALIDATE PASSWORD PLUGINを使用してパスワードをテストし、セキュリティを向上させることができます。パスワードの強度をチェックし、ユーザーが十分に安全なパスワードのみを設定できるようにします。VALIDATE PASSWORDプラグインを設定しますか?y|Yを押してはい、他のキーを押していいえ: <-- この機能を希望する場合はyを押すか、そうでない場合はEnterを押します。
既存のパスワードを使用しています。
rootのパスワードを変更しますか? ((y|Yを押してはい、他のキーを押していいえ): <-- Enterを押す... スキップ中。
デフォルトでは、MySQLインストールには匿名ユーザーが含まれており、誰でもユーザーアカウントを作成せずにMySQLにログインできます。これはテスト用にのみ意図されており、インストールを少しスムーズにするためのものです。
本番環境に移行する前に、これらを削除する必要があります。匿名ユーザーを削除しますか? (y|Yを押してはい、他のキーを押していいえ): <-- y
成功。
通常、rootは'localhost'からのみ接続を許可されるべきです。これにより、誰かがネットワークからrootパスワードを推測できないようになります。リモートでのrootログインを禁止しますか? (y|Yを押してはい、他のキーを押していいえ): <-- y
成功。デフォルトでは、MySQLには誰でもアクセスできる'test'という名前のデータベースが含まれています。これもテスト用にのみ意図されており、本番環境に移行する前に削除する必要があります。
テストデータベースとそのアクセスを削除しますか? (y|Yを押してはい、他のキーを押していいえ): <-- y
- テストデータベースを削除中...
成功。- テストデータベースの権限を削除中...
成功。権限テーブルを再読み込みすることで、これまでに行ったすべての変更が即座に有効になります。権限テーブルを今すぐ再読み込みしますか? (y|Yを押してはい、他のキーを押していいえ): <-- y
成功。すべて完了!3 Lighttpdのインストール
LighttpdはUbuntuパッケージとして利用可能です。したがって、Ubuntu Xenial Xerusパッケージリポジトリからaptを使用して直接インストールできます:
apt-get -y install lighttpd次に、ブラウザをhttp://192.168.1.100/に向けると、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 7.0のインストール
PHP-FPMを通じてLighttpdでPHPを動作させることができます。次のようにインストールします:
apt-get -y install php7.0-fpm php7.0PHP-FPMは、/var/run/php/php7.0-fpm.sockのソケットでFastCGIサーバーを実行するデーモンプロセス(initスクリプトphp5-fpm付き)です。
5 LighttpdとPHP 7.0の設定
LighttpdでPHPを有効にするには、/etc/php/7.0/fpm/php.iniを修正し、cgi.fix_pathinfo=1の行のコメントを外す必要があります:
nano /etc/php/7.0/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
[...]LighttpdのPHP用設定ファイル/etc/lighttpd/conf-available/15-fastcgi-php.confはspawn-fcgiで使用するのに適していますが、PHP-FPMを使用したいので、ファイルのバックアップ(15-fastcgi-php.conf.bakという名前)を作成し、15-fastcgi-php.confを次のように修正します:
cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php.conf.bak
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サーバーを開始します(php7.0-cgiパッケージが必要)
fastcgi.server += ( ".php" =>
((
"socket" => "/var/run/php/php7.0-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 Apr 27 11:26 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Apr 27 11:26 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf
lrwxrwxrwx 1 root root 42 Apr 21 11:10 90-javascript-alias.conf -> ../conf-available/90-javascript-alias.conf
root@server1:/etc/lighttpd/conf-available#次に、Lighttpdを再読み込みします:
service lighttpd force-reload注意: ロケールエラーが発生した場合は、次のコマンドを使用してエラーを削除できます。
apt-get -y install language-pack-en-base
dpkg-reconfigure locales6 PHP 7.0のテスト / PHPインストールの詳細を取得
デフォルトのウェブサイトのドキュメントルートは/var/www/htmlです。今、そのディレクトリに小さなPHPファイル(info.php)を作成し、ブラウザで呼び出します。このファイルは、インストールされているPHPバージョンなど、PHPインストールに関する多くの便利な詳細を表示します。
nano /var/www/html/info.php今、そのファイルをブラウザで呼び出します(例: http://192.168.1.100/info.php):

ご覧の通り、PHP 7.0は動作しており、Server API行に示されているようにFPM/FastCGIを通じて動作しています。さらに下にスクロールすると、すでにPHP5で有効になっているすべてのモジュールが表示されます。MySQLはそこにリストされていないため、まだPHPにMySQLサポートがありません。
7 PHPでMySQLサポートを取得
PHPでMySQLサポートを取得するには、php7.0-mysqlパッケージをインストールできます。アプリケーションに必要な他のPHPモジュールもインストールすることをお勧めします。利用可能なPHPモジュールを次のように検索できます:
apt-cache search php7.0必要なものを選択し、次のようにインストールします:
apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettextAPCuは、PHP 7に付属するPHP Opcacheモジュールの拡張機能で、APCキャッシュをサポートするソフトウェア(例: Wordpressキャッシュプラグイン)に対していくつかの互換性機能を追加します。
APCuは次のようにインストールできます:
apt-get -y install php-apcu次に、PHP-FPMを再読み込みします:
service php7.0-fpm reload
8 phpMyAdmin
phpMyAdminは、MySQLデータベースを管理するためのウェブインターフェースです。インストールすることをお勧めします:
apt-get -y install phpmyadmin次の質問が表示されます:
自動的に再構成するWebサーバー: <-- lighttpd
phpmyadminのためにdbconfig-commonでデータベースを構成しますか? <-- はい
phpmyadminのためのMySQLアプリケーションパスワード: <-- Enterを押す次のエラーが表示された場合:
変更を有効にするには/etc/init.d/lighttpd force-reloadを実行してください
dpkg: phpmyadminパッケージの処理中にエラーが発生しました (--configure):
インストールされたpost-installationスクリプトがエラー終了ステータス2を返しました
E: サブプロセス/usr/bin/dpkgがエラーコード(1)を返しました次のコマンドを実行してください:
/etc/init.d/lighttpd force-reload
apt-get -y install phpmyadminその後、http://192.168.1.100/phpmyadmin/でphpMyAdminにアクセスできます:

9 PHP-FPMをTCP接続で使用する(オプション)
デフォルトでは、PHP-FPMはソケット/var/run/php/php7.0-fpm.sockでリッスンしています。PHP-FPMをTCP接続で使用することも可能です。これを行うには、/etc/php/7.0/fpm/pool.d/www.confを開きます…
nano /etc/php/7.0/fpm/pool.d/www.conf…そして、listen行を次のように変更します:
[...]
;listen = /var/run/php/php7.0-fpm.sock
listen = 127.0.0.1:9000
[...]これにより、PHP-FPMはIP 127.0.0.1(localhost)のポート9000でリッスンします。システムで使用されていないポートを使用してください。
次に、PHP-FPMを再読み込みします:
service php7.0-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サーバーを開始します(php7.0-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/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。