Raspberry PI - LAMP

02.10.2022 Raspberry Pi #raspberrypi #lamp #php #mysql

V tomto článku je uvedeno, jak nainstalovat server LAMP ( L inux, A pache, MySQL , P HP) na Raspberry Pi. LAMP je softwarový balík, který se používá pro vývoj webových aplikací. Raspberry Pi s nainstalovaným Raspbian OS pro snadnou správu databáze bude využívat webové rozhraní phpMyAdmin.


Aktualizace a upgrade

Před zahájením instalační procedury otevřete okno terminálu a spusťte následující příkazy pro aktualizaci vašeho Pi:

pi@raspberrypi:~ $ sudo apt update && sudo apt upgrade -y

Instalace Apache2

Apache2 je nejrozšířenější software pro webový server. Stručně řečeno, webový server je software, který zpracovává požadavky na přístup k webové stránce. Poté, v závislosti na požadované stránce, server vygeneruje dokument, který vám bude zobrazen ( .html , .php atd.).

Přehled Apache2 na serveru Raspberry Pi LAMP Server

Chcete-li nainstalovat Apache2 na Raspberry Pi, spusťte následující příkaz:

pi@raspberrypi:~ $ sudo apt install apache2 -y

0-raspberry-pi-install-apache2 

A je to! Apache je nyní nainstalován. Chcete-li instalaci otestovat, přejděte na adresář /var/www/html a vypište seznam souborů:

pi@raspberrypi:~ $ cd /var/www/html
pi@raspberrypi:/var/www/html $ ls -al
index.html

V této složce byste měli mít soubor index.html. Chcete-li tuto stránku otevřít ve svém prohlížeči, musíte znát IP adresu Raspberry Pi. Použití:

pi@raspberrypi:/var/www/html $ hostname -I

1-raspberry-pi-change-directory-rpi-ip-address 

V našm případě je IP adresa Raspberry Pi 192.168.1.86. Pokud otevřete svou IP adresu RPi v libovolném prohlížeči ve vaší místní síti, měla by se načíst podobná webová stránka (http://192.168.1.86 :

2-raspberry-pi-apache2-installed 

Instalace PHP

PHP je skriptovací jazyk na straně serveru. PHP ( Hypertext Pre p prossor se používá k vývoji dynamických webových aplikací. Soubor PHP obsahuje tagy a končí příponou „.php “.

Chcete-li nainstalovat PHP na Raspberry Pi, spusťte:

pi@raspberrypi:/var/www/html $ sudo apt install php -y

Můžete odstranit index.html a vytvořit PHP skript pro testování instalace:

pi@raspberrypi:/var/www/html $ sudo rm index.html
pi@raspberrypi:/var/www/html $ sudo nano index.php

Do svého souboru index.php přidejte následující kód, aby se zobrazí zpráva „ahoj světe“:

<?php echo "hello world"; ?>

3-raspberry-pi-create-php-test-file-hello-world 

Chcete-li soubor uložit: stiskněte Ctrl+X, poté y a stisknutím klávesy Enter ukončete.

Nakonec restartujte Apache2:

pi@raspberrypi:/var/www/html $ sudo service apache2 restart

Chcete-li otestovat, zda Apache2 obsluhuje soubory .php, otevřete IP adresu Raspberry Pi a měla by se zobrazit zpráva „ahoj světe“ ze skriptu index.php vytvořeného dříve.

4-raspberry-pi-test-php-file-hello-world-message-web-browser 

Pokud vše funguje, můžete odstranit soubor index.php z/var/www/htmladresář:

pi@raspberrypi:/var/www/html $ sudo rm index.php

Instalace MySQL (MariaDB Server)

MySQL (často vyslovováno jako My S – Q – L ) je populární open source relační databáze.

Nainstalujte balíčky MySQL Server (MariaDB Server) a PHP-MySQL zadáním následujícího příkazu:

pi@raspberrypi:/var/www/html $ sudo apt install mariadb-server php-mysql -y
pi@raspberrypi:/var/www/html $ sudo service apache2 restart

Po instalaci MySQL (MariaDB Server) se doporučuje spustit tento příkaz pro zabezpečení instalace MySQL:

pi@raspberrypi:/var/www/html $ sudo mysql_secure_installation

Toto by se mělo objevit v okně terminálu:

5-raspberry-pi-mysql-mariadb-install-secure-installation 

  • Budete požádáni Zadejte aktuální heslo pro root (zadejte bezpečné heslo): stiskněte Enter.
  • Zadejte Y a stisknutím klávesy Enter nastavte heslo uživatele root.
  • Do výzvy New password: zadejte heslo a stiskněte klávesu Enter. Důležité: zapamatujte si toto heslo root, protože ho budete později potřebovat.
  • Chcete-li odebrat anonymní uživatele, zadejte Y.
  • Chcete-li vzdálené přihlášení roota zakázat, zadejte Y.
  • Zadejte Y pro odebrání testovací databáze a přístup k ní.
  • Chcete-li znovu načíst tabulky oprávnění, zadejte Y.

Po dokončení instalace se zobrazí zpráva: „Děkujeme, že používáte MariaDB!“.

6-raspberry-pi-mysql-database-mariadb-final-secure-installation 

Pokud zaznamenáte nějakou chybu při přihlašování do phpMyAdmin, možná budete muset vytvořit nového uživatele pro přihlášení. Tyto příkazy vytvoří nového uživatele se jménem (admin) a heslem (vaše_heslo).

pi@raspberrypi:/var/www/html $ sudo mysql --user=root --password
> create user admin@localhost identified by 'your_password';
> grant all privileges on *.* to admin@localhost;
> FLUSH PRIVILEGES;
> exit;

Někdy se musí resetovat heslo uživatele root, aby vše funguovalo a to zejména s phpMyAdminem. V konzole mysql stačí zadat následující příkazy:

DROP USER root@localhost;
CREATE USER root@localhost IDENTIFIED BY 'root_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;`

Instalace phpMyAdmin

phpMyAdmin je bezplatný softwarový nástroj napsaný v PHP, určený ke správě MySQL pomocí webového rozhraní.

Chcete-li nainstalovat phpMyAdmin na Raspberry Pi, zadejte do terminálu následující příkaz:

pi@raspberrypi:/var/www/html $ sudo apt install phpmyadmin -y

Instalační program PHPMyAdmin vám položí několik otázek. Použijeme dbconfig-common.

  • Po zobrazení výzvy vyberte Apache2 a stiskněte klávesu Enter
  • Konfigurace phpmyadmin ? OK
  • Nakonfigurujte databázi pro phpmyadmin pomocí dbconfig-common ? Ano
  • Zadejte své heslo a stiskněte OK

7-raspberry-pi-install-phpmyadmin 

Povolte rozšíření PHP MySQLi a restartujte Apache2, aby se změny projevily:

pi@raspberrypi:/var/www/html $ sudo phpenmod mysqli
pi@raspberrypi:/var/www/html $ sudo service apache2 restart

Když přejdete na svou IP adresu RPi následovanou /phpmyadmin (v mém případě http://192.168.1.86/phpmyadmin), pravděpodobně se vám ve vašem prohlížeči zobrazí chybová stránka „Nenalezeno“:

9-failed-to-open-phpmyadmin-raspberry-pi 

Pokud je tomu tak, budete muset přesunout složku phpmyadmin do /var/www/html, spusťte následující příkaz:

pi@raspberrypi:/var/www/html $ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Nyní, pokud vypíšete soubory, mělo by to vrátit složku phpmyadmin:

pi@raspberrypi:/var/www/html $ ls
phpmyadmin

8-raspberry-pi-move-phpmyadmin 

Znovu načtěte svou webovou stránku (http://192.168.1.86/phpmyadmin), měla by se vám zobrazit přihlašovací stránka webového rozhraní phpMyAdmin::

9-failed-to-open-phpmyadmin-raspberry-pi 

Zadejte vámi definované uživatelské jméno (mělo by to být Username = root ) a heslo, které jste definovali během instalace.

A je to! Vaše deska Raspberry Pi je připravena se serverem LAMP: Apache2, MySQL, PHP. Také jsme se rozhodli zahrnout do této instalace phpMyAdmin pro snadnější správu databáze přes webové rozhraní.

Volitelný krok (ale doporučeno)

Chcete-li spravovat své webové stránky, měli byste změnit oprávnění pro své/var/www/html/složku. Chcete-li to provést, spusťte následující příkazy:

pi@raspberrypi:~ $ ls -lh /var/www/
pi@raspberrypi:~ $ sudo chown -R pi:www-data /var/www/html/
pi@raspberrypi:~ $ sudo chmod -R 770 /var/www/html/
pi@raspberrypi:~ $ ls -lh /var/www/

Po spuštění těchto příkazů uvidíte něco následujícího:

Raspberry-Pi změnit var www html složku

Odinstalování PHP

sudo apt-get purge php.*

Odinstalování Apache

sudo service apache2 stop
sudo apt-get remove apache2*
sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
sudo apt-get autoremove

Odinstalování phpMYAdmin

sudo apt-get purge phpmyadmin

Literatura:

Visualize Your Sensor Readings from Anywhere in the World (ESP32/ESP8266 + MySQL + PHP). Random Nerd Tutorials [online]. RandomNerdTutorials.com, 2022 [cit. 2022-09-28]. Dostupné z: https://randomnerdtutorials.com/visualize-esp32-esp8266-sensor-readings-from-anywhere/