GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat Lighttpd s PHP, MariaDB a Lets Encrypt SSL na Debian 10

Lighttpd je bezplatný, open-source a vysokorychlostní webový server speciálně navržený pro prostředí s kritickou rychlostí. Vyžaduje malou paměťovou náročnost ve srovnání s jinými webovými servery, jako jsou Apache a Nginx, a zvláště rychlý pro běh aplikací AJAX. Lighttpd nám také umožňuje hostovat webové aplikace napsané v jiném programovacím jazyce pomocí rozhraní FastCGI, SCGI a CGI. Lighttpd je pro vás nejlepší volbou, pokud váš server trpí problémy se zatížením.

V tomto tutoriálu se naučíme nainstalovat Lighttpd na Debian 10 s podporou PHP-FPM a MariaDB a zabezpečíme webový server SSL certifikátem Let's Encrypt.

Požadavky

  • Server se systémem Debian 10.
  • Na vašem serveru je nastaveno heslo uživatele root.

V tomto tutoriálu budu používat název domény example.com. Nahraďte example.com ve všech názvech souborů a konfiguračních nastaveních svým vlastním názvem domény níže.

Začínáme

Než začnete, budete muset aktualizovat svůj systém na nejnovější verzi. Můžete to provést spuštěním následujícího příkazu:

apt-get update -y
apt-get upgrade -y

Jakmile je váš server aktualizován, restartujte server, aby se změny projevily.

Instalovat Lighttpd

Ve výchozím nastavení je Lighttpd k dispozici ve výchozím úložišti Debian 10. Můžete jej nainstalovat pouhým spuštěním následujícího příkazu:

apt-get install lighttpd -y

Po dokončení instalace spusťte službu Lighttpd a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl start lighttpd
systemctl enable lighttpd

Stav Lighttpd můžete také zkontrolovat pomocí následujícího příkazu:

systemctl status lighttpd

Měli byste získat následující výstup:

? lighttpd.service - Lighttpd Daemon
   Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-09-06 02:09:35 EDT; 29s ago
 Main PID: 4445 (lighttpd)
    Tasks: 1 (limit: 1138)
   Memory: 1.4M
   CGroup: /system.slice/lighttpd.service
           ??4445 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

Sep 06 02:09:35 debian systemd[1]: Starting Lighttpd Daemon...
Sep 06 02:09:35 debian systemd[1]: Started Lighttpd Daemon.
Sep 06 02:09:36 debian systemd[1]: /lib/systemd/system/lighttpd.service:6: PIDFile= references path below legacy directory /var/run/, updating 
lines 1-12/12 (END)

Po dokončení můžete přejít k dalšímu kroku.

Nainstalujte server MariaDB

Server MariaDB můžete nainstalovat spuštěním následujícího příkazu:

apt-get install mariadb-server mariadb-client -y

Po instalaci budete muset zabezpečit instalaci MariaDB. Můžete jej zabezpečit spuštěním následujícího skriptu:

mysql_secure_installation
Answer all the questions as shown below:
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Po dokončení můžete přejít k dalšímu kroku.

Instalovat PHP a PHP-FPM

Dále budete muset do svého systému nainstalovat PHP, PHP-FPM a FastCGI. Ve výchozím nastavení se Debian 10 dodává s verzí PHP 7.3. Můžete jej nainstalovat pouhým spuštěním následujícího příkazu:

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

Jakmile jsou všechny balíčky nainstalovány, budete muset upravit soubor php.ini a nastavit cgi.fix_pathinfo na 1. Můžete to udělat pomocí následujícího příkazu:

nano /etc/php/7.3/fpm/php.ini

Změňte následující řádek:

cgi.fix_pathinfo=1

Po dokončení uložte a zavřete soubor.

Ve výchozím nastavení PHP ukazuje na UNIX socket /var/run/php/php7.3-fpm.sock. Takže budete muset nakonfigurovat fond PHP-FPM, aby nastavil PHP naslouchání TCP socketu.

Můžete to udělat úpravou souboru /etc/php/7.3/fpm/pool.d/www.conf:

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

Najděte následující řádek:

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

A nahraďte jej následujícím řádkem:

listen = 127.0.0.1:9000

Po dokončení uložte a zavřete soubor. Poté restartujte službu PHP-FPM, abyste použili změny konfigurace:

systemctl restart php7.3-fpm

Dále budete muset upravit soubor 15-fastcgi-php.conf:

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

Najděte následující řádky:

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

A nahraďte je následujícím:

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

Po dokončení uložte a zavřete soubor. Poté povolte modul FastCGI i FastCHI-PHP pomocí následujících příkazů:

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

Nakonec restartujte službu Lighttpd, aby se změny projevily:

systemctl restart lighttpd

Vytvořit virtuálního hostitele Lighttpd

Dále budete muset vytvořit nový soubor virtuálního hostitele pro testování PHP s Lighttpd. Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/lighttpd/conf-available/example.com.conf

Přidejte následující řádky:

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

Po dokončení uložte a zavřete soubor. Poté povolte virtuálního hostitele pomocí následujícího příkazu:

ln -s /etc/lighttpd/conf-available/example.com.conf /etc/lighttpd/conf-enabled/

Dále vytvořte ukázkový soubor index.php v kořenovém adresáři dokumentu Lighttpd pomocí následujícího příkazu:

nano /var/www/html/index.php

Přidejte následující řádek:

<?php phpinfo(); ?>

Uložte a zavřete soubor. Poté změňte vlastnictví kořenového adresáře dokumentu Lighttpd na www-data pomocí následujícího příkazu:

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

Nakonec restartujte službu Lighttpd, abyste použili všechny změny konfigurace:

systemctl restart lighttpd

Zabezpečený Lighttpd s Let's Encrypt Free SSL

Nejprve si budete muset nainstalovat nástroj Certbot, abyste zabezpečili svůj webový server pomocí Let’s Encrypt. Ve výchozím nastavení není nejnovější verze Certbota dostupná ve výchozím úložišti Debianu 10.

Úložiště Certbot můžete přidat pomocí následujícího příkazu:

apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot

Dále aktualizujte úložiště a nainstalujte Certbot pomocí následujícího příkazu:

apt-get update -y
apt-get install certbot -y

Dále vytvořte certifikát Let’s Encrypt pomocí následujícího příkazu:

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

Budete požádáni, abyste uvedli svou e-mailovou adresu a přijali podmínky licence, jak je uvedeno níže:

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

Po úspěšném stažení certifikátů byste měli vidět následující výstup:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-12-06. 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

Dále budete muset zkombinovat certifikát i soukromý klíč do jednoho souboru. Můžete to udělat pomocí následujícího příkazu:

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

Dále budete muset upravit soubor virtuálního hostitele Lighttpd a definovat cestu k certifikátu Let's Encrypt SSL.

Můžete to udělat pomocí následujícího příkazu:

nano /etc/lighttpd/conf-enabled/example.com.conf

Změňte soubor, jak je znázorněno níže:

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

$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/letsencrypt/live/example.com/web.pem" # Combined Certificate
ssl.ca-file = "/etc/letsencrypt/live/example.com/chain.pem" # Root CA
server.name = "www.example.com" # Domain Name OR Virtual Host Name
server.document-root = "/var/www/html/" # Document Root
server.errorlog = "/var/log/lighttpd/example.com_error.log"
accesslog.filename = "/var/log/lighttpd/example.com_access.log"
}

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

Uložte a zavřete soubor. Poté restartujte službu Lighttpd, abyste použili změny konfigurace:

systemctl restart lighttpd

Přístup k webovému rozhraní Lighttpd

Lighttpd je nainstalován a konfigurován s podporou PHP a PHP-FPM. Nyní je čas to otestovat.

Otevřete webový prohlížeč a zadejte adresu URL https://www.example.com. Budete přesměrováni na následující stránku:

Výše uvedená stránka ukazuje, že PHP funguje dobře s FastCGI.

Závěr

Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali webový server Lighttpd s podporou PHP-FPM a FastCGI na Debianu 10. Nyní můžete snadno hostovat svůj vlastní webový server. Pro více informací navštivte stránku oficiální dokumentace Lighttpd na Lighttpd Doc.


Debian
  1. Nainstalujte Automad CMS s Nginx a Lets Encrypt SSL na Debian 10

  2. Jak nainstalovat Tiki Wiki s Apache a šifrovat SSL na Debian 10

  3. Jak nainstalovat Automad CMS s Apache a Lets encrypt na Debian 10

  1. Jak nainstalovat ElkArte Forum s Apache a Lets Encrypt na Debian 10

  2. Jak nainstalovat OpenCart s Nginx a Lets Encrypt na Debian 10

  3. Jak nainstalovat Drupal 9 s Nginx a nechat šifrovat SSL na Debian 10

  1. Jak nainstalovat ElkArte Forum s Apache a nechat šifrovat SSL na CentOS 8

  2. Jak nainstalovat Joomla s Apache a nechat šifrovat SSL na Debian 10

  3. Jak nainstalovat Drupal s Apache a nechat šifrovat SSL na Debian 11