Zabezpečení, rychlost, kompatibilita a flexibilita – to vše popisuje lighttpd (pron. lighty), což rychle mění efektivitu webového serveru; protože je navržen a optimalizován pro vysoce výkonná prostředí. S malou paměťovou náročností ve srovnání s jinými webovými servery, efektivní správou zatížení procesoru a pokročilou sadou funkcí (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting a mnoho dalších) je lighttpd perfektním řešením pro každý server. která má problémy se zatížením. A nejlepší ze všeho je, že je to Open Source licencovaný pod revidovanou licencí BSD.
Zde vám vysvětlím instalaci Lighttd s PHP a MySQL na CentOS 6 / RHEL 6.
Instalace Lighttpd:
Pro začátek nainstalujeme Lighttpd.
Otevřete Terminál a přejděte na uživatele root.
[raj@geeksite~/]$ su
Abychom mohli nainstalovat Lighttpd, potřebujeme mít na vašem počítači nainstalováno úložiště epel; k instalaci úložiště epel zadejte následující příkaz.
[root@geeksite~/]# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
Nainstalujte Lighttpd.
[root@geeksite~/]# yum install lighttpd
Spusťte Lighttpd pomocí následujícího příkazu.
[root@geeksite~/]# /etc/init.d/lighttpd restart
Chcete-li, aby se apache spustil při každém spouštění, zadejte na terminálu následující a stiskněte Enter.
[root@geeksite~/]# chkconfig lighttpd on
Testování Lighttpd:
Abychom se ujistili, že je vše správně nainstalováno, nyní otestujeme Lighttpd, abychom se ujistili, že funguje správně. Otevřete libovolný webový prohlížeč a do webové adresy zadejte následující:
http://localhost/ or http://your.ip.addr.ess
Zobrazí se webová stránka s nápisem „Powered by lighttpd“, výchozí kořen dokumentu lighttpd je /var/www/lighttpd na Fedoře; konfigurační soubor je /etc/lighttpd/lighttpd.conf a další konfigurace jsou uloženy v /etc/lighttpd/conf.d/ adresář.
Instalace MySQL:
Další je instalace serveru MySQL, MySQL je k dispozici v balíčku CentOS; takže stačí zadat následující příkaz k instalaci.
[root@geeksite~/]# yum install mysql mysql-server php-mysql
Spusťte server MySQL.
[root@geeksite~/]# /etc/init.d/mysqld restart
Chcete-li, aby se MySQL spouštělo při každém spouštění, zadejte na terminálu následující a stiskněte Enter.
[root@geeksite~/]# chkconfig mysqld on
Dále je třeba zajistit zabezpečení MySQL pomocí mysql_secure_installation příkaz.
Tento program vám umožňuje zlepšit zabezpečení vaší instalace MySQL následujícími způsoby:
- Můžete nastavit heslo pro
root
účty. - Můžete odebrat
root
účty, které jsou přístupné zvenčí místního hostitele. - Můžete odebrat anonymní uživatelské účty.
- Můžete odstranit
test
databáze (ke které ve výchozím nastavení mohou přistupovat všichni uživatelé, dokonce i anonymní uživatelé) a oprávnění, která umožňují komukoli přístup k databázím se jmény začínajícímitest_
.
[root@geeksite~/]# mysql_secure_installation
POZNÁMKA: SPUŠTĚNÍ VŠECHNY ČÁSTI TOHOTO SKRIPTU JE DOPORUČUJEME PRO VŠECHNY MySQL
POUŽÍVEJTE SERVERY VE VÝROBĚ! PROSÍM PŘEČTĚTE KAŽDÝ KROK POZOR!
Abychom se přihlásili do MySQL a zabezpečili je, budeme potřebovat aktuální
heslo pro uživatele root. Pokud jste právě nainstalovali MySQL, a
ještě nenastavili heslo kořenu , heslo bude prázdné,
takže měli stačí stisknout zadat zde.
Zadejte aktuální heslo pro kořen (zadejte pro žádné): <– ENTER
OK, úspěšně použité heslo, pokračujeme …
Nastavení hesla root zajistí , že se nikdo nemůže přihlásit do MySQL
uživatel root bez náležitého oprávnění.
Nastavit heslo uživatele root? [A/N] <– ENTER
Nové heslo: <– heslo yourrootsql
Znovu zadejte nové heslo: <– heslo vaše rootsql
Heslo úspěšně aktualizováno!
Opětovné načítání tabulek privilegií...
… Úspěch!
Ve výchozím nastavení má instalace MySQL anonymního uživatele, který umožňuje kdokoli
pro přihlášení do MySQL bez musíte mít vytvořený uživatelský účet pro
jich. Toto je určeno pouze pro testování a pro provedení instalace
jste trochu plynulejší. Měli byste je odstranit před nastěhováním do
produkční prostředí.
Odebrat anonymní uživatele? [A/N] <– ZADEJTE
… Úspěch!
Za normálních okolností by měl mít root pouze povoleno připojovat se z ‚místního hostitele‘. Toto
zajišťuje, že někdo nemůže odhadnout heslo uživatele root ze sítě.
Zakázat vzdáleně přihlášení uživatele root? [A/N] <– ENTER
… Úspěch!
Ve výchozím nastavení se MySQL dodává s databází s názvem „test“, kterou může kdokoli
přístup. Toto je také je určeno pouze pro testování a mělo by se odstranit
před přechodem do produkčního prostředí.
Odebrat testovací databázi a přistupovat k ní? [A/N] <– ENTER
– Odstranění testovací databáze…
… Úspěch!
– Odebírání oprávnění na testovací databázi…
… Úspěch!
Opětovné načtení tabulek privilegií zajistí , že všechny dosud provedené změny
vstoupí okamžitě v platnost.
Znovu načíst tabulky privilegií teď? [A/N] <– ENTER
… Úspěch!
Uklízení…
Vše hotovo! Pokud jste dokončili všechny výše uvedené kroky, vaše MySQL
instalace by nyní měla být zabezpečená.
Děkujeme, že používáte MySQL!
Instalace PHP5:
Dalším krokem je instalace PHP 5 na CentOS s FastCGI, CentOS poskytuje balíček PHP5 s podporou FastCGI. Můžeme nainstalovat vydáním následujícího příkazu.
[root@geeksite~/]# yum install php-cli lighttpd-fastcgi
Konfigurace PHP 5:
Chcete-li povolit PHP5 v Lighttpd, budete muset upravit konfigurační soubor /etc/php.ini a odkomentovat řádek cgi.fix_pathinfo=1:
[root@ubuntu~/]# vi /etc/php.ini
[…]
; použít SCRIPT_FILENAME místo PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]
Povolení FastCGI:
Abychom aktivovali FastCGI, musíme upravit následující soubor.
[root@geeksite~/]# vi /etc/lighttpd/modules.conf
Odkomentujte řádek [Řádek č.:132].
include "conf.d/fastcgi.conf"
Vytvořte a povolte oprávnění ke spuštění Lighttpd (volitelné).
[root@geeksite~/]# mkdir /var/run/lighttpd [root@geeksite~/]# chown lighttpd.lighttpd /var/run/lighttpd
Pro konfiguraci FastCGI upravte následující soubor.
[root@geeksite~/]# vi /etc/lighttpd/conf.d/fastcgi.conf
Přidejte následující řádky na konec souboru.
fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/var/run/lighttpd/php-fastcgi.socket", "bin-path" => "/usr/bin/php-cgi", "max-procs" => 5, "bin-environment" => ( "PHP_FCGI_CHILDREN" => "16", "PHP_FCGI_MAX_REQUESTS" => "10000" ), "broken-scriptfilename" => "enable" ) ) )
Nyní restartujte všechny požadované služby.
[root@geeksite~/]# /etc/init.d/lighttpd restart [root@geeksite~/]# /etc/init.d/mysqld restart
Testování PHP:
Pro testování PHP umístěte jeden soubor PHP do výchozího adresáře Lighttpd. Kořen dokumentu výchozí webové stránky je /var/www/lighttpd . 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.
Do terminálu zkopírujte/vložte následující řádek:
[root@geeksite~/]# vi /var/www/lighttpd/info.php
Tím se otevře soubor s názvem info.php .
Zkopírujte/vložte tento řádek do souboru phpinfo:
<?php
phpinfo();
?>
Uložte a zavřete soubor. použijte Esc +;wq pro uložení souboru.
Nyní otevřete webový prohlížeč a do webové adresy zadejte následující:
http://127.0.0.1/info.php or http://your.ip.add-ress/info.php
Stránka bude vypadat takto:
Přejděte v prohlížeči dolů do sekce moduly a zkontrolujte podporu pro MySQL, zobrazí se obrazovka jako níže.
To je vše!
Kredity:
Děkujeme Christianu Forondovi za poskytnutí konfigurace FastCGI.