GNU/Linux >> Znalost Linux >  >> Ubuntu

Instalace Lighttpd s PHP (režim PHP-FPM) a MySQL nebo MariaDB na Ubuntu 15.10

Lighttpd je bezpečný, rychlý a standardy vyhovující webový server určený pro prostředí s kritickou rychlostí. Tento tutoriál ukazuje, jak nainstalovat Lighttpd na server Ubuntu 15.10 s podporou PHP (prostřednictvím PHP-FPM) a MySQL nebo MariaDB. 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.

1 předběžná poznámka

V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.1.100. Tato nastavení se pro vás mohou lišit, takže je v případě potřeby musíte nahradit.

Všechny kroky v tomto tutoriálu provádím s právy root, takže se před pokračováním ujistěte, že jste přihlášeni jako root:

sudo su

2 Instalace MySQL / MariaDB

Ubuntu poskytuje balíčky pro původní databázový server MySQL (MySQL 5.6) a vidlici MySQL MariaDB (10). Většina uživatelů dnes raději používá MariaDB, protože je o něco rychlejší než MySQL a vývoj postupuje rychleji. Zde nechám rozhodnutí, co nainstalovat, na vás a vysvětlím obě možnosti. Postupujte podle pokynů v kapitole 2.1 nebo 2.2, ale ne podle obou.

2.1 Instalace MySQL

Nainstalujte MySQL takto:

apt-get -y install mysql-server-5.6 mysql-client-5.6

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

2.2 Instalace MariaDB

Nainstalujte MariaDB takto:

apt-get -y install mariadb-server mariadb-client

Nyní nastavíme heslo root pro MariaDB.

mysql_secure_installation

Budou vám položeny tyto otázky:

Enter current password for root (enter for none): <-- press enter
Set root password? [Y/n] <-- y
New password: <-- Enter the new MariaDB root password here
Re-enter new password: <-- Repeat the password
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Reload privilege tables now? [Y/n] <-- y

3 Instalace Lighttpd

Lighttpd je dostupný jako balíček Ubuntu, takže jej můžeme nainstalovat takto:

apt-get -y install lighttpd

Nyní nasměrujte svůj prohlížeč na http://192.168.1.100/index.lighttpd.html a měli byste vidět zástupnou stránku Lighttpd:

Výchozí kořen dokumentu Lighttpd je /var/www/html na Ubuntu 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 PHP 5.6

Můžeme zajistit fungování PHP5 v Lighttpd pomocí PHP-FPM, které nainstalujeme takto:

apt-get -y install php5-fpm php5

PHP-FPM je proces démona (se servisní jednotkou systemd php5-fpm.service), který spouští server FastCGI na soketu /var/run/php5-fpm.sock.

5 Konfigurace Lighttpd a PHP

Abychom povolili PHP5 v Lighttpd, musíme upravit /etc/php5/fpm/php.ini a odkomentovat řádek cgi.fix_pathinfo=1:

nano /etc/php5/fpm/php.ini
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.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
nano 15-fastcgi-php.conf
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## Start an FastCGI server for php (needs the php5-cgi package)
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
[email protected]:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Nov 11 13:59 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Nov 11 13:59 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf

Poté znovu načteme Lighttpd:

service lighttpd force-reload

6 Testování PHP5 / Získání podrobností o instalaci PHP5

Kořen dokumentu výchozí webové stránky je /var/www/html. 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.

nano /var/www/html/info.php
<?php
phpinfo();
?>

Nyní tento soubor nazýváme v prohlížeči (např. http://192.168.1.100/info.php):

Jak vidíte, PHP 5.6 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 PHP.

7 Získání podpory MySQL v PHP5

Abychom získali podporu MySQL v PHP, můžeme nainstalovat balíček php5-mysqlnd. Toto je preferováno před php5-mysql balíček, protože obsahuje novější ovladač MySQL, který podporuje MySQL i MariaDB. 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 -y install php5-mysqlnd 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-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 -y install php5-xcache

Nyní znovu načtěte PHP-FPM:

service php5-fpm reload

Nyní znovu načtěte http://192.168.1.100/info.php ve svém prohlížeči a znovu přejděte dolů do sekce moduly. 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 -y install phpmyadmin

Uvidíte následující otázky:

Webový server se překonfiguruje automaticky:<-- lighttpd
Nakonfigurujte databázi pro phpmyadmin pomocí dbconfig-common? <-- ano

Password of the database's administrative user: <-- Enter the MySQL/MariaDB root password
MySQL application password for phpmyadmin: <-- Press ENTER

Poté můžete přistupovat k phpMyAdmin pod http://192.168.1.100/phpmyadmin/:

9 Nastavení PHP-FPM pomocí připojení TCP (volitelné)

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...

nano /etc/php5/fpm/pool.d/www.conf

... a řádek pro poslech nastavte následovně:

[...]
;listen = /var/run/php5-fpm.sock
listen = 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:

service 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:

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

Nakonec znovu načtěte Lighttpd:

service lighttpd force-reload

10 stažení bitové kopie virtuálního stroje tohoto tutoriálu

Tento tutoriál je k dispozici jako obraz virtuálního stroje připravený k použití ve formátu ovf/ova pro předplatitele Howtoforge. Formát VM je kompatibilní s VMWare a Virtualbox. Obraz virtuálního počítače používá následující přihlašovací údaje:

Přihlášení SSH / Shell

Uživatelské jméno:správce
Heslo:howtoforge

Tento uživatel má práva sudo.

Přihlášení k MySQL / MariaDB

Uživatelské jméno:root
Heslo:howtoforge

IP VM je 192.168.1.100, lze ji změnit v souboru /etc/network/interfaces. Změňte prosím všechna výše uvedená hesla pro zabezpečení virtuálního počítače.

  • Lighttpd:http://www.lighttpd.net/
  • PHP:http://www.php.net/
  • PHP-FPM:http://php-fpm.org/
  • MySQL:http://www.mysql.com/
  • Ubuntu:http://www.ubuntu.com/
  • phpMyAdmin:http://www.phpmyadmin.net/

Ubuntu
  1. Instalace Nginx s PHP5 (a PHP-FPM) a podporou MySQL (LEMP) na Ubuntu 14.04 LTS

  2. Jak nainstalovat Lighttpd s PHP5 a MySQL na Ubuntu 11.04

  3. Instalace LLMP (Lighttpd, PHP a MySQL) na Ubuntu 14.10

  1. Instalace Lighttpd s podporou PHP5 (PHP-FPM) a MySQL na Ubuntu 14.04LTS

  2. Instalace Nginx s PHP a MariaDB (jako náhrada MySQL) - LEMP -na Ubuntu 15.10 (Wiley Werewolf)

  3. Jak nainstalovat Lighttpd s PHP-FPM 7 a MySQL 5.7 na Ubuntu 18.04 LTS

  1. Jak nainstalovat Lighttpd s PHP-FPM a MySQL na Ubuntu 20.04 LTS

  2. Instalace Lighttpd s podporou PHP5 a MySQL na Ubuntu 10.04

  3. Instalace Lighttpd s podporou PHP5 (PHP-FPM) a MySQL na Ubuntu 12.04