Webサーバー · 3 min read · Jan 27, 2026
Fedora 19 における PHP5 (PHP-FPM) と MySQL サポートを持つ Lighttpd のインストール
Fedora 19 における PHP5 (PHP-FPM) と MySQL サポートを持つ Lighttpd のインストール
Version 1.0
Author: Falko Timme
Follow me on Twitter
Lighttpd は、安全で、高速、標準準拠のウェブサーバーで、速度が重要な環境向けに設計されています。このチュートリアルでは、PHP5 サポート (PHP-FPM 経由) と MySQL サポートを持つ Fedora 19 サーバーに Lighttpd をインストールする方法を示します。PHP-FPM (FastCGI プロセスマネージャー) は、サイトの規模に関係なく便利な追加機能を持つ代替の PHP FastCGI 実装です。特に、より忙しいサイトに適しています。このチュートリアルでは、Lighttpd の spawn-fcgi の代わりに PHP-FPM を使用します。
私はこれがあなたにとって機能するという保証を出しません!
1 予備ノート
このチュートリアルでは、ホスト名 server1.example.com と IP アドレス 192.168.0.100 を使用します。これらの設定はあなたの環境では異なる場合があるため、適宜置き換えてください。
2 MySQL/MariaDB 5 のインストール
まず、次のように MySQL 5 をインストールします:
yum install mysql mysql-server次に、MySQL のシステム起動リンクを作成し (システム起動時に MySQL が自動的に起動するように)、MySQL サーバーを起動します:
systemctl enable mysqld.service
systemctl start mysqld.serviceMySQL ユーザー root のパスワードを作成します (yourrootsqlpassword を使用したいパスワードに置き換えてください):
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
MariaDB にログインしてセキュリティを確保するためには、root ユーザーの現在のパスワードが必要です。MariaDB をインストールしたばかりで、まだ root パスワードを設定していない場合、パスワードは空白になりますので、ここでは単に Enter を押してください。
Enter current password for root (enter for none): <– ENTER
OK, successfully used password, moving on…
root パスワードを設定することで、適切な認証なしに誰も MariaDB root ユーザーにログインできないようにします。
Set root password? [Y/n] <– ENTER
New password: <– yourrootsqlpassword
Re-enter new password: <– yourrootsqlpassword
Password updated successfully!
Reloading privilege tables..
… Success!
デフォルトでは、MariaDB のインストールには匿名ユーザーがあり、誰でもユーザーアカウントを作成せずに MariaDB にログインできます。これはテスト用にのみ意図されており、インストールを少しスムーズにするためのものです。生産環境に移行する前に、これらを削除する必要があります。
Remove anonymous users? [Y/n] <– ENTER
… Success!
通常、root は ‘localhost’ からのみ接続を許可されるべきです。これにより、誰かがネットワークから root パスワードを推測できないようにします。
Disallow root login remotely? [Y/n] <– ENTER
… Success!
デフォルトでは、MariaDB には ‘test’ という名前のデータベースがあり、誰でもアクセスできます。これもテスト用にのみ意図されており、生産環境に移行する前に削除する必要があります。
Remove test database and access to it? [Y/n] <– ENTER
- Dropping test database…
… Success! - Removing privileges on test database…
… Success!
特権テーブルを再読み込みすることで、これまでに行ったすべての変更が即座に適用されることを保証します。
Reload privilege tables now? [Y/n] <– ENTER
… Success!
クリーンアップ中…
すべて完了しました!上記のすべての手順を完了した場合、あなたの MariaDB インストールは現在安全であるはずです。
MariaDB を使用していただきありがとうございます!
[root@server1 ~]#
3 Lighttpd のインストール
Lighttpd は Fedora パッケージとして利用可能であるため、次のようにインストールできます:
yum install lighttpd次に、Lighttpd のシステム起動リンクを作成し (システム起動時に Lighttpd が自動的に起動するように)、それを起動します:
systemctl enable lighttpd.service
systemctl restart lighttpd.service今、ブラウザを http://192.168.0.100 に向けると、Lighttpd のプレースホルダーページが表示されるはずです:

Lighttpd のデフォルトのドキュメントルートは Fedora では /var/www/lighttpd で、設定ファイルは /etc/lighttpd/lighttpd.conf です。
4 PHP5 のインストール
次のように PHP-FPM をインストールすることで、Lighttpd で PHP5 を動作させることができます:
yum install php-fpm lighttpd-fastcgiPHP-FPM はポート 9000 で FastCGI サーバーを実行するデーモンプロセスです。
PHP-FPM のシステム起動リンクを作成し、それを起動します:
systemctl enable php-fpm.service
systemctl start php-fpm.service5 Lighttpd と PHP5 の設定
Lighttpd で PHP5 を有効にするには、/etc/php.ini と /etc/lighttpd/lighttpd.conf の 2 つのファイルを修正する必要があります。まず、/etc/php.ini を開き、行 cgi.fix_pathinfo=1 のコメントを外します:
vi /etc/php.ini| [...] ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
次に、/etc/lighttpd/conf.d/fastcgi.conf を開き、”mod_fastcgi” が有効になっていることを確認します:
vi /etc/lighttpd/conf.d/fastcgi.conf| [...] server.modules += ( "mod_fastcgi" ) [...] |
その後、ファイルの下部に fastcgi.server スタンザがあるので、それをコメントアウトしたままにし、自分の fastcgi.server スタンザを次のように追加します:
| [...] ## ## PHP Example ## For PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini. ## ## The number of php processes you will get can be easily calculated: ## ## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ) ## ## for the php-num-procs example it means you will get 17*5 = 85 php ## processes. you always should need this high number for your very ## busy sites. And if you have a lot of RAM. :) ## fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) ) #fastcgi.server = ( ".php" => # ( "php-local" => # ( # "socket" => socket_dir + "/php-fastcgi-1.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "max-procs" => 1, # "broken-scriptfilename" => "enable", # ) # ), # ( "php-tcp" => # ( # "host" => "127.0.0.1", # "port" => 9999, # "check-local" => "disable", # "broken-scriptfilename" => "enable", # ) # ), # # ( "php-num-procs" => # ( # "socket" => socket_dir + "/php-fastcgi-2.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "bin-environment" => ( # "PHP_FCGI_CHILDREN" => "16", # "PHP_FCGI_MAX_REQUESTS" => "10000", # ), # "max-procs" => 5, # "broken-scriptfilename" => "enable", # ) # ), # ) ), [...] |
/etc/lighttpd/modules.conf を開き…
vi /etc/lighttpd/modules.conf… /etc/lighttpd/conf.d/fastcgi.conf ファイルを有効にします:
| [...] ## ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf" [...] |
その後、Lighttpd を再起動します:
systemctl restart lighttpd.service新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。