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 Etch s podporou PHP5 (prostřednictvím FastCGI) a podporou MySQL.
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.0
Nejprve nainstalujeme MySQL 5.0 takto:
apt-get install mysql-server mysql-client
Vytvořte heslo pro root uživatele MySQL (nahraďte yourrootsqlpassword heslem, které chcete použít):
mysqladmin -u root password yourrootsqlpassword
Poté zkontrolujte pomocí
netstat -tap | grep mysql
na kterých adresách MySQL poslouchá. Pokud výstup vypadá takto:
tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqld
což znamená, že MySQL naslouchá pouze na localhost.localdomain, pak jste v bezpečí s heslem, které jste nastavili předtím. Ale pokud výstup vypadá takto:
tcp 0 0 *:mysql *:* LISTEN 2713/mysqld
měli byste si také nastavit heslo MySQL pro své jméno hostitele, protože jinak může kdokoli přistupovat k vaší databázi a upravovat data:
mysqladmin -h server1.example.com -u root password 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 a měli byste vidět zástupnou stránku Lighttpd:
Výchozí kořen dokumentu Lighttpd je /var/www v Debianu a konfigurační soubor je /etc/lighttpd/lighttpd.conf.
4 Instalace PHP5
Můžeme zajistit, aby PHP5 fungovalo v Lighttpd přes FastCGI. Naštěstí Debian poskytuje balíček PHP5 s podporou FastCGI, který nainstalujeme takto:
apt-get install php5-cgi
5 Konfigurace Lighttpd a PHP5
Abychom povolili PHP5 v Lighttpd, musíme upravit dva soubory, /etc/php5/cgi/php.ini a /etc/lighttpd/lighttpd.conf. Nejprve otevřeme /etc/php5/cgi/php.ini a přidáme řádek cgi.fix_pathinfo =1 přímo na konec souboru:
vi /etc/php5/cgi/php.ini
[...] cgi.fix_pathinfo = 1 |
Poté otevřeme /etc/lighttpd/lighttpd.conf a přidáme "mod_fastcgi" do stanzy server.modules:
vi /etc/lighttpd/lighttpd.conf
[...] server.modules = ( "mod_access", "mod_alias", "mod_accesslog", "mod_fastcgi", # "mod_rewrite", # "mod_redirect", # "mod_status", # "mod_evhost", # "mod_compress", # "mod_usertrack", # "mod_rrdtool", # "mod_webdav", # "mod_expire", # "mod_flv_streaming", # "mod_evasive" ) [...] |
a pak hned na konec souboru přidáme následující stanzu:
[...] fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket" ))) |
Poté restartujeme Lighttpd:
/etc/init.d/lighttpd restart
6 Testování PHP5 / Získání podrobností o 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
<?php phpinfo(); ?> |
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 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-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json
Možná se vám zobrazí podobná otázka:
Pokračovat v instalaci libc-client bez podpory Maildir? <-- Ano
Nyní restartujte Lighttpd:
/etc/init.d/lighttpd restart
(Pokud jste nainstalovali modul php5-json a zobrazí se upozornění jako toto:
PHP Warning: Module 'json' already loaded in Unknown on line 0
to znamená, že modul byl načten dvakrát. Otevřete /etc/php5/cgi/php.ini, přejděte dolů na konec a zakomentujte řádek extension=json.so:
vi /etc/php5/cgi/php.ini
[...] ;extension=json.so [...] |
Poté znovu restartujte Lighttpd:
/etc/init.d/lighttpd restart
Varování by nyní měla být pryč.)
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 odkazů
- Lighttpd:http://www.lighttpd.net
- PHP:http://www.php.net
- MySQL:http://www.mysql.com
- Debian:http://www.debian.org