LAMP je zkratka Linux, Apache, MySQL a PHP . Apache je webový server, který obsluhuje soubory přes protokol HTTP. MySQL je populární databázový server. PHP je programovací jazyk používaný pro vývoj webových aplikací. Pomocí těchto aplikací můžeme vytvořit plnohodnotný webový server. Nejběžnějším způsobem spouštění aplikací PHP s Apache je použití modulu mod_php. Dobrou alternativou je také použití PHP-FPM, které má oproti tomu několik výhod. Výchozí instalace na CentOS 8 používá ke zpracování souborů php PHP-FPM.
Tento tutoriál vám pomůže nainstalovat a nakonfigurovat LAMP (Linux, Apache, MySQL a PHP) na systémech CentOS 8 a RHEL 8 Linux.
Užitečný odkaz:
- Nastavte Let's Encrypt SSL pomocí Apache na CentOS 8
- Jak nastavit uživatele pouze SFTP na CentOS 8
Předpoklady
- Nově nainstalovaný počítač CentOS 8.
- Dokončete počáteční nastavení serveru
- Přístup do prostředí s právy sudo
Krok 1 – Instalace Apache
Balíčky webového serveru Apache jsou k dispozici ve výchozím repozitáři AppStream na CentOS 8. Stačí aktualizovat mezipaměť DNF a nainstalovat balíčky pomocí následujících příkazů.
sudo dnf update sudo dnf install httpd httpd-tools
Balíček mod_ssl poskytuje funkcionalitu použití SSL certifikátu pro zabezpečený HTTP. Po instalaci povolte službu httpd a spusťte.
sudo systemctl enable httpd.service sudo systemctl start httpd.service
Nyní zkontrolujte stav služby Apache:
sudo systemctl status httpd.service
Výstup:
● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d └─php-fpm.conf Active: active (running) since Sat 2020-03-22 04:27:24 EDT; 5s ago Docs: man:httpd.service(8) Main PID: 8644 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 8918) Memory: 21.5M CGroup: /system.slice/httpd.service ├─8644 /usr/sbin/httpd -DFOREGROUND ├─8650 /usr/sbin/httpd -DFOREGROUND ├─8651 /usr/sbin/httpd -DFOREGROUND ├─8652 /usr/sbin/httpd -DFOREGROUND └─8653 /usr/sbin/httpd -DFOREGROUND Mar 22 04:27:23 tecadmin systemd[1]: Starting The Apache HTTP Server... Mar 22 04:27:24 tecadmin systemd[1]: Started The Apache HTTP Server. Mar 22 04:27:24 tecadmin httpd[8644]: Server configured, listening on: port 80
Krok 2 – Instalace serveru MySQL
Nejnovější balíčky MySQL 8 jsou k dispozici v repozitáři AppStrem pod CentOS 8. Pomocí následujícího příkazu nainstalujte server MySQL včetně požadovaných balíčků do vašeho systému.
sudo dnf -y install @mysql
Po dokončení instalace povolte automatické spouštění služby MySQL při startu systému. Také poprvé spusťte službu ručně.
sudo systemctl enable mysqld.service sudo systemctl start mysqld.service
Poté zkontrolujte aktuální stav služby pomocí následujícího příkazu:
sudo systemctl status mysqld.service
● mysqld.service - MySQL 8.0 database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2020-03-22 02:49:33 EDT; 5min ago Process: 5841 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 5706 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS) Process: 5682 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 5798 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 8918) Memory: 442.1M CGroup: /system.slice/mysqld.service └─5798 /usr/libexec/mysqld --basedir=/usr Mar 22 02:48:42 tecadmin systemd[1]: Starting MySQL 8.0 database server... Mar 22 02:48:45 tecadmin mysql-prepare-db-dir[5706]: Initializing MySQL database Mar 22 02:49:33 tecadmin systemd[1]: Started MySQL 8.0 database server.
Instalace MySQL byla dokončena. Nyní se můžete připojit k serveru MySQL bez hesla, ale doporučujeme instalaci MySQL zabezpečit. Balíčky MySQL poskytují příkaz mysql_secure_installation pro použití zabezpečení. Stačí spustit níže uvedený příkaz na terminálu:
sudo mysql_secure_installation
a postupujte podle pokynů na obrazovce. Níže jsou uvedeny podrobnosti, které vyžadují vstup uživatele.
- Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne:y
- Zadejte prosím 0 =NÍZKÁ, 1 =STŘEDNÍ a 2 =SILNÁ:2
- Nové heslo:[ZDE ZADEJTE SILNÉ HESLO]
- Znovu zadejte nové heslo:ZDE ZADEJTE HESLO ZNOVU
- Přejete si pokračovat se zadaným heslem? (Stiskněte y|Y pro Ano, jakékoli jiné pro Ne) :y
- Odebrat anonymní uživatele? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :y
- Zakázat vzdálené přihlášení root? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :y
- Odebrat testovací databázi a získat k ní přístup? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :y
- Načíst znovu tabulky oprávnění? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :y
Krok 3 – Instalace PHP
Úložiště Remi obsahuje nejnovější balíčky PHP pro systém CentOS 8 Linux. Nejprve tedy musíte do systému přidat úložiště REMI. Pro přidání úložiště stačí provést následující příkaz.
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Poté povolte požadovaný modul DNF pro instalaci PHP. Zde povolujeme modul pro instalaci PHP 7.4. Toto můžete změnit na PHP 7.3 nebo PHP 7.2 podle vašich požadavků.
sudo dnf module reset php sudo dnf module enable php:remi-7.4
Jakmile je úložiště ve vašem systému povoleno. Nainstalujte balíčky PHP spolu s požadovanými moduly PHP.
sudo dnf install php php-mysqlnd
Mnoho z vás také potřebuje nainstalovat další požadované php moduly podle požadavků vaší aplikace. Níže uvedený příkaz nainstaluje několik často používaných php modulů:
dnf install php-gd php-zip php-mcrypt php-json php-xml php-gettext php-curl php-intl
Krok 4 – Vytvořte Apache VirtualHost
Jsou nainstalovány všechny balíčky požadované pro prostředí LAMP. Nyní vytvořte virtuálního hostitele Apache. Ve výchozím nastavení Apache používá php-fpm pro zpracování souborů PHP v systému CentOS 8.
Vytvořte a upravte konfigurační soubor virtuálního hostitele v oblíbeném textovém editoru:
sudo vim /etc/httpd/conf.d/tecadmin.example.net.conf
Přidejte následující obsah do konfiguračního souboru. Ujistěte se, že jste změnili požadované parametry.
Apache
12345678910 |
Uložte konfigurační soubor virtuálního hostitele a znovu načtěte Apache, abyste použili změny.
sudo systemctl restart httpd.service
Užitečný odkaz:
- Nastavte Let's Encrypt SSL pomocí Apache na CentOS 8
Krok 5 – Povolení portů v Firewallu
Server CentOS 8 Linux je připraven sloužit aplikaci přes prostředí LAMP. Pokud má váš systém nainstalovaný a aktivní firewall, musíte povolit porty Apache. To umožní uživatelům sítě přístup k webové aplikaci ze vzdálených systémů.
Následující příkazy vám otevřou požadované porty.
sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --zone=public --permanent --add-service=https sudo firewall-cmd --reload
Užitečný odkaz:
- Co je FirewallD a jak jej implementovat v systému Linux
Krok 6 – Testovací nastavení
Vše hotovo. Pro otestování prostředí vytvořte PHP skript pomocí phpinfo() funkce. Umístěte tento soubor do kořenového adresáře dokumentů na serveru. K tomu použijte níže uvedený příkaz.
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Poté přejděte na info.php pomocí IP adresy serveru (pro výchozí VirtualHost) pro vaši nakonfigurovanou doménu v Apache VirtualHost.
http://tecadmin.example.net/info.php
Závěr
Úspěšně jste nakonfigurovali prostředí LAMP na vašem systému CentOS 8 nebo RHEL 8 Linux. Dále můžete nainstalovat phpMyAdmin na váš systém.