Jak nainstalovat Linux, Apache, MariaDB, PHP (LAMP) stack na Debian 11

Jak nainstalovat Linux, Apache, MariaDB, PHP (LAMP) stack na Debian 11

Úvod

LAMP stack je sada softwaru s otevřeným zdrojovým kódem, která se skládá z operačního systému Linux, webového serveru Apache, databázového serveru MariaDB a programovacího jazyka PHP. LAMP stack je populární volbou pro webhosting a vývoj webových aplikací díky své spolehlivosti, bezpečnosti a přizpůsobitelnosti.

V tomto návodu vás provedeme instalací a konfigurací LAMP stacku na Debian 11. Dozvíte se, jak nainstalovat a nakonfigurovat každý komponent stacku a jak je otestovat, zda fungují správně.

Instalace LAMP stacku

1. Aktualizace systému

Před instalací jakéhokoli softwaru je důležité aktualizovat systém, abyste získali nejnovější opravy zabezpečení a opravy chyb:


sudo apt update && sudo apt upgrade

2. Instalace webového serveru Apache

Webový server Apache je součástí úložiště balíčků Debianu. Nainstalujte jej pomocí následujícího příkazu:


sudo apt install apache2

Po dokončení instalace spusťte službu Apache a povolte ji, aby se spouštěla automaticky při spuštění systému:


sudo systemctl start apache2
sudo systemctl enable apache2

3. Instalace databázového serveru MariaDB

Databázový server MariaDB je také součástí úložiště balíčků Debianu. Nainstalujte jej pomocí následujícího příkazu:


sudo apt install mariadb-server

Po dokončení instalace spusťte službu MariaDB a povolte ji, aby se spouštěla automaticky při spuštění systému:


sudo systemctl start mariadb
sudo systemctl enable mariadb

4. Zabezpečení databáze MariaDB

Po instalaci databáze MariaDB je důležité ji zabezpečit. To zahrnuje nastavení hesla pro uživatele root a odstranění anonymního uživatele:


sudo mysql_secure_installation

Postupujte podle pokynů na obrazovce a nastavte heslo pro uživatele root a odstraňte anonymního uživatele.

5. Instalace PHP

Programovací jazyk PHP je součástí úložiště balíčků Debianu. Nainstalujte jej pomocí následujícího příkazu:


sudo apt install php libapache2-mod-php

Po dokončení instalace restartujte službu Apache, aby se načtly moduly PHP:


sudo systemctl restart apache2

6. Testování LAMP stacku

Chcete-li otestovat, zda LAMP stack funguje správně, vytvořte soubor PHP s názvem info.php v kořenovém adresáři dokumentů Apache:


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

A vložte následující kód:

php
<?php
phpinfo();
?>

Uložte a zavřete soubor. Nyní můžete navštívit http://your_server_ip/info.php ve svém webovém prohlížeči a zobrazit informace o konfiguraci PHP.

Zabezpečení LAMP stacku

Po úspěšné instalaci LAMP stacku je důležité jej zabezpečit. Zde je několik doporučených postupů:

* Používejte firewall: Firewall brání neoprávněnému přístupu k vašemu serveru. Nainstalujte a nakonfigurujte firewall, jako je UFW.
* Udržujte software aktuální: Pravidelně aktualizujte svůj operační systém, webový server, databázový server a PHP, abyste opravili bezpečnostní chyby.
* Používejte silná hesla: Používejte pro uživatele root databáze MariaDB a pro uživatele Apache silná hesla.
* Zakázat nepoužívané služby: Zakázat nepoužívané služby, jako je SSH, pokud nejsou potřeba.
* Používat SSL/TLS: Nakonfigurujte svůj webový server tak, aby používal protokol SSL/TLS pro šifrování komunikace mezi prohlížečem a serverem.

Závěr

Instalace a konfigurace LAMP stacku na Debian 11 je poměrně jednoduchý proces. Následujícím krokům v tomto návodu úspěšně nastavíte LAMP stack a můžete začít vyvíjet a spouštět webové aplikace.

Nezapomeňte svůj LAMP stack zabezpečit implementací nejlepších postupů pro zabezpečení, abyste ochránili svůj server a data před neoprávněným přístupem a útoky.

Časté dotazy

1. Jaké jsou minimální systémové požadavky pro instalaci LAMP stacku na Debian 11?

LAMP stack vyžaduje alespoň 512 MB RAM a 2 GB volného místa na disku.

2. Jak mohu odinstalovat LAMP stack?

Chcete-li odinstalovat LAMP stack, použijte následující příkazy:


sudo apt remove apache2 mariadb-server php libapache2-mod-php
sudo apt purge apache2 mariadb-server php libapache2-mod-php
sudo rm -rf /var/www/html

3. Jak mohu nastavit vlastní port pro webový server Apache?

Chcete-li nastavit vlastní port pro webový server Apache, upravte soubor /etc/apache2/ports.conf a změňte port uvedený v direktivě Listen. Poté restartujte Apache:


sudo nano /etc/apache2/ports.conf
sudo systemctl restart apache2

4. Jak mohu povolit vzdálený přístup k databázi MariaDB?

Chcete-li povolit vzdálený přístup k databázi MariaDB, přidejte IP adresu svého klienta do seznamu povolených hostitelů v souboru /etc/mysql/mariadb.conf.d/50-server.cnf a restartujte MariaDB:


sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
sudo systemctl restart mariadb

5. Jak mohu změnit heslo uživatele root databáze MariaDB?

Chcete-li změnit heslo uživatele root databáze MariaDB, připojte se k databázi pomocí uživatele root a změňte heslo pomocí příkazu ALTER USER:


mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;

6. Jak mohu nainstalovat a nakonfigurovat PHPMyAdmin?

PHPMyAdmin je webové rozhraní pro správu databáze MariaDB. Chcete-li jej nainstalovat, použijte následující příkaz:


sudo apt install phpmyadmin

Poté nakonfigurujte Apache tak, aby obsluhoval PHPMyAdmin:


sudo nano /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo systemctl restart apache2

7. Jak mohu optimalizovat výkon LAMP stacku?

Chcete-li optimalizovat výkon LAMP stacku, můžete:

* Použít server s více jádry a velkým množstvím RAM.
* Použít rychlý úložný systém, jako je SSD.
* Použít vyrovnávací paměť, jako je Redis nebo Memcached.
* Nakonfigurovat Apache tak, aby používal více pracovních procesů.
* Optimalizovat dotazy databáze MariaDB.

8. Mohu použít LAMP stack na jiných distribucích Linuxu?

Ano, můžete použít LAMP stack na jiných distribucích Linuxu, jako je Ubuntu, CentOS a Fedora. Příkazy pro instalaci a konfiguraci se však mohou lišit.

9. Jaké jsou alternativy k LAMP stacku?

Kromě LAMP stacku existují další populární webové stacky, jako je:

* LEMP stack (Linux, Nginx, MariaDB, PHP)
* MEAN stack (MongoDB, Express.js, Angular, Node.js)
* JAMstack (JavaScript, API, Markup)