もっと詳しく

Lighttpdは、シンプル、高速、安全なWebサーバーです。 サイズが非常に小さく、多くのメモリとCPUの使用を必要としないため、アプリケーションをホストするのに最適なサーバーの1つです。 ミッションクリティカルな環境向けに設計されています。 1台のサーバーで最大10,000の接続を並行して処理できます。 URL書き換え、出力圧縮、イベントメカニズム、FastCGI、SCGI、Authなどの多くの機能を提供します。

このチュートリアルでは、PHPを使用してLighttpdをインストールする方法とDebian11にSSLを暗号化する方法を示します。

前提条件

  • Debian11を実行しているサーバー。
  • サーバーIPを指す有効なドメイン名。
  • ルートパスワードはサーバーで構成されます。

Lighttpdをインストールします

デフォルトでは、LighttpdパッケージはDebian11公式リポジトリに含まれています。 次のコマンドを実行してインストールできます。

apt-get install lighttpd -y

Lighttpdをインストールしたら、Lighttpdサービスを開始し、システムの再起動時に開始できるようにします。

systemctl start lighttpd
systemctl enable lighttpd

次のコマンドを使用して、Lighttpdのステータスを確認することもできます。

systemctl status lighttpd

次の出力が得られます。

? lighttpd.service - Lighttpd Daemon
     Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-02-12 07:01:06 UTC; 12s ago
    Process: 4663 ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf (code=exited, status=0/SUCCESS)
   Main PID: 4668 (lighttpd)
      Tasks: 1 (limit: 2341)
     Memory: 932.0K
        CPU: 226ms
     CGroup: /system.slice/lighttpd.service
             ??4668 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

Feb 12 07:01:06 debian11 systemd[1]: Starting Lighttpd Daemon...
Feb 12 07:01:06 debian11 systemd[1]: Started Lighttpd Daemon.

次に、Webブラウザーを開き、URLを使用してLighttpdWebページにアクセスします。 http:// your-server-ip。 次の画面にLighttpdテストページが表示されます。

終了したら、次のステップに進むことができます。

PHPとPHP-FPMをインストールします

次に、次のコマンドを実行して、PHPおよびPHP-FPMパッケージをシステムにインストールします。

apt-get install php php-cgi php-fpm php-mysql -y

インストール後、編集します php.ini ファイルとセット cgi.fix_pathinfo1

nano /etc/php/7.4/fpm/php.ini

次の行を変更します。

cgi.fix_pathinfo=1

終了したら、ファイルを保存して閉じます。

LighttpdをPHP-FPMで動作させるには、デフォルトのPHP-CGI構成とPHP-FPMソケットを置き換える必要があります。

まず、PHP-FPM構成ファイルを編集します。

nano /etc/php/7.4/fpm/pool.d/www.conf

次の行を見つけます。

listen = /run/php/php7.4-fpm.sock

そして、それを次の行に置き換えます。

listen = 127.0.0.1:9000

ファイルを保存して閉じてから、PHP-FPMを再起動して変更を適用します。

systemctl restart php7.4-fpm

次のコマンドを使用して、PHP-FPMのステータスを確認することもできます。

systemctl status php7.4-fpm

次の出力が得られます。

? php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-02-12 07:04:35 UTC; 1min 7s ago
       Docs: man:php-fpm7.4(8)
    Process: 15141 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=e>
   Main PID: 15138 (php-fpm7.4)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 2341)
     Memory: 8.8M
        CPU: 54ms
     CGroup: /system.slice/php7.4-fpm.service
             ??15138 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
             ??15139 php-fpm: pool www
             ??15140 php-fpm: pool www

Feb 12 07:04:35 debian11 systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
Feb 12 07:04:35 debian11 systemd[1]: Started The PHP 7.4 FastCGI Process Manager.

終了したら、次のステップに進むことができます。

PHP-FPM用にLighttpdを設定する

次に、Lighttpd設定ファイルを編集し、FastCGIを使用して変更する必要があります。

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf

次の行を見つけます。

"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",

そして、それらを次の行に置き換えました。

"host" => "127.0.0.1",
"port" => "9000",

ファイルを保存して閉じ、次のコマンドを使用してFastCGIモジュールを有効にします。

lighty-enable-mod fastcgi
lighty-enable-mod fastcgi-php

最後に、Lighttpdサービスを再起動して、変更を適用します。

systemctl restart lighttpd

Lighttpd仮想ホストを作成する

Lighttpdでは、仮想ホスティングを使用して複数のWebサイトをホストすることもできます。 test.example.comという名前のWebサイトをホストするための新しい仮想ホスト構成ファイルを作成しましょう。

nano /etc/lighttpd/conf-available/test.conf

次の行を追加します。

$HTTP["host"] == "test.example.com" {
    server.document-root = "/var/www/html/"
    server.errorlog      = "/var/log/lighttpd/example.com-error.log"
}

ファイルを保存して閉じてから、次のコマンドで仮想ホストをアクティブ化します。

ln -s /etc/lighttpd/conf-available/test.conf /etc/lighttpd/conf-enabled/

次に、を作成します index.php ファイル:

nano /var/www/html/index.php

次の行を追加します。

<?php
phpinfo();
?>

ファイルを保存して閉じ、次のコマンドで適切な権限と所有権を設定します。

chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html

次に、Lighttpdサービスを再起動して、変更を適用します。

systemctl restart lighttpd

次に、Webブラウザーを開き、URLを使用してWebサイトを確認します。 http://test.example.com。 次の画面にPHPテストページが表示されます。

PHP情報

Let’sEncryptでLighttpdを保護する

Lighttpdを使用すると、Let’sEncryptSSLを使用してWebサイトを保護することもできます。 これを行うには、最初に次のコマンドを使用してCertbotクライアントをインストールします。

apt-get install certbot -y

次に、次のコマンドを実行して、WebサイトのLet’sEncryptSSLをダウンロードします。

certbot certonly --webroot -w /var/www/html/ -d test.example.com

以下に示すように、電子メールアドレスを入力し、ライセンス期間に同意するように求められます。

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Once the certificates are downloaded successfully, you should see the following output:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/test.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/test.example.com/privkey.pem
   Your cert will expire on 2022-05-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

次に、証明書と秘密鍵の両方を1つのファイルに結合する必要があります。 次のコマンドで実行できます。

cat /etc/letsencrypt/live/test.example.com/cert.pem /etc/letsencrypt/live/test.example.com/privkey.pem > /etc/letsencrypt/live/test.example.com/web.pem

次に、Lighttpd仮想ホストファイルを編集し、Let’sEncryptSSL証明書パスを定義する必要があります。

次のコマンドで実行できます。

nano /etc/lighttpd/conf-enabled/test.conf

以下に示すようにファイルを変更します。

$HTTP["host"] == "test.example.com" {
    server.document-root = "/var/www/html/"
}

$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/letsencrypt/live/test.example.com/web.pem" 
ssl.ca-file = "/etc/letsencrypt/live/test.example.com/chain.pem"
server.name = "test.example.com" 
server.document-root = "/var/www/html/"
server.errorlog = "/var/log/lighttpd/example.com_error.log"
accesslog.filename = "/var/log/lighttpd/example.com_access.log"
}

$HTTP["scheme"] == "http" {
$HTTP["host"] == "test.example.com" { 
url.redirect = ("/.*" => "https://test.example.com$0")
}
}

ファイルを保存して閉じます。 次に、Lighttpdサービスを再起動して、設定の変更を適用します。

systemctl restart lighttpd

これで、URLhttps://test.example.comを使用してWebサイトに安全にアクセスできます。

結論

おめでとう! これで、PHPを使用してLighttpdを正常にインストールし、Debian 11にSSLを暗号化しましょう。これで、LighttpdWebサーバーを使用してWebサイトの展開を開始できます。 ご不明な点がございましたら、お気軽にお問い合わせください。

The post PHPと無料でLighttpdをインストールする方法Debian11でSSLを暗号化しましょう appeared first on Gamingsym Japan.