Abychom “ rozjeli ” nějaký ten redakční systém a mohli jsme si náš malý webserver ještě více užít , přidáme si do něj dnes dvě důležité komponenty - PHP a MySQL . Ve finále si pak budeme můžeme na Raspberry zřídit třeba malinový blog.
4.9.2012 09:00 | Petr Horáček | přečteno 17801×
V minulém díle seriálu jsme si na Raspberry Pi nainstalovali webový server lighttpd a zprovoznili na něm přenos souborů pomocí FTP. V dnešním díle si tento server rozšíříme o podporu PHP a databázový systém MySQL.
Od předchozí textu také vyšel nový operační systém, vycházející z předchozího Debianu - Raspbian. Nejedná se již o testovací, ale plnou verzi, je skvěle vybavený, plně zde funguje průvodce nastavením a snad je i rychlejší. Stáhnout jej můžete opět z oficiálních stránek Raspberry. Co se týče našeho seriálu, v minulém díle se na postupu nic nemění, snad jen že spuštění SSH lze uskutečnit ze zmíněného průvodce.
Ještě než budeme pokračovat, pokud jste zrovna nainstalovali FTP a webový server, restartujte prosím Raspberry.
sudo shutdown -r now
Pro komunikaci mezi lighttpd serverem a PHP slouží interpret FastCGI. Získáte jej z balíčku php5-cgi. Navíc nainstalujeme i balíček php5-gd.
sudo apt-get install php5-cgi php5-gd
Dále je třeba nakonfigurovat web server pro PHP, editujeme tedy konfigurační soubor lighttpd.
sudo nano /etc/lighttpd/lighttpd.conf
Do části se servrovými moduly přidáme nový řádek pro modul fastcgi a odkomentujeme mod_rewrite, odstraněním dvojité mřížky.
server.modules = ( "mod_access", "mod_alias", "mod_compress", "mod_redirect", "mod_fastcgi", "mod_rewrite", )
Poté ještě na konec souboru přidáme následující kód:
fastcgi.server += ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/tmp/php.socket", "max-procs" => 1, "bin-environment" => ( "PHP_FCGI_CHILDREN" => "4", "PHP_FCGI_MAX_REQUESTS" => "1000" ), "bin-copy-environment" => ( "PATH", "SHELL", "USER" ), "broken-scriptfilename" => "enable" )) )
Soubor zavřeme Ctrl+X a potvrdíme změny k uložení.
Teď již stačí jen web server restartovat.
sudo service lighttpd restart
Pro vyzkoušení funkčnosti můžeme použít jednoduchý skript. Ve složce /var/www tedy vytvoříme soubor test.php,
sudo pico /var/www/test.php
zapíšeme do něj kód, který nám vypíše informaci o stavu PHP na serveru.
<?php phpinfo(); ?>
Soubor zavřeme Ctrl+X a potvrdíme změny v souboru. Nyní už se stačí v prohlížeči připojit na adresu http://<adresa_vaseho_serveru>/test.php .
Pro použití MySQL je třeba si nainstalovat balíčky mysql-server, mysql-client, php5-mysql.
sudo apt-get install mysql-server mysql-client php5-mysql
V průběhu instalace budete požádáni o vytvoření administrátorského hesla pro databáze, toto heslo si zapamatujte, bude určitě potřeba.
Funkčnost databáze si můžeme ověřit přihlášením se.
mysql -u root -p<heslo_db>
Když už budeme přihlášeni, můžeme vytvořit novou databázi, pro další použití.
mysql >CREATE DATABASE databaze;
Abychom zbytečně nepřistupovali do databáze z rootovského profilu, vytvoříme nového uživatele a databázi mu svěříme.
mysql > GRANT ALL ON databaze.* TO uzivatel@localhost IDENTIFIED BY 'heslo';
Z ovládání databáze se můžeme dostat stisknutím zkratky Ctrl+C.
Pokud vám práce s databázi skrz konzoli nevyhovuje, můžete využít webového grafického prostředí phpMyAdmin. Díky němu můžete pohodlně spravovat uživatele, databáze, přístupová práva a provádět další manipulace s vaší databází. Aplikaci získáte z repozitářů instalací balíčku phpmyadmin.
sudo apt-get install phpmyadmin
V průběhu instalace budete vyzvání k výběru web serveru, pomocí mezerníku tedy označte lighttpd. V dalším kroku můžete odsouhlasit automatickou konfiguraci a u konce instalace vyplňte hesla pro aplikaci a přístup k MySQL.
Nyní už jen stačí restartovat webový a MySQL server.
sudo /etc/init.d/lighttpd force-reload sudo /etc/init.d/mysql force-reload
Po instalaci se můžete do phpMyAdmina přihlásit na adrese http://<adresa_raspberry>/phpmyadmin .
Instalaci máme za sebou, teď stačí už jen nahrát některý z redakčních systému na Raspberry a kochat se svým vlastním serverem. Wordpress je poměrně náročný a tak nijak zvlášť “nešvihá”. Můžete ale použít například český redakční systém MyPage , který nepotřebuje databázi a je poměrně rychlý, na druhou stranu ale nedisponuje tolika funkcemi jako Wordpress.