Jak nainstalovat webový server na Raspberry Pi (Apache + PHP + MySQL)
ⓘ Tento článek mohl být částečně nebo úplně přeložen pomocí automatických nástrojů. Omlouváme se za případné chyby, které tím mohou vzniknout.
Po vytvoření SD karty a po prvním spuštění Raspberry Pi je velká pravděpodobnost, že jej budete chtít použít jako webový server.
Proč Raspberry Pi jako webový server ?
Proč ale používat Raspberry Pi jako webový server, místo abyste využili služeb poskytovatelů specializovaných na webhosting?
V první řadě byste z ekonomického hlediska měli vědět, že webhostingové služby nejsou zdarma a že za ně musíte každý měsíc / rok platit. Na rozdíl od Raspberry, kteří potřebují pouze připojení.
Kromě toho, výběrem Raspberry, máte možnost upravit své služby, jak chcete (příklady: velikost disku, hostování Databáze, atd.), což obecně není případ specializovaných hostitelů , Které často prodávají sdílený hosting s nízkou kapacitou konfigurace.
Chcete-li však podporovat více uživatelů, měli byste použít Raspberry Pi 3 (Pi 3 najdete zde), Raspberry Pi s 1 GB RAM, spíše než Raspberry typu B+ (512 MB RAM)
Otázka, která nyní vyvstává, je, jak vytvořit webový server na Raspeberry Pi ?Installation du serveur Apache avec Raspbian
Co je to Apache?
Nejprve nainstalujeme Apache, což je webový server jako takový.
Když mluvíme o webovém serveru, máme často na mysli stroj, ale tento pojem se vztahuje také na software, který umožňuje stroji analyzovat požadavky uživatele (ve formě http) a vrátit soubor odpovídající požadavku (Nebo chybu, pokud soubor není nalezen nebo je dotaz špatně formulován).
Jako součást Apache je to software, o kterém mluvíme.
V současné době je Apache nejpoužívanějším webovým serverem s přibližně 60% podílem na trhu. Apache má vlastní licenci, kterou používá mnoho dalších projektů. Masové používání Apache (který se stal standardem pro webové servery) spolu s jeho vysokou popularitou navíc vedlo k obrovskému množství dokumentace, kurzů a dalších knih zabývajících se jeho používáním a jeho zabezpečením, jako je tato kniha.
Ať už je určen pro Raspberry Pi a Raspbian, nebo pro univerzálnější stroj, Apache je tedy bezpečnou volbou a dovednosti, které na toto téma získáte, se vám budou vždy hodit.
Instalace Apache
Před instalací serveru se ujistěte, že máme k dispozici aktuální stroj. K tomu musíme mít administrátorská práva, ať už kvůli příkazu sudo.
sudo apt updatesudo apt upgradesudo apt update
Jakmile bude Raspberry Pi aktuální, nainstalujeme server Apache.
sudo apt install apache2
Mimochodem, využijeme toho k přidělení práv k souboru apache, který můžete snadno spravovat své stránky. Za tímto účelem spusťte následující příkazy:
sudo chown -R pi:www-data /var/www/html/sudo chmod -R 770 /var/www/html/
Zkontrolujte, zda Apache funguje
Po dokončení instalace můžeme otestovat, zda Apache funguje správně, a to tak, že přejdeme na adresu Raspberry.
K tomu je třeba vyzkoušet přístup na Raspberry z portu 80 (tento port není otevřen zvenčí, to bude muset udělat od Raspberry sám). Nebojte se, je to velmi snadné. Stačí otevřít webový prohlížeč Raspberry a přejít na „http://127.0.0.1“. Poté by se vám měla zobrazit stránka se zprávou typu „Funguje to! “ A spoustou dalšího textu.
Pokud na svém Raspbianu ještě nemáte grafické uživatelské rozhraní nebo pro připojení k Raspberry používáte SSH, můžete použít následující příkaz:
wget -O check_apache.html http://127.0.0.1
Tento příkaz uloží HTML kód stránky do souboru „check_apache.html“ v aktuálním adresáři.
Takže stačí soubor přečíst příkazem
cat ./check_apache.html
Pokud uvidíte na některém místě v kódu označené „Funguje! „, znamená to, že Apache funguje.
Apache používá adresář „/var/www/html“ jako kořenový adresář pro vaše stránky. To znamená, že při volání vašeho Raspberry na port 80 (http) bude Apache hledat soubor v adresáři „/var/www/html“.
Pokud například zavoláte na adresu „http://127.0.0.1/example“, bude Apache hledat soubor „example“ v adresáři „/var/www/html“.
Chcete-li přidat nové soubory, stránky atd, budete je muset přidat do tohoto adresáře.
Nyní můžete pomocí Raspberry vytvořit stránky v HTML, CSS a JavaScriptu, interně.
Možná však budete chtít rychle umožnit interakci mezi stránkou a uživatelem. Například umožnit uživateli registraci atd. K tomu budete potřebovat jazyk PHP.
Instalace PHP na Raspberry Pi
Co je to PHP?
V první řadě byste měli vědět, že PHP je interpretovaný jazyk. A stejně jako v případě serverů může mít zkratka PHP několik významů. Ve skutečnosti, když mluvíme o PHP, můžeme mluvit buď o jazyku, nebo o interpretu.
Když mluvíme o instalaci PHP, znamená to, že nainstalujeme interpret, abychom mohli jazyk používat.
PHP (tentokrát jazyk) se používá hlavně k tomu, aby byly stránky dynamické, to znamená, že uživatel posílá informace serveru, který podle těchto informací vrací upravené výsledky. Naopak statický web se informacím poskytnutým uživatelem nepřizpůsobuje. Je uložen jako soubor jednou provždy a bude vždy poskytovat stejný obsah.
PHP je zdarma a spravuje ho nadace PHP Foundation, stejně jako Zend Enterprise a různé další společnosti (je třeba poznamenat, že Zend je také autorem slavného frameworku Zend PHP, široce používaného a uznávaného ve světě “ podnikání).
Jedná se o jeden z nejrozšířenějších programovacích jazyků, a dokonce je nejpoužívanějším pro programování webových stránek, s přibližně 79% podílem na trhu.
Znovu připomínám, že všechny dovednosti, které můžete získat, týkající se jazyka nebo instalace a konfigurace interpretu, se vám budou vždy hodit. Proto vám můžeme jen doporučit, abyste se naučili PHP, které je opravdu nádherným jazykem a příliš často podceňovaným.
Jak nainstalovat PHP
Pro instalaci PHP opět využijeme správce příkazového řádku.
sudo apt install php php-mbstring
Kontrola, zda PHP funguje
Zjistit, zda PHP funguje správně, není příliš složité a postup je dost podobný tomu, který se používá pro Apache.
Nejprve smažete soubor „index.html“ v adresáři „/var/www/html“.
sudo rm /var/www/html/index.html
Poté v tomto adresáři vytvoříte soubor „index.php“ pomocí tohoto příkazového řádku
echo "<?php phpinfo ();?>" > /var/www/html/index.php
Odtud je postup stejný jako při kontrole Apache. Zkusíte přistoupit na svou stránku a měli byste mít výsledek blízký tomuto obrázku (pokud nemáte rozhraní, použijte stejný postup jako předtím a hledejte slova „PHP Version“).
Tabulka vygenerovaná příkazem phpinfo na Raspberry.
Databáze MySQL pro váš server
DBMS co to je ? Proč MySQL ?
Teď, když jsme nastavili PHP, budete pravděpodobně chtít ukládat informace pro použití na svých stránkách. K tomuto účelu se nejčastěji používají databáze.
Nastavíme si proto DBMS (Database Management System), konkrétně MySQL.
MySQL je bezplatný, výkonný a masově používaný DBMS (asi 56% podíl na trhu bezplatných DBMS). I zde platí, že MySQL je pro vývoj, ať už v jakémkoli jazyce, natolik zásadní, že se ji bezpodmínečně musíte naučit a zvládnout, například s pomocí této knihy.
Jak nainstalovat MySQL
K tomu si nainstalujeme mariadb-server a php-mysql (který bude sloužit jako propojení mezi php a mysql)
sudo apt install mariadb-server php-mysql
Ověřte, že MySQL funguje správně
Pro kontrolu fungování MySQL tentokrát použijeme pouze příkazový řádek. K tomu se jednoduše připojíme pomocí příkazu:
sudo mysql --user=root
Nezrušíme výchozího uživatele mysql root a vytvoříme nového uživatele mysql root, protože výchozího lze použít pouze s účtem root v Linuxu, a tak není k dispozici pro webserver a php skripty.
Chcete-li tak učinit, po připojení k MySQL jednoduše spusťte tyto příkazy (nahraďte password
požadovaným heslem) :
DROP USER 'root'@'localhost';CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
Takže nyní máte webový server, připojený k PHP a MySQL. To je vše, co je potřeba.
(Při dalších připojeních se budete moci připojit k mysql bez použití sudo, příkazem mysql --user=root --password=yourmysqlpassword
).
Přidejte PHPMyAdmin
Instalace PHPMyAdmin není absolutně nutná. Při této instalaci se nebudeme starat o žádná speciální bezpečnostní nastavení !
Instalace PHPMyAdmin je poměrně rychlá a snadná, stačí použít správce paketů s tímto příkazem :
sudo apt install phpmyadmin
Instalační program PHPMyAdmin vám položí několik otázek. Ohledně části dbconfig-common
zvolte, že ji nechcete použít (protože jsme již nakonfigurovali naši databázi). Ohledně serveru, pro který má být PHPMyAdmin nakonfigurován, zvolte Apache. A heslo roota je to, které jste nastavili pro MySQL.
Měli byste také povolit rozšíření mysqli pomocí výše uvedeného příkazu :
sudo phpenmod mysqlisudo /etc/init.d/apache2 restart
Zkontrolujte, zda PHPMyAdmin funguje správně
Pro kontrolu, zda PHPMyAdmin funguje, se k němu jednoduše pokusíte přistoupit, a to pomocí adresy vašeho Raspberry a následného /phpmyadmin. Lokálně to bude například http://127.0.0.1/phpmyadmin
Pokud se přesto objeví chyba, může to být způsobeno tím, že se PHPMyAdmin přesunul do jiného adresáře. V takovém případě zkuste příkaz
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Nyní můžeme k PHPMyAdmin přistupovat z prohlížeče Raspberry Pi pomocí url : http://127.0.0.1/phpmyadmin
Zpřístupnění serveru z webu
Váš webový server je připraven. Pravděpodobně však k němu nelze přistupovat z internetu. Bylo by totiž nutné, aby váš modem přesměroval požadavky na vaše Raspberry, na dobré porty.
Chcete-li tato přesměrování zavést a dokonce získat URL, měli byste se podívat na DynDNS a přesměrování portů !