サーバー設定 · 2 min read · Sep 22, 2025
Ubuntu 22.04にMariaDBとPHP-FPMを使用してLighttpdをインストールする方法

LLMPスタック(Linux、Lighttpd、MariaDB、PHP-FPM)は、Webアプリケーションを提供するためのソフトウェアスタックです。LLMPスタックの各コンポーネントは無料でオープンソースであり、複数のオペレーティングシステムにインストールできます。LLMPスタックは、静的HTMLサイトやWordPress、Drupal、JoomlaなどのPHPアプリケーションを提供できます。
このチュートリアルでは、最新のUbuntu 22.04システムにLLMPスタック(Linux、Lighttpd、MariaDB、PHP-FPM)をインストールして構成する方法を示します。このチュートリアルには、Lighttpd Webサーバーでのバーチャルホストの設定方法とSSL/HTTPSの有効化に関する手順が含まれています。
前提条件
このチュートリアルでは、以下の前提条件が必要です:
- Ubuntu 22.04サーバー。
- root/管理者権限を持つ非rootユーザー
Lighttpd Webサーバーのインストール
LighttpdまたはLightyは、c10k問題「単一サーバーで10,000接続を並行して処理する方法」の概念実証として作成された高性能Webサーバーです。
Lighttpdは、速度、セキュリティ、軽量性、柔軟性を考慮して設計されています。最小限のCPUおよびメモリ使用量を持ち、FastCGI、CGI、認証、圧縮、URLリライトなどの高度な機能を提供します。
パッケージをインストールする前に、以下のaptコマンドを実行して、Ubuntuリポジトリのパッケージインデックスを更新およびリフレッシュします。
sudo apt update次に、以下のコマンドを使用してLighttpd Webサーバーをインストールします。
sudo apt install lighttpdインストールを確認するためにYを入力し、続行するにはENTERを押します。これでLighttpdのインストールが始まります。

Lighttpdのインストールが完了したら、以下のコマンドを実行してLighttpdサービスを開始および有効化します。
sudo systemctl start lighttpd
sudo systemctl enable lighttpd以下のコマンドを使用してLighttpdサービスを確認および検証します。Lighttpdサービスが実行中で有効になっていることが表示されるはずで、これはシステム起動時に自動的に実行されることを意味します。
sudo systemctl status lighttpd
UbuntuマシンでUFWファイアウォールが実行されている場合は、Lighttpd Webサーバーへの受信トラフィックのためにファイアウォールルールを追加する必要があります。
以下のufwコマンドを実行してUFWファイアウォールにLighttpdルールを追加し、次に以下のようにUFWルールのリストを確認および検証できます。
sudo ufw allow "Lighttpd Full"
sudo ufw statusUFWファイアウォールに「Lighttpd Full」というアプリケーションプロファイルが追加されているのが表示され、すべての受信HTTPおよびHTTPSポートが許可されていることを意味します。

次に、以下のコマンドを使用して「/var/www/html」ディレクトリを確認します。index.htmlファイルが表示されない場合は、以下のコマンドを使用して作成できます。
ls -lah /var/www/html
echo "Lighttpd Web Serverへようこそ
" > /var/www/html/index.html最後に、Webブラウザを開いてサーバーのIPアドレス(例:http://192.168.5.28/)にアクセスすると、index.htmlページが表示されるはずです。
MariaDBサーバーのインストール
Lighttpd Webサーバーのインストールが完了したら、UbuntuシステムにMariaDBサーバーをインストールする時間です。これには、MariaDBパッケージによって提供される「mysql_secure_installation」ツールを使用してMariaDBサーバーを安全にデプロイする方法も含まれます。
以下のaptコマンドを実行してMariaDBサーバーをインストールします。現在の状態では、デフォルトのUbuntuリポジトリはMariaDB v10.6を提供しています。
sudo apt install mariadb-server次に、インストールを確認するためにYを入力し、ENTERを押します。これでMariaDBのインストールが始まります。

MariaDBのインストールが完了したら、以下のsystemctlコマンドを実行してMariaDBサービスを開始および有効化します。
sudo systemctl start mariadb
sudo systemctl enable mariadb以下のコマンドを使用してMariaDBサービスを確認および検証します。MariaDBサービスが実行中であることが表示されるはずです。
sudo systemctl status mariadb次に、「mysql_secure_installation」ツールを使用してMariaDBのデプロイを設定します。このツールは、MariaDBサーバーのrootパスワードを設定し、リモートrootログインを無効にし、デフォルトデータベースと匿名ユーザーアクセスをクリーンアップするのに役立ちます。
以下のように“mysql_secure_installation”コマンドを実行します。
sudo mysql_secure_installationデフォルトのMariaDBインストールにはrootパスワードがありません。続行するにはENTERを押します。

次に、MariaDBのrootユーザーの認証方法をデフォルトのままにするために「n」を入力します。

MariaDBサーバーのrootパスワードを設定するためにYを入力します。デプロイのために強力なパスワードを使用することを忘れないでください。

MariaDBのrootユーザーのリモートログインを無効にするためにYを入力します。クラスタ環境にいない場合は、MariaDBのrootユーザーのリモートログインを無効にすることを常にお勧めします。
MariaDBインストールからデフォルトの匿名ユーザーを削除するために再度Yを入力します。

MariaDBの匿名ユーザーによってアクセス可能なデフォルトデータベーステストを削除するために再度Yを入力します。

最後に、MariaDBサーバーのすべてのテーブル権限を再読み込みし、新しい変更を適用するために再度Yを入力します。

PHP-FPM 8.1のインストール
Lighttpd WebサーバーとMariaDBデータベースサーバーをインストールしました。次に、UbuntuシステムにPHP-FPMをインストールします。現在の状態では、Ubuntuリポジトリは最新のPHP 8.1のバージョンを提供しています。
以下のaptコマンドを実行してUbuntuシステムにPHP-FPM 8.1をインストールします。
sudo apt install php-fpm php-common php-mysql php-cli php-curl php-xmlインストールを確認するためにYを入力し、ENTERを押します。これでインストールが始まります。

PHP-FPMパッケージのインストールが完了したら、以下のコマンドを実行してPHP-FPMサービスを開始および有効化します。
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm以下のコマンドを使用してPHP-FPMサービスを確認および検証します。PHP-FPMサービスが実行中であることが表示されるはずです。
sudo systemctl status php8.1-fpm
また、“ss”コマンドを使用してPHP-FPMサービスを確認することもできます。デフォルトのPHP-FPMプロセスはsockファイルの下で実行されており、以下のコマンドを使用してPHP-FPMプロセスを確認できます。
ss -pl | grep phpPHP-FPMサービスがsockファイル「/run/php/php8.1-fpm.sock」で実行されていることが表示されるはずです。
PHP-FPMをLighttpdと構成する
LLMPスタックパッケージのインストールが完了しましたが、Lighttpd WebサーバーをPHP-FPMサービスと連携させるために設定する必要があります。これは、Lighttpd WebサーバーのFastCGIモジュールを使用して行うことができます。
まず、nanoエディタを使用してPHP-FPM設定ファイル「/etc/php/8.1/fpm/php.ini」を編集します。
sudo nano /etc/php/8.1/fpm/php.iniファイルに以下の設定を追加します。
cgi.fix_pathinfo = 1完了したら、ファイルを保存して閉じます。
次に、以下のコマンドを使用してPHP-FPMサービスを再起動し、新しい変更を適用します。
sudo systemctl restart php8.1-fpm次に、以下のコマンドを実行してLighttpdの“fastcgi”および“fastcgi-php-fpm”モジュールを有効にします。
sudo lighty-enable-mod fastcgi fastcgi-php-fpmnanoエディタを使用して設定ファイル「/etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf」を編集します。このファイルは、PHP-FPM sockファイルと通信するために使用されるfastcgi-php-fpmモジュールの設定です。
sudo nano /etc/lighttpd/conf-available/15-fastcgi-php-fpm.confソケットオプションのパスを「/run/php/php8.1-fpm.sock」に変更します。
## PHP-FPMサービスをFastCGI経由で使用する
fastcgi.server += ( ".php" =>
((
"socket" => "/run/php/php8.1-fpm.sock",
"broken-scriptfilename" => "enable"
))
)完了したら、ファイルを保存して閉じます。
最後に、以下のコマンドを実行してLighttpdサービスを再起動し、新しい変更を適用します。これでLLMPスタックは静的HTMLと動的PHP Webアプリケーションの両方を提供する準備が整いました。
sudo systemctl restart lighttpd
Phpinfoのテスト
LLMPスタックのインストールを確認するために、LighttpdとPHP-FPMの設定の詳細を表示するPHPINFOスクリプトを作成できます。
以下のコマンドを実行して新しいPHPスクリプト「/var/www/html/info.php」を作成し、所有権を「www-data」ユーザーに変更します。
echo "" > /var/www/html/info.php
sudo chown -R www-data:www-data /var/www/htmlWebブラウザに戻り、UbuntuサーバーのIPアドレスの後にURLパス「/info.php」(http://192.168.5.28/info.php)を追加してアクセスします。詳細なphpinfoページが表示されるはずです。これにより、LighttpdとPHP-FPMの設定が完了し、成功したことが確認できます。

Lighttpdでのバーチャルホストの設定
この時点で、LLMPスタックのインストールと構成が完了しました。LLMPスタックは、PHP-FPMを介して動的PHP Webアプリケーションを提供する準備が整っています。次に、Lighttpd Webサーバーでバーチャルホストを設定する方法を学びます。バーチャルホストを使用すると、単一のサーバーまたはIPアドレスで複数のドメイン名を実行できます。
次に、以下のコマンドを実行して新しいディレクトリ「/etc/lighttpd/vhosts」を作成します。このディレクトリは、Lighttpd Webサーバーのすべてのバーチャルホスト設定を保存するために使用されます。
sudo mkdir -p /etc/lighttpd/vhosts/次に、nanoエディタを使用してLighttpd設定ファイル「/etc/lighttpd/lighttpd.conf」を編集します。
sudo nano /etc/lighttpd/lighttpd.confファイルに以下の設定を追加します。
include "/etc/lighttpd/vhosts/*.conf"完了したら、ファイルを保存して閉じます。これでLighttpdバーチャルホストの設定を行う準備が整いました。
まず、バーチャルホストのドキュメントルートディレクトリを作成します。この例では、ドキュメントルートディレクトリは「/var/www/hwdomain」になります。
mkdir -p /var/www/hwdomain/ドキュメントルートディレクトリ「/var/www/hwdomain」に新しい「index.html」ファイルを作成し、正しいユーザー「www-data」に所有権を変更します。
echo "howtoforge.localバーチャルホストへようこそ
" > /var/www/hwdomain/index.html
sudo chown -R www-data:www-data /var/www/hwdomain次に、nanoエディタを使用して新しいバーチャルホスト設定「/etc/lighttpd/vhosts/hwdomain.conf」を作成します。
sudo nano /etc/lighttpd/vhosts/hwdomain.confファイルに以下の設定を追加します。この例では、ドメイン「howtoforge.local」がバーチャルホストに使用されます。
$HTTP["host"] =~ "(^|.)howtoforge.local$" {
server.document-root = "/var/www/hwdomain"
server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"
accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"
}完了したら、ファイルを保存して閉じます。
その後、以下のコマンドを実行してLighttpd設定を確認および検証します。Lighttpd設定が正しい場合は、「Syntax OK」という出力メッセージが表示されます。
sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf次に、以下のコマンドを実行してLighttpdサービスを再起動し、新しいバーチャルホスト設定を適用します。
sudo systemctl restart lighttpd
Webブラウザに戻り、アドレスバーにドメイン名を入力します(例:http://howtoforge.local/)。そのバーチャルホストのデフォルトのindex.htmlページが表示されるはずです。
Lighttpd WebサーバーでのHTTPSの有効化
Lighttpdバーチャルホストの設定が完了したら、次にLighttpd WebサーバーでSSL/HTTPSを有効にする方法を学びます。
SSLの設定を開始する前に、以下のコマンドを実行してLighttpd Webサーバーの「ssl」モジュールを有効にします。これにより、基本的なSSL設定が含まれる「/etc/lighttpd/conf-enabled/10-ssl.conf」へのリンクファイルが作成されます。また、localhost用のSSL証明書を「server.pem」という名前で生成する必要があります。
sudo lighty-enable mod ssl次に、以下のコマンドを実行してlocalhost用のSSL証明書を「server.pem」という名前で作成および生成します。
openssl req -new -newkey rsa:2048 -nodes -keyout server.com.key -out server.com.csr
openssl x509 -req -days 365 -in server.com.csr -signkey server.com.key -out server.com.crtcat server.com.key server.com.crt > server.pemこれで、バーチャルホスト設定「hwdomain.conf」にSSL/HTTPSを実装する準備が整いました。
バーチャルホストのSSLを設定する前に、ドメイン名用のSSL証明書を生成していることを確認してください。この例では、ドメイン名は「howtoforge.local」で、SSL証明書は「/etc/letsencrypt/live/hwdomain.i o」ディレクトリにあります。
nanoエディタを使用してバーチャルホスト設定「/etc/lighttpd/vhosts/hwdomain.conf」を編集します。
sudo nano /etc/lighttpd/vhosts/hwdomain.conf作成した設定を以下の設定に置き換えます。
$HTTP["scheme"] == "http" {
$HTTP["host"] == "howtoforge.local" {
url.redirect = ("/.*" => "https://howtoforge.local$0")
}
}
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/letsencrypt/live/howtoforge.local/fullchain.pem"
ssl.privkey = "/etc/letsencrypt/live/howtoforge.local/privkey.pem"
server.name = "howtoforge.local"
server.document-root = "/var/www/hwdomain"
server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"
accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"
}完了したら、ファイルを保存して閉じます。
次に、以下のコマンドを実行してLighttpd Webサーバーの設定を確認および検証し、「Syntax OK」という出力メッセージが表示されることを確認します。その後、新しい変更を適用するためにLighttpdサービスを再起動できます。
sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf
sudo systemctl restart lighttpd最後に、Webブラウザに戻り、URLの前にhttpsを付けてバーチャルホストのドメイン名にアクセスします(例:https://howtoforge.local)。SSL設定が成功していれば、URLにローカルアイコンが表示されます。
結論
おめでとうございます!Ubuntu 22.04サーバーにLLMPスタック(Linux、Lighttpd、MariaDB、PHP-FPM)を正常にインストールしました。また、Lighttpd Webサーバーでバーチャルホストを設定し、ドメイン名のSSL/HTTPSを有効にする方法を学びました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。