GNU/Linux >> Znalost Linux >  >> FreeBSD

Jak nainstalovat Nginx, MariaDB a PHP (FEMP) Stack na FreeBSD

Tento tutoriál vás provede instalací a konfigurací FBEMP ve FreeBSD 11.x poslední vydání. FBEMP je zkratka, která popisuje následující kolekci softwaru:

FreeBSD 11.1 Unixová distribuce, webový server Nginx, systém správy relačních databází MariaDB (komunitní fork MySQL) a dynamický programovací jazyk PHP, který běží na straně serveru.

Požadavky

  1. Instalace FreeBSD 11.x
  2. 10 věcí, které je třeba udělat po instalaci FreeBSD

Krok 1:Nainstalujte webový server Nginx na FreeBSD

1. První služba, kterou nainstalujeme pro náš FBEMP zásobník ve FreeBSD je webový server reprezentovaný Nginx software.

Nginx webový server má více předpřipravených balíčků dostupných v PORTY FreeBSD 11.x . Chcete-li získat seznam Nginx binární soubory z Portů úložišť, zadejte na svém serverovém terminálu následující příkazy.

# ls /usr/ports/www/ | grep nginx
# pkg search -o nginx

2. V této konkrétní konfiguraci nainstalujeme hlavní verzi balíčku Nginx zadáním níže uvedeného příkazu. balíček správa balíčků se vás zeptá, zda chcete pokračovat v instalaci balíčku nginx. Odpovězte ano (y v příkazovém řádku), aby se spustil proces instalace.

# pkg install nginx

3. Po instalaci balíčku webového serveru Nginx do vašeho systému spusťte následující příkazy, abyste povolili démona v celém systému a spustili službu ve vašem systému.

# sysrc nginx_enable="yes"
# service nginx start

4. Dále pomocí sockstatu ověřte síťové sokety služeb Nginx, pokud jsou vázány na 80/TCP port, zadáním níže uvedeného příkazu. Výstup příkazu sockstat bude veden přes obslužný program grep, aby se vrácené výsledky redukovaly pouze na řetězec nginx.

# sockstat -4 | grep nginx

5. Nakonec otevřete prohlížeč na stolním počítači ve vaší síti a navštivte výchozí webovou stránku Nginx prostřednictvím protokolu HTTP. Napište FQDN vašeho počítače nebo názvu vaší domény nebo IP adresy vašeho serveru v adrese URL prohlížeče zadané k vyžádání výchozí webové stránky webového serveru Nginx. Zpráva „Vítejte v nginx! ” by se mělo zobrazit ve vašem prohlížeči, jak je znázorněno na níže uvedeném snímku obrazovky.

http://yourdomain.com
http://your_server_IP
http://your_machine_FQDN

6. Výchozí adresář weboot pro webový obsah Nginx se nachází v /usr/local/www/nginx/ absolutní systémová cesta. V tomto umístění byste měli vytvářet, kopírovat nebo instalovat soubory webového obsahu, jako je .html nebo .php soubory pro váš web.

Chcete-li toto umístění změnit, upravte hlavní konfigurační soubor nginx a změňte kořenovou direktivu tak, aby odrážela vaši novou cestu webroot.

# nano /usr/local/etc/nginx/nginx.conf

Zde vyhledejte a aktualizujte následující řádek, aby odrážel vaši novou cestu webroot:

root	/path/to/new/webroot;

Krok 2:Nainstalujte PHP na FreeBSD

7. Na rozdíl od Apache HTTP server, Nginx nemá schopnost nativně zpracovávat kód PHP. Na oplátku webový server Nginx předává požadavky PHP interpretu PHP, jako je php-fpm FastCGI démon, který kontroluje a spouští kód. Výsledný kód je poté vrácen zpět do Nginx, který kód znovu sestaví do požadovaného formátu html a odešle kód dále do webového prohlížeče návštěvníka.

FreeBSD 11.x Ports repository nabízí několik binárních verzí pro programovací jazyk PHP, jako je PHP 5.6 , PHP 7.0 a PHP 7.1 vydání. Chcete-li zobrazit všechny dostupné předkompilované verze PHP v FreeBSD 11.x , spusťte níže uvedené příkazy .

# pkg search -o php
# ls /usr/ports/lang/ | grep php

8. Můžete si vybrat instalaci jakékoli verze PHP, kterou považujete za nejvhodnější pro webovou aplikaci, kterou provozujete ve svém systému. V této příručce však nainstalujeme nejnovější verzi PHP.

Chcete-li nainstalovat PHP 7.1 release a některých důležitých modulů PHP vyžadovaných pro různé webové aplikace, spusťte následující příkaz.

# pkg install php71 php71-mysqli php71-mcrypt php71-zlib php71-gd php71-json mod_php71 php71-mbstring php71-curl

9. Po instalaci balíčků PHP do systému otevřete PHP-FPM konfigurační soubor pro Nginx a upravte hodnoty uživatele a skupiny tak, aby odpovídaly hodnotě uživatele runtime Nginx, což je www . Nejprve vytvořte zálohu souboru pomocí níže uvedeného příkazu.

# cp /usr/local/etc/php-fpm.d/www.conf{,.backup}

Poté soubor otevřete a aktualizujte následující řádky, jak je uvedeno v níže uvedené ukázce.

user = www
group = www

10. Také vytvořte konfigurační soubor PHP používaný pro produkci zadáním níže uvedeného příkazu. V tomto souboru můžete provádět vlastní změny, které budou aplikovány na PHP interpret za běhu.

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Změňte například date.timezone nastavení pro PHP interpret za účelem aktualizace fyzického umístění vašeho počítače, jak je znázorněno v níže uvedeném příkladu. Seznam časových pásem PHP lze nalézt zde:http://php.net/manual/en/timezones.php.

# vi /usr/local/etc/php.ini

Přidejte následující časové pásmo (nastavte časové pásmo podle vaší země).

date.timezone = Europe/London

Můžete také upravit další proměnné PHP, jako je maximální velikost nahrávaného souboru, kterou lze zvýšit úpravou níže uvedených hodnot:

upload_max_filesize = 10M
post_max_size = 10M

11. Poté, co provedete vlastní nastavení pro PHP, povolíte a spustíte PHP-FPM démona, abyste mohli použít nové konfigurace vydáním níže uvedených příkazů.

# sysrc php_fpm_enable=yes
# service php-fpm start

12. Ve výchozím nastavení PHP-FPM démon ve FreeBSD se váže na místní síťový soket na portu 9000/TCP . Chcete-li zobrazit PHP-FPM síťové zásuvky provedou následující příkaz.

# sockstat -4 -6| grep php-fpm

13. Aby webový server Nginx předal PHP skripty do FastCGI server brány, který naslouchá na 127.0.0.1:9000 socket, otevřete hlavní konfigurační soubor Nginx a přidejte následující blok kódu, jak je znázorněno v níže uvedené ukázce.

# vi /usr/local/etc/nginx/nginx.conf

Blok kódu FastCGI pro nginx:

 location ~ \.php$ {
        root	/usr/local/www/nginx;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;    
        include        fastcgi_params;
        	}

14. Chcete-li zobrazit aktuální informace o PHP pro váš server, vytvořte info.php soubor v cestě weboot Nginx vydáním následujícího příkazu.

# echo "<?php phpinfo(); ?>" | tee /usr/local/www/nginx/info.php

15. Poté otestujte a restartujte démona Nginx, abyste použili PHP FastCGI nastavení a navštivte info.php stránku v prohlížeči.

# nginx -t # Test nginx configuration file for syntax errors
# service nginx restart

Nahraďte odpovídajícím způsobem IP adresu nebo název domény v níže uvedených odkazech. Informační stránka PHP by měla zobrazovat informace, jak je znázorněno na níže uvedeném snímku obrazovky.

http://yourdomain.com/info.php
http://server_IP-or-FQDN/info.php

Krok 3:Nainstalujte MariaDB na FreeBSD

16. Poslední komponenta chybějící ve vašem FEMP zásobníku v databázi. MariaDB/MySQL je jedním z nejvíce přidružených open source softwaru RDBMS s webovým serverem Nginx používaným pro nasazení dynamických webových stránek.

Vlastně MariaDB/MySQL je jednou z nejpoužívanějších relačních databází na světě. Vyhledávání prostřednictvím portů FreeBSD , můžete najít několik verzí MariaDB/MySQL .

V této příručce nainstalujeme MariaDB databáze, což je komunitní fork MySQL databáze. Chcete-li vyhledat dostupné verze MariaDB , zadejte v terminálu následující příkazy.

# ls -al /usr/ports/databases/ | grep mariadb
# pkg search mariadb

17. Chcete-li nainstalovat nejnovější verzi databázového serveru MariaDB, spusťte následující příkaz. Měli byste také nainstalovat modul ovladače relační databáze PHP používaný skripty PHP pro připojení k MySQL.

# pkg install mariadb102-server php71-mysqli

18. Po instalaci databáze povolte démona MySQL a spusťte službu databáze spuštěním následujících příkazů.

# sysrc mysql_enable="YES" 
# service mysql-server start

19. Nezapomeňte také restartovat PHP-FPM démona, aby bylo možné načíst rozšíření ovladače MySQL.

# service php-fpm restart
20. On the next step, secure MariaDB database by launching mysql_secure_installation script. Use the below sample of the installation script in order to answer the questions. Basically, say yes (y) for all asked questions to secure the database and type a strong password for MySQL root user.
# /usr/local/bin/mysql_secure_installation
Výstup zabezpečeného instalačního skriptu MySQL
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

21. Chcete-li otestovat připojení k databázi MariaDB z konzoly, spusťte níže uvedený příkaz.

# mysql -u root -p -e "show status like ‘Connections’"

22. Za účelem dalšího zabezpečení MariaDB, která ve výchozím nastavení naslouchá příchozím síťovým připojením na 0.0.0.0:3306/TCP socket, zadejte níže uvedený příkaz, abyste vynutili, aby se služba navázala na loopback rozhraní a zcela zakázat vzdálený přístup. Poté restartujte službu MySQL, abyste použili novou konfiguraci.

# sysrc mysql_args="--bind-address=127.0.0.1"
# service mysql-server restart

Ověřte, zda localhost vazba byla úspěšně použita spuštěním příkazu netstat, jak je znázorněno v příkladu níže.

# netstat -an -p tcp

To je vše! Úspěšně jste nainstalovali webový server Nginx, relační databázi MariaDB a programovací jazyk PHP na straně serveru ve FreeBSD. Nyní můžete začít vytvářet dynamické webové stránky, které budou návštěvníkům poskytovat webový obsah.


FreeBSD
  1. Jak nainstalovat Linux, Nginx, MariaDB, PHP (LEMP Stack) v CentOS 7 / RHEL 7

  2. Jak nainstalovat Apache, MariaDB a PHP (FAMP) Stack na FreeBSD

  3. Jak nainstalovat zásobník Apache, MariaDB a PHP (FAMP) na FreeBSD 11

  1. Jak nainstalovat Nginx, PHP a MySQL (LEMP Stack) na OpenSUSE Leap 42.1

  2. Jak nainstalovat Nginx s PHP a MySQL (LEMP Stack) na CentOS 7

  3. Jak nainstalovat Nginx s PHP a MySQL (LEMP Stack) na Ubuntu 18.04

  1. Jak nainstalovat Nginx s PHP a MariaDB (LEMP Stack) na Fedora 31

  2. Jak nainstalovat Nginx s PHP a MySQL (LEMP Stack) na CentOS 7.6

  3. Jak nainstalovat Wordpress s Nginx, MariaDB a HHVM na Debian 8