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 openSUSE 12.1.
Instalace Lighttpd:
Pro začátek nainstalujeme Lighttpd.
Otevřete Terminál a přejděte na uživatele root.
[raj@geeksite~/]$ su
Zadejte následující příkaz na terminálu a stiskněte klávesu enter.
[root@geeksite~/]# zypper in lighttpd
Spusťte Lighttpd pomocí následujícího příkazu.
[root@geeksite~/]# systemctl start lighttpd.service
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~/]# systemctl enable lighttpd.service
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 „404 – Nenalezeno“ kvůli nedostupnosti souboru index.html ve výchozím kořenovém adresáři dokumentu, výchozí kořenový adresář dokumentu lighttpd je /srv/www/htdocs na openSUSE; 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 openSUSE; takže stačí zadat následující příkaz k instalaci.
[root@geeksite~/]# zypper in mysql-community-server mysql-community-server-client php5-mysql
Spusťte server MySQL.
[root@geeksite~/]# systemctl start mysql.service
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~/]# systemctl enable mysql.service
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ší je instalace PHP 5 na openSUSE s FastCGI, openSUSE poskytuje balíček PHP5 s podporou FastCGI. Můžeme nainstalovat vydáním následujícího příkazu.
[root@geeksite~/]# zypper in php5-fastcgi
Konfigurace PHP 5:
Chcete-li povolit PHP5 v Lighttpd, budete muset upravit konfigurační soubor /etc/php5/fastcgi/php.ini a odkomentujte řádekcgi.fix_pathinfo=1:
[root@ubuntu~/]# vi /etc/php5/fastcgi/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.
[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~/]# systemctl restart lighttpd.service [root@geeksite~/]# systemctl restart mysql.service
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 /sr/www/htdocs . 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 /sr/www/htdocs/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://localhost/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. dostanete obrazovku jako níže.
To je vše!
Kredity:
Děkujeme Christianu Forondovi za poskytnutí konfigurace FastCGI.