Lighttpd je bezpečný, rychlý webový server vyhovující standardům určený pro prostředí s kritickou rychlostí. Tento tutoriál ukazuje, jak můžete nainstalovat Lighttpd na server Debian Wheezy s podporou PHP5 (prostřednictvím PHP-FPM) a podporou MySQL. PHP-FPM (FastCGI Process Manager) je alternativní implementace PHP FastCGI s některými dalšími funkcemi užitečnými pro weby jakékoli velikosti, zejména pro rušnější weby. V tomto tutoriálu používám PHP-FPM místo spawn-fcgi Lighttpd.
Neposkytuji žádnou záruku, že to pro vás bude fungovat!
1 předběžná poznámka
V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.0.100. Tato nastavení se pro vás mohou lišit, takže je v případě potřeby musíte nahradit.
2 Instalace MySQL 5
Nejprve nainstalujeme MySQL 5 takto:
apt-get install mysql-server mysql-client
Budete požádáni o zadání hesla pro uživatele root MySQL – toto heslo je platné pro uživatele [chráněno e-mailem] i [chráněno e-mailem], takže později nemusíme heslo root MySQL zadávat ručně:
Nové heslo pro uživatele "root" MySQL:<-- yourrootsqlpassword
Opakujte heslo pro uživatele "root" MySQL:<-- yourrootsqlpassword
3 Instalace Lighttpd
Lighttpd je dostupný jako balíček Debianu, takže jej můžeme nainstalovat takto:
apt-get install lighttpd
Nyní nasměrujte svůj prohlížeč na http://192.168.0.100/index.lighttpd.html a měli byste vidět zástupnou stránku Lighttpd:
Výchozí kořen dokumentu Lighttpd je /var/www na Debianu a konfigurační soubor je /etc/lighttpd/lighttpd.conf. Další konfigurace jsou uloženy v souborech v adresáři /etc/lighttpd/conf-available - tyto konfigurace lze povolit pomocí příkazu lighttpd-enable-mod, který vytvoří symbolický odkaz z adresáře /etc/lighttpd/conf-enabled na příslušnou konfiguraci soubor v /etc/lighttpd/conf-available. Konfigurace můžete zakázat pomocí příkazu lighttpd-disable-mod.
4 Instalace PHP5
Můžeme zajistit fungování PHP5 v Lighttpd pomocí PHP-FPM, které nainstalujeme takto:
apt-get install php5-fpm php5
PHP-FPM je proces démona (se skriptem init /etc/init.d/php5-fpm), který spouští server FastCGI na soketu /var/run/php5-fpm.sock.
5 Konfigurace Lighttpd a PHP5
Abychom povolili PHP5 v Lighttpd, musíme upravit /etc/php5/fpm/php.ini a odkomentovat řádek cgi.fix_pathinfo=1:
vi /etc/php5/fpm/php.ini
[...]; cgi.fix_pathinfo poskytuje *skutečnou* podporu PATH_INFO/PATH_TRANSLATED pro CGI. PHP; předchozí chování bylo nastavit PATH_TRANSLATED na SCRIPT_FILENAME a negrok; co je PATH_INFO. Další informace o PATH_INFO naleznete ve specifikacích cgi. Nastavení; toto na 1 způsobí, že PHP CGI opraví své cesty tak, aby odpovídaly specifikaci. nastavení; nula způsobí, že se PHP bude chovat jako předtím. Výchozí hodnota je 1. Měli byste opravit své skripty; použít SCRIPT_FILENAME spíše než PATH_TRANSLATED.; http://php.net/cgi.fix-pathinfocgi.fix_pathinfo=1[...] |
Konfigurační soubor Lighttpd pro PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf je vhodný pro použití s spawn-fcgi, my však chceme použít PHP-FPM, proto vytvoříme zálohu souboru ( s názvem 15-fastcgi-php-spawnfcgi.conf) a upravte 15-fastcgi-php.conf následovně:
cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf
vi 15-fastcgi-php.conf
# -*- závisí:fastcgi -*-# /usr/share/doc/lighttpd/fastcgi.txt.gz# http://redmine .lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi## Spusťte server FastCGI pro php (potřebuje balíček php5-cgi)fastcgi.server +=( ".php" => (( "socket " => "/var/run/php5-fpm.sock", "broken-scriptfilename" => "enable" ))) |
Chcete-li povolit konfiguraci fastcgi, spusťte následující příkazy:
lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php
Tím se vytvoří symbolické odkazy /etc/lighttpd/conf-enabled/10-fastcgi.conf, které ukazují na /etc/lighttpd/conf-available/10-fastcgi.conf a /etc/lighttpd/conf-enabled/15-fastcgi-php .conf, který odkazuje na /etc/lighttpd/conf-available/15-fastcgi-php.conf:
ls -l /etc/lighttpd/conf-enabled
[e-mail chráněný]:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
celkem 0
lrwxrwxrwx 1 kořenový kořen 33 červenec 1 20:45 10- fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 kořenový kořen 37 červenec 1 20:45 15-fastcgi-php.conf -> ../conf-available/15 -php.conf
[e-mail chráněný]:/etc/lighttpd/conf-available#
Poté znovu načteme Lighttpd:
/etc/init.d/lighttpd force-reload
6 Testování PHP5 / Získání podrobností o vaší instalaci PHP5
Kořen dokumentu výchozí webové stránky je /var/www. Nyní v tomto adresáři vytvoříme malý PHP soubor (info.php) a zavoláme jej v prohlížeči. Soubor zobrazí spoustu užitečných podrobností o naší instalaci PHP, jako je nainstalovaná verze PHP.
vi /var/www/info.php
Nyní tento soubor nazýváme v prohlížeči (např. http://192.168.0.100/info.php):
Jak vidíte, PHP5 funguje a funguje přes FPM/FastCGI, jak je znázorněno na řádku Server API. Pokud se posunete dále dolů, uvidíte všechny moduly, které jsou již povoleny v PHP5. MySQL zde není uveden, což znamená, že zatím nemáme podporu MySQL v PHP5.
7 Získání podpory MySQL v PHP5
Abychom získali podporu MySQL v PHP, můžeme nainstalovat balíček php5-mysql. Je dobré nainstalovat některé další moduly PHP5, stejně jako je můžete potřebovat pro své aplikace. Dostupné moduly PHP5 můžete vyhledat takto:
apt-cache search php5
Vyberte ty, které potřebujete, a nainstalujte je takto:
apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-snmp -sqlite php5-tidy php5-xmlrpc php5-xsl
Xcache je bezplatný a otevřený PHP opcode cacher pro ukládání do mezipaměti a optimalizaci PHP přechodného kódu. Je to podobné jako u jiných PHP cacherů operačních kódů, jako je eAccelerator a APC. Důrazně se doporučuje mít jeden z nich nainstalovaný, aby se urychlila vaše stránka PHP.
Xcache lze nainstalovat následovně:
apt-get install php5-xcache
Nyní znovu načtěte PHP-FPM:
/etc/init.d/php5-fpm reload
Nyní znovu načtěte http://192.168.0.100/info.php ve svém prohlížeči a znovu přejděte dolů do sekce modulů. Nyní byste tam měli najít spoustu nových modulů, včetně modulu MySQL:
8 phpMyAdmin
phpMyAdmin je webové rozhraní, přes které můžete spravovat své databáze MySQL. Je to dobrý nápad nainstalovat:
apt-get install phpmyadmin
Uvidíte následující otázky:
Webový server se překonfiguruje automaticky:<-- lighttpd
Nakonfigurujte databázi pro phpmyadmin pomocí dbconfig-common? <-- Ne
Poté můžete přistupovat k phpMyAdmin pod http://192.168.0.100/phpmyadmin/:
9 Nastavení PHP-FPM pomocí připojení TCP
Ve výchozím nastavení PHP-FPM naslouchá na soketu /var/run/php5-fpm.sock. Je také možné, aby PHP-FPM používal TCP spojení. Chcete-li to provést, otevřete /etc/php5/fpm/pool.d/www.conf...
vi /etc/php5/fpm/pool.d/www.conf
... a řádek pro poslech nastavte následovně:
[...];listen =/var/run/php5-fpm.socklisten =127.0.0.1:9000[...] |
Díky tomu bude PHP-FPM naslouchat na portu 9000 na IP 127.0.0.1 (localhost). Ujistěte se, že používáte port, který se ve vašem systému nepoužívá.
Poté znovu načtěte PHP-FPM:
/etc/init.d/php5-fpm reload
Dále otevřete konfigurační soubor PHP Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf a nahraďte řádek soketu řádkem hostitele a portu:
vi /etc/lighttpd/conf-available/15-fastcgi-php.conf
# -*- závisí:fastcgi -*-# /usr/share/doc/lighttpd/fastcgi.txt.gz# http://redmine .lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi## Spusťte server FastCGI pro php (potřebuje balíček php5-cgi)fastcgi.server +=( ".php" => (( "hostitel) " => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "povolit" ))) |
Nakonec znovu načtěte Lighttpd:
/etc/init.d/lighttpd force-reload
10 odkazů
- Lighttpd:http://www.lighttpd.net/
- PHP:http://www.php.net/
- PHP-FPM:http://php-fpm.org/
- MySQL:http://www.mysql.com/
- Debian:http://www.debian.org/
- phpMyAdmin:http://www.phpmyadmin.net/