GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat LAMP Apache, MySQL, PHP na Debian 11

Jak nainstalovat LAMP Apache, MySQL, PHP na Debian 11. V této příručce se dozvíte, jak nainstalovat Apache2, MySQL 8.0 a PHP 8.1.

Nainstalujete také některá běžná rozšíření PHP a upravíte konfigurace PHP. Nakonec své nastavení zabezpečíte pomocí Let’s Encrypt SSL a nakonfigurujete přesměrování HTTPS.

Toto nastavení je testováno v cloudu Google, takže bude fungovat na všech cloudových hostingových službách, jako je AWS, Azure nebo jakékoli VPS nebo na jakýchkoli dedikovaných serverech se systémem Debian 11.

Předpoklady pro instalaci LAMP

  • Kořenový přístup k vašemu serveru nebo uživateli sudo.
  • Doména ukazuje na IP adresu vašeho serveru pro instalaci Let’sEncrypt SSL

Krok 1:Inicializace nastavení

Začněte aktualizací balíčků na nejnovější dostupnou verzi pomocí následujícího příkazu.

sudo apt update
sudo apt upgrade

Nainstalujte balíček wget.

sudo apt install wget

Jakmile aktualizujete nastavení, můžete začít instalovat zásobník LAMP.

Krok 2:Instalace Apache

Nainstalujte Apache pomocí následujícího příkazu.

sudo apt install apache2

Tím se nainstaluje apache2 a všechny požadované závislosti.

Krok 3:Nastavení brány firewall

Nyní můžete nastavit Uncomplicated Firewall (UFW) s Apache a umožnit veřejný přístup na výchozích webových portech pro HTTP a HTTPS

sudo ufw app list

Zobrazí se všechny uvedené aplikace.

Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
  • Apache :Tento profil otevírá port 80 (normální, nešifrovaný webový provoz)
  • Apache Full :Tento profil otevírá oba porty 80 (normální, nešifrovaný webový provoz) a port 443 (provoz šifrovaný TLS/SSL)
  • Apache Secure :Tento profil otevírá pouze port 443 (provoz šifrovaný TLS/SSL)
  • OpenSSH :Tento profil otevírá port 22 pro přístup SSH.

Pokud nebudete používat SSL, musíte povolit pouze profil Apache.

Nyní povolíme Apache Full.

sudo uff allow OpenSSH
sudo ufw allow 'Apache Full'

Pomocí tohoto příkazu můžete zobrazit stav UFW.

sudo ufw status

Výstup uvidíte následovně.

Output
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)

Krok:4 Kontrola instalace Apache

Jakmile je Apache nainstalován, spustí se automaticky a již je v provozu.

Každý proces v Apache je spravován pomocí systemctl příkaz. Zkontrolujte stav Apache pomocí následujícího příkazu.

sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Drop-In: /lib/systemd/system/apache2.service.d
            └─apache2-systemd.conf
    Active: active (running) since Tue 2022-02-02 10:29:51 UTC; 5min ago
  Main PID: 10617 (apache2)
     Tasks: 55 (limit: 667)
    CGroup: /system.slice/apache2.service
            ├─10617 /usr/sbin/apache2 -k start
            ├─10619 /usr/sbin/apache2 -k start
            └─10620 /usr/sbin/apache2 -k start
 Feb 02 10:29:51 apache systemd[1]: Starting The Apache HTTP Server…
 Feb 02 10:29:51 apache systemd[1]: Started The Apache HTTP Server.

Nyní máme Apache nainstalovaný a nakonfigurovaný Firewall.

Krok 5:Instalace MySQL

Chcete-li přidat úložiště MySQL APT do svého systému, přejděte na stránku pro stažení úložiště a stáhněte si balíček nejnovější verze pomocí následujícího příkazu.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb

Nainstalujte balíček vydání.

sudo apt install ./mysql-apt-config_0.8.22-1_all.deb

Chystáme se nainstalovat MySQL verze 8.0. Vyberte OK stisknutím Tab a stiskněte Enter (jak je znázorněno na obrázku výše).

Nyní můžete nainstalovat MySQL.

sudo apt update
sudo apt install mysql-server

Po dokončení instalace se služba MySQL automaticky spustí. Chcete-li ověřit, že server MySQL běží, zadejte:

sudo service mysql status

Výstup by měl ukazovat, že služba je povolena a spuštěna:

 mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-02-02 06:12:30 UTC; 17s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
   Main PID: 101929 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 1148)
     Memory: 369.3M
        CPU: 805ms
     CGroup: /system.slice/mysql.service
             └─101929 /usr/sbin/mysqld

Feb 02 06:12:29 demo systemd[1]: Starting MySQL Community Server...
Feb 02 06:12:30 demo systemd[1]: Started MySQL Community Server.

Krok 6:Zabezpečení MySQL

Instalace MySQL je dodávána se skriptem s názvem mysql_secure_installation což vám umožní snadno zlepšit zabezpečení serveru MySQL.

sudo mysql_secure_installation

Budete požádáni o konfiguraci VALIDATE PASSWORD PLUGIN který se používá k testování síly hesel uživatelů MySQL a ke zlepšení zabezpečení.

Stiskněte y pokud chcete nastavit zásuvný modul pro ověření hesla nebo jakýkoli jiný klíč pro přechod k dalšímu kroku.

Existují tři úrovně zásad ověřování hesla, nízká, střední a silná.

Zadejte 2 pro ověření silného hesla.

Na další výzvě budete požádáni o nastavení hesla pro uživatele root MySQL.

Pokud nastavíte plugin pro ověření hesla, skript vám ukáže sílu vašeho nového hesla. Zadejte y pro potvrzení hesla.

Dále budete požádáni o odebrání anonymního uživatele, omezení přístupu uživatele root k místnímu počítači, odebrání testovací databáze a opětovné načtení tabulek oprávnění. Měli byste odpovědět y na všechny otázky.

Krok 7:Nainstalujte PHP

Přidejte SURY PPA pro PHP 8.1

sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Nyní můžete přidat PPA do serverových balíčků.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

Aktualizujte balíčky a nainstalujte PHP 8.1

sudo apt update

sudo apt install php libapache2-mod-php php8.1-mysql php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl -y

Jakmile je PHP nainstalováno, můžete zkontrolovat verzi pomocí následujícího příkazu.

php -v

Krok 8:Konfigurace PHP

Nyní nakonfigurujeme PHP pro webové aplikace změnou některých hodnot v php.ini soubor.

Pro PHP 8.1 s Apache php.ini umístění bude v následujícím adresáři.

sudo nano /etc/php/8.1/apache2/php.ini

Stiskněte F6 pro vyhledávání v editoru a pro lepší výkon aktualizujte následující hodnoty.

upload_max_filesize = 32M 
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

Jakmile upravíte nastavení PHP, musíte restartovat Apache, aby se změny projevily.

Krok 9:Konfigurace Apache

Zakázat výchozí konfiguraci Apache.

sudo a2dissite 000-default

Vytvořte adresáře webových stránek.

sudo mkdir -p /var/www/html/domainname/public

Nastavte správná oprávnění.

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

Vytvořte novou konfiguraci virtuálního hostitele.

sudo nano /etc/apache2/sites-available/domainname.conf

Vložte následující konfigurace do nového souboru.

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName domainname.com
     ServerAlias www.domainname.com

     DocumentRoot /var/www/html/domainname/public

     <Directory /var/www/html/domainname/public>
         Options Indexes FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
 </VirtualHost>

Povolte novou konfiguraci.

sudo a2ensite domainname.conf

Krok 10:Instalace Let’s Encrypt SSL

HTTPS je protokol pro zabezpečenou komunikaci mezi serverem (instance) a klientem (webovým prohlížečem). Díky zavedení Let’s Encrypt, který poskytuje bezplatné certifikáty SSL, je HTTPS přijato všemi a také poskytuje důvěru vašemu publiku.

Zde nainstalujeme Certbot pro instalaci Let’sEncrypt SSL pomocí Snap.

sudo apt update
sudo apt install snapd -y
sudo snap install core
sudo snap refresh core

Nainstalujte nástroj Certbot.

sudo snap install --classic certbot

Nakonfigurujte Certbot tak, aby byl spustitelný jako příkaz.

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Nyní jsme nainstalovali Certbot pro instalaci Let’s Encrypt for Debian 11.

Spuštěním následujícího příkazu nainstalujte své certifikáty.

sudo certbot --apache --agree-tos --redirect -m [email protected] -d domainname.com -d www.domainname.com

Vyberte příslušnou možnost a stiskněte Enter

Tento příkaz nainstaluje bezplatné SSL, nakonfiguruje přesměrování na HTTPS a restartuje server Apache.

Krok 11:Obnovení certifikátu SSL

Certifikáty poskytované Let’s Encrypt jsou platné pouze 90 dní, takže je musíte často obnovovat. Pojďme tedy otestovat funkci obnovení pomocí následujícího příkazu.

sudo certbot renew --dry-run

Tento příkaz otestuje vypršení platnosti certifikátu a nakonfiguruje funkci automatického obnovení.

Krok:12:Otestujte nastavení

Jakmile provedete potřebné kroky, můžete vytvořit nový testovací soubor PHP ve vašem webovém adresáři.

sudo nano /var/www/html/domainname/public/info.php

Vložte níže uvedený kód do souboru.

<?php phpinfo();

Uložte soubor.

Nyní pokračujte a zkontrolujte název domény pomocí info.php v adrese URL (domainname.com/info.php ).

Uvidíte, že vaše doména byla přesměrována na HTTPS, a uvidíte podrobnosti o PHP.

Rozšiřte svou kariéru v administraci systému Linux s dokončeným školicím kurzem a získejte práci svých snů.

Závěr

Nyní jste se naučili, jak nainstalovat zásobník LAMP na Debian 11 pomocí Let’s Encrypt.

Díky za váš čas. Pokud narazíte na jakýkoli problém nebo zpětnou vazbu, zanechte prosím níže komentář.


Linux
  1. Jak nainstalovat Apache, MySQL, PHP (LAMP) na CentOS/RHEL 7

  2. Jak nainstalovat Apache, MySQL, PHP (LAMP) na Ubuntu 16.04 LTS

  3. Jak nainstalovat LAMP (Apache, MySQL, PHP) na Debian 11

  1. Jak nainstalovat LAMP na Debian 8

  2. Jak nainstalovat LAMP (Linux, Apache, MySQL, PHP) na Debian 9

  3. Jak nainstalovat LAMP Apache, MySQL, PHP v Ubuntu 22.04

  1. Jak nainstalovat LAMP Server na Debian 9

  2. Jak nainstalovat MySQL na Debian 11

  3. Jak nainstalovat LAMP Apache, MySQL, PHP na Debian 11