Instalace serveru LAMP
![Instalace serveru LAMP](../../infusions/news/images/install-mysql-server-ubuntu-20-04_2.jpg)
Přináším návod na instalaci zásobníku LAMP (Linux, Apache, MySQL, PHP) pro Ubuntu 20.04 a vyší verzi, včetně ostatních linuxových operačních systémů. Součástí návodu je také instalace serveru phpMyadmin, nutného pro správu databází na webu.
Tento návod přinášíme na žádost člena našeho webu Kisela.
Nutné podmínky pro instalaci:
1/ Počítejte s tím, že budete instalovat LAMP na localhost svého domácího počítače (PC).
2/ Počítejte s tím, že byste měli pracovat na tomto server Ubuntu 20.04 s účtem "sudo" a tedy bez oprávnění root a základní brány firewallu.
Nutná bezpečnostní varování
Protože pracujeme s aplikací PHP (hostování webových stránek), která může být napadena útokem, nikdy nespouštějte aplikaci phpMyAdmin na vzdálených systémech přes jednoduché připojení HTTP!
*********************************************************
INSTALACE APACHE
1/Nainstalujte Apache pomocí správce balíčků Ubuntu apt v Terminálu zadejte:
sudo su
sudo apt update
sudo apt install apache2
Jestliže sudo používáte poprvé, budete vyzváni k zadání hesla uživatele, abyste potvrdili, že máte správná oprávnění ke správě systémových balíčků apt. Budete také vyzváni k potvrzení instalace Apache stisknutím Y, poté ENTER.
2/ Nyní se přesvědčíme, jestli náš webový server Apache běží nebo ne, a to přákazem v terminálu:
$ sudo systemctl status apache2
Po zadání tohoto kódu byste měli dostat výstup. Zelené označení signalizuje, že jdete správnou cestou. Apache2 máte zapnuté. Tedy gratulujeme! Služba Apache je v provozu !!:
![](http://samkonba.wz.cz/infusions/news/images/Apache2_services_zapnutý.png)
3/ Dále je nutné upravit nastavení brány firewall tak, aby umožňovala přenos HTTP. To znamná, musíme povolit webový server Apache, aby pracoval přes UFW firewall. UFW zkratka: U complicated F obranaW všechno. Jde o právu Netfilter firewall, který je koncipován tak, aby bylo snadné použití. Výhoda UFW je v tom, že akceptuje výchozí nastavení ve všech verzích Ubuntu.
POZOR! Ve výchozím nastavení nelze k webovému prohlížeči Apache přistupovat ze vzdálených systémů, pokud jste povolili bránu firewall UFW v Ubuntu 20.04 LTS. Podle níže uvedených kroků musíte povolit porty http a https.
Nejprve pomocí příkazu zobrazte seznam profilů aplikací dostupných ve vašem systému Ubuntu:
Objeví se vám UFW, která má různé použitelné profily. Můžete nejprve nechat si zobrazit seznam aktuálně dostupných profilů aplikací UFW, takže soustíte:
sudo ufw app list
Měl by se objevit minimálně tento výstup takto:
![](https://samkonba.wz.cz/infusions/news/images/Apache_sudo_list.png)
Každý z těchto profilů znamená:
Apache : Tento profil otevírá pouze port 80(normální, nezašifrovaný webový provoz).
Apache Full : Tento profil otevírá port 80 (normální, nezašifrovaný webový provoz) a port 443 (přenos šifrovaný TLS / SSL).
Apache Secure : Tento profil otevírá pouze port 443(přenos šifrovaný TLS / SSL).
Prozatím je nejlepší povolit pouze připojení na portu 80, protože se jedná o novou instalaci Apache a stále nemáte nakonfigurovaný certifikát TLS / SSL tak, aby umožňoval přenos HTTPS na vašem serveru.
Jak vidíte, aplikace Apache a OpenSSH nainstalovaly profily UFW. Informace o každém profilu a jeho zahrnutých pravidlech můžete vypsat pomocí příkazu ufw app info "Název profilu" .
sudo ufw app info "Apache Full"
![](https://samkonba.wz.cz/infusions/news/images/Apache2_sudo_uwf.png)
4/ Z tohoto kódu (na obrázku) je zřejmé, že „Apache Full“ nám povoluje provozu na portech 80 a 443. To ale není všechno, nyní musíme povolit ještě příchozí přenosy HTTP a HTTPS pro tento Apache profil, což provedeme v Terminálu zadáním dalšího kódu:
sudo ufw allow in "Apache Full"
5/ Změnu následně ověříte:
sudo ufw status
Nyní byste měli v Terminálu vidět něco takového. Porovnejte si to s vaším výstupem:
Provoz na vašem interním portu 80 je nyní povolen pro váš localhost na domácím PC.
Zbýva teď ověřit, zda je vše správně, a to tak, že do URL řádku vašeho browseru/prohlížeče napišete: http://localhost, nebo http://127.0.0.1
Následně se vám musí zobrazit výchozí webová stránka Ubuntu 20.04 Apache, která je určena pro informační a testovací účely:
![](https://nekecamweb.cz/infusions/news/images/Apache in localhost.png)
*****************************************************
INSTALACE MYSQL
1/ Dále je nutné nainstalovat databázový systém MySQL, abyste mohli ukládat a spravovat data pro svůj web. MySQL je světově osvědčený systém pro správu databází používaný v prostředí PHP. I zde použijeme v Terminálu (CTRL+T) příkaz "apt"
sudo apt install mysql-server
Vše po instalaci potom potvrdíte zadáním Y a ENTER.
2/ 6/ Konfigurace MySQL, velmi důležitá část mastavení
Pro naši novou instalaci MySQL musíme bezpodmínečně nastavit bezpečnostní skript DBMS. Zde nastavíme heslo pro přihlášení root (základního uživatele, tedy vás, jako majitele webu) a po případě další vašěe uživatelé. Tudíž vložte do T (terminálu) kód bezpečnostní ho skriptu pomocí sudo.
POZOR, důležitá informace - ve výchozím nastavení je heslo uživatele root MySQL prázdné!
3/ Avšak není příliš chytré používat prázdné heslo pro účet správce databáze, také na localhostu je to nebezpečné. Proto v každém případě server MySQL je dobré a chytré zabezpečit spuštěním následujícím kódem:
sudo mysql_secure_installation
4/ Shora uvedený kód se nás bude ptát na řadu zabezpeřovacích podmínek:
Čtěte pozorně tyto pokyny:
Po otevření skriptu se objeví otázka jestli chcete nastavit součást „Ověření hesla“, nebo ne. Tato součást umožňuje uživatelům konfigurovat silné heslo pro pověření databáze. Pokud je povoleno, automaticky zkontroluje sílu hesla a vynutí, aby uživatelé nastavili pouze ta dostatečně zabezpečená hesla. Pro vaše pověření otevírat databázi MySQL musíte použít silné a jedinečné heslo. Zdůrazňuji, že musí toto heslo mít nejméně 8 znaků a nutnou podmínkou je, že znaky musí obsahovat také nejméně dva alfanumerické znaky!!!
5/ Ten z vás, kdo nechce nastavovat své heslo, jeho sílu a další možnosti, tedy se nezatěžovat dalším složitějším nastavováním v této části, stiskne jinou libovolnou klávesu! Tím pádem další toto nastavování nepovolí.
My však budeme chtít využít nastavení s heslem. V tom případě se musíme držet nastavením tzv. výzev:
A/ První výzva - ověření, a tedy vytvoření hesla. (Stiskněte y | Y pro Ano).-
B/ Druhá výzva se zeptá, zda chcete nastavit Validate Password Plugin, kterým lze otestovat sílu hesla nových uživatelů MySQL, než je považujete za platné. (Stiskněte y | Y pro Ano).
C/ V třetí výzvě se vás systém zeptá na sílu zadavaného hesla. Zadejte nejsilnější úroveň zásad - zadáním č. 2- to pak bude vyžadovat, aby hesla mělo minimálně osm znaků a obsahovala kombinaci velkých, malých písmen, čísel a také nejméně dvou speciálních znaků.
D/ Na otázku zakázat vzdálené přihlášení rootem? (Stiskněte y | Y pro Ano).
E/ Na otázku odebrat anonymní uživatele? (Stiskněte y | Y pro Ano).
To znamená, že root bude povolen pouze k připojení z 'localhost'. Nikdo tak nemůže uhodnout vaše heslo root ze sítě. (Stiskněte y | Y pro Ano).
E/ Na otázku odebrat testovací databázi a přístup k ní? (Stiskněte y | Y pro Ano).
G/ Na otázku opětovné načtení tabulek oprávnění, které zajistí, že se všechny změny
projeví okamžitě. (Stiskněte y | Y pro Ano).
Úspěch. Hhotovo!
POZNÁMKA: Stisknutím klávesnice "Y" a poté ENTER přijmeme shora nastavené výchozí hodnoty pro všechny následující otázky. Tím odstraníte některé anonymní uživatele a testovací databázi, deaktivujete vzdálená přihlášení root a načtete tato nová pravidla, aby MySQL okamžitě respektoval provedené změny. Po tomto uložení a uzavření skriptu bude vaše instalace MySQL zabezpečena. Nyní bychom měli přejít k vytvoření vyhrazeného uživatele databáze pomocí klienta MySQL.
6/ Až nyní přejdeme k vytvoření jedinečného uživatele MySQL (uživatelského účtu roota a jemu předáme jedinečná oprávnění. root (tedy vlastníka webu, hlavního administratora) bude mít plná oprávnění nad serverem MySQL, což znamená, že má úplnou kontrolu nad každou databází, tabulkou a uživatelem (registrovaným hostem).
Vyžádama si náš přístup do mysql:
sudo mysql
Takhle jsme se tedy dostali k serveru MySQL jako uživatel root administrativní databáze. Objevil se tento výstup na Terminálu:
![instalace mysql](https://nekecamweb.cz/infusions/news/images/Instalace_MySQL1.png)
7/ Určitě budete chtít využít databázi MySQLs aplikací PHP pro populární phpMyAdmin, který podporuje vytváření www stránek. V tomto případě se root i další uživatel může autentizovat pomocí staršího, i když stále zabezpečeného mysql_native_passwordpluginu. A to tímto příkazem v Terminálu:
create user 'Vaše uživatel. jméno'@'localhost' identified width
mysql_native_password by 'Vaše heslo';
POZNÁNKA: Samozřejmě použijete vaše uživatel. jméno a heslo, které jste zadávali shora při vytvoření MySQL
8/ Na závěr je třeba spustit FLUSH PRIVILEGES kód příkazu. Dojde k uvolnění celé paměťp, kterou server uložil do mezipaměti v důsledku předchozích realizovaných výzev CREATE USER a rovněž případných GRANTpříkazů, které zde však pro jednoduchost neuvádím. V T uložte a potrďte.
flush privileges;
Klienta MySQL ukončete v otevřeném Terminálu napsáním:
exit
9/ Abychom měli jistotu, že všechno v instalaci MySQL je OK, provedeme její testování - kontrolu. V každém případě by se tato aplikace měla spustit automaticky. Měli bychom pak vidět následující výstup. Zelená barva značení ukazuje, že je služba funkční. Výborně!!Ověříme to kódem v T:
systemctl status mysql.service
![](https://nekecamweb.cz/infusions/news/images/MySQL_runing_ok.png)
10/ V případě, že MySQL vám nenastartuje, otevřete jej příkazem v T:
sudo systemctl start mysql
11/ Ještě doporučuji druhou kontrolu-test. Připojit se k databázi pomocí mysqladmin nástroje, Slouží pro spouštění administrativních příkazů. Napříkl v následující ukázce se připojujete jako uživatel MySQL s názvem Kvido ( ), vyzvat k zadání hesla ( ) a vrátit verzi. Takže po zobrazení výzvy zadejte samozřejmě heslo:-u, které jste určili při instalaci mySQL v prvotním nastavení..
sudo mysqladmin -p -u Kvido version
Objeví se vám podobný výstup jako v naší ukázce:
![](https://nekecamweb.cz/infusions/news/images/mysqladmin_kontrola_heslo.png)
Tento zápis říká, že To znamená, že MySQL je plně funkční. Gratuluji!
12/ V této fázi instalace nezapomeňte na nastavení DirectoryIndexo Apache! Toto systémové nastavení totiž upřednostňuje zkráceně řečeno otevírání na webu základního souboru "index.html" (uložení zpráv pro návštěvníky při údržbě apod.). Ny však pro drtivou většinu otevírání webů pracujeme se základním souborem "index.php". Musíme proto nutně přikročit k úpravě. Z tohoto důvodu provedeme v základním adresáři disku "C" /etc/apache2/mods-enabled/dir.conf soubor změnu pořadí, ve kterém je index.php soubor uveden v rámci DirectoryIndexsměrnice: V terminálu otevřeme:
sudo gedit /etc/apache2/mods-enabled/dir.conf
Takže v tomto otevřeném souboru "dir.conf" (pomocí editeru gedit nebo nano) editujeme/změníme pořadí souborů podle následujicího vzoru:
![](https://nekecamweb.cz/infusions/news/images/Apache_dir.conf.png)
13/ V našem editoru poté změny uložíme a soubor zavřeme/ukončíme. Následně Apache2 znovu načteme dalším kódem, aby se změny projevily:
sudo systemctl reload apache2
****************************************************
Instalace PHP
Takže nyní již máme dokončenou instalaci Apache2 pro poskytnutí obsahu vašeho webu a dále MySQL pro ukládání a správu vašich dat. Nyní půjdeme na instalaci PHP, a to pro nastavení, která zpracuje kód tak, aby zobrazoval dynamický obsah konečnému uživateli. Mimo php budeme ale muset doinstalovat také php-mysqlmodul PHP. Ten je rovněž důležitý protože nám poskytuje spolupráci s databázemi, založenými na MySQL. To znamená, že je bezpodmínečně nutné libapache2-mod-php povolit pro komunikaci s Apache, aby došlo ke zpracování souborů PHP. Nainstalujeme proto základní balíčky PHP, který se automaticky postará také o nainstalování všech potřebných závislosti.
1/ Pro instalaci php 7.4 Ubuntu 20.04 spustíme v Terminálu:
apt update
sudo apt install php7.4
9/ Poté si necháme potvrdit verzi PHP tímto příkazem v Terminálu:
php -v
10/ Nyní si ověříme také funkci PHP. K tomu je třeba vytvořit soubor info.php v kořenové složce dokumentu Apache2. Ve většině distribucí systému Linux založených na Debianu bude kořenová složka dokumentů apache obvykle automaticky vytvořena ve tvaru: /var/www/html/ nebo /var/www/ . V Linux/Ubuntu 20.04 LTS a dalších vyšších verzích, je to /var/www/html /.
![](https://nekecamweb.cz/infusions/news/images/Počítač_war_www.png)
![](https://nekecamweb.cz/infusions/news/images/Počítač_www_html.png)
Galerie
Kategorie novinek
- Ke stažení
- Hry
- Grafika
- Hardware
- Členové
- Modifikace
- PHP-Fusion
- Bezpečnost
- Software
- Vzhledy
- Windows
- HTML
- coding
- basketbal
- počítače
- Chyby
- Členové
- Síť
- PHPFusion
- Bezpečnost
- Software
- Vzhledy
- Windows
- Chyby
- Ke stažení
- Hry
- Grafika
- Hardware
- Časopis
- Členové
- Modifikace
- Síť
- Zprávy
- PHPFusion
- Bezpečnost
- Software
- Vzhledy
- Windows
- Chyby
- Ke stažení
- Hry
- Grafika
- Hardware
- Časopis
- Členové
- Modifikace
- Síť
- Zprávy
- PHPFusion
- Bezpečnost
- Software
- Vzhledy
- Windows
- Chyby
- Ke stažení
- Hry
- Grafika
- Hardware
- Časopis
- Členové
- Modifikace
- Síť
- Zprávy
- PHPFusion
- Bezpečnost
- Software
- Vzhledy
- Windows
- Nekategorizováno
Žádné komentáře nebyly zveřejněny.