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_pathinfo に 1
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テストページが表示されます。
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.