Sestavení webového serveru LAMP na Raspberry Pi pomocí PHPMyAdmin a Filezilla

UPOZORNĚNÍ Nedoporučujeme nikomu, aby se pokoušel provozovat veřejně přístupné webové stránky na Raspberry Pi, nebo dokonce na jakémkoli domácím/kancelářském serveru. Nepokoušeli jsme se webový server zabezpečit, protože to pro náš projekt nebyl problém. Než by bylo možné server vystavit na internetu, bylo by nutné provést další výzkum s cílem posílit stack LAMP.

Instalace systému Linux

  • Instalace operačního systému Raspbian (založeného na Debian Linux)
  • Pomocí uživatelského rozhraní nastavte přihlašovací heslo a zakažte automatické přihlašování
  • Pomocí uživatelského rozhraní nastavte pevnou IP adresu a vlastní název hostitele
  • Restartujte počítač a přihlaste se pomocí nového hesla
  • Aktualizujte pomocí sudo apt-get update a sudo apt-get dist-upgrade (vhodná chvíle jít si udělat šálek čaje, protože to chvíli trvá)
  • Ještě poslední restart, protože jedna nebo více aktualizací to bude určitě vyžadovat

Instalace Apache

sudo apt-get install apache2 -y

Testujte lokálně pomocí otevřete webový prohlížeč počítače Pi a navštivte http://localhost/ a případně otestujte také prostřednictvím počítače připojeného k síti návštěvou http://your-pi’s-ip-address

Soubory budou uloženy ve složce /var/www/html/ – pro usnadnění života jsem všem uživatelům udělil přístup k zápisu do této složky:

sudo chmod -R 777 /var/www/html

Zda to fungovalo, zjistíme, až v dalším kroku otestujeme PHP.

Instalace PHP

sudo apt-get install php libapache2-mod-php -y

Soubor PHP můžete otestovat tak, že výchozí soubor index.html nahradíte souborem index.php (navrhněte, aby obsahoval phpinfo();) v adresáři /var/www/html – pokud zjistíte, že v tomto adresáři nemůžete mazat, vytvářet ani upravovat soubory, pak dvakrát zkontrolujte, zda jste nastavili oprávnění v předchozím kroku

TIP Zatím byl tento postup spolehlivý, ale zjistil jsem, že správné nastavení MySQL a jeho uživatelů je poněkud procesem pokus-omyl. Trvalo několik pokusů, než jsem dospěl k níže uvedenému systému – který nemusí být pro vás správný nebo bude správný ještě v době, kdy budete číst tento článek. Možná je vhodná chvíle vytvořit si obraz karty SD počítače Pi, abyste mohli experimentovat a v případě potřeby se k tomuto kroku rychle vrátit.

Instalace serveru MySQL

sudo apt-get install mysql-server php-mysql -y

Instalace se již neptá na heslo roota, místo toho je třeba spustit

sudo mysql_secure_installation

a odpovědět na několik otázek. Nezapomeňte, že zde máme co do činění s kořenovým uživatelem MySQL, NE s kořenovým uživatelem Linuxu, takže můžete použít různá hesla, pokud chcete – jen si to dobře zapište.

Restartujte Apache:

sudo service apache2 restart

Nyní se po výzvě zkuste přihlásit k MySQL jako nový kořenový uživatel zadáním hesla, které jste právě nastavili:

mysql -u root -p

Pokud vám bude přístup odepřen, budete muset provést následující další kroky.

Nejprve se pomocí sudo přihlaste do MySQL:

sudo mysql -u root

Přistupte k tabulce MySQL:

 USE mysql;

A nyní ta kouzelná část:

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

tedy

FLUSH PRIVILEGES;

teď

quit

a

service mysql restart

poté se zkuste znovu přihlásit výše uvedeným způsobem – tj. bez použití sudo. Pokud se nemůžete přihlásit, začněte googlovat – nepokračujte dál, dokud nerozlousknete tento krok.

Instalace PHPMyAdmin (nepovinné)

Nemusíte to vyžadovat, ale pro svůj projekt jsem se rozhodl nainstalovat grafické rozhraní pro správu MySQL, které znám nejlépe – PHPMyAdmin.

sudo apt-get install phpmyadmin

(Potvrďte, že chcete pokračovat, vyberte server apache2, klikněte na ano pro konfiguraci balíčku, PŘEDLOŽTE HESLO a zapište ho. Pokud necháte heslo prázdné, vytvoří vám náhodné, ale pokud vím, nikdy vám neřekne, jaké to je!

Upravte soubor /etc/apache2/apache2.conf přidáním řádku

include /etc/phpmyadmin/apache.conf

na konec souboru.

Restartujte Apache:

sudo /etc/init.d/apache2 restart

Testujte tak, že navštívíte http://localhost/phpmyadmin a přihlásíte se pod uživatelským jménem phpmyadmin a heslem, které jste zadali při konfiguraci.

Instalace FTP klienta Filezilla (nepovinné)

Existuje mnoho způsobů, jak zvládnout FTP, ale já jsem se rozhodl držet toho, co znám, a nainstalovat Filezillu:

sudo apt-get install filezilla

Nejdůležitější krok!

Jakmile jste spokojeni, že vše funguje, nezapomeňte vytvořit obraz karty SD, abyste mohli rychle obnovit případné problémy. Karty SD nejsou příliš odolné ani nemají dlouhou životnost, takže počítejte s tím, že může dojít k poruše, a podle toho to naplánujte. Budete si za to děkovat!

Závěr

S výjimkou instalace MySQL je celý proces neuvěřitelně rychlý a snadný. Výsledný server je spolehlivý a více než schopný provozovat nástroj pro správu založený na systému WordPress, který jsme chtěli zavést. Webový server založený na počítači Pi nyní stojí vedle našeho disku NAS založeného na počítači Pi a my přemýšlíme, co postavíme příště!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.