Weboldal keresés

Az Nginx, MariaDB és a PHP (FEMP) Stack telepítése FreeBSD-n


Ez az oktatóanyag elvezeti Önt az FBEMP telepítéséhez és konfigurálásához a FreeBSD 11.x legújabb kiadásában. Az FBEMP egy mozaikszó, amely a következő szoftvergyűjteményt írja le:

FreeBSD 11.1 Unix-szerű disztribúció, Nginx webszerver, MariaDB relációs adatbázis-kezelő rendszer (a MySQL közösségi ága) és PHP dinamikus programozási nyelv, amely szerver oldalon fut.

Követelmények

  1. A FreeBSD 11.x telepítése
  2. 10 tennivaló a FreeBSD telepítése után

1. lépés: Telepítse az Nginx Web Servert a FreeBSD-re

1. Az első szolgáltatás, amelyet az FBEMP veremünkhöz telepítünk FreeBSD-ben, a webszerver, amelyet az Nginx képvisel. > szoftver.

Az Nginx webszerver több előre megfelelő csomaggal rendelkezik a FreeBSD 11.x PORTS-ban. Az Nginx binárisok listájának megtekintéséhez a Portok tárolókból, adja ki a következő parancsokat a szerverterminálon.

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

2. Ebben a konfigurációban az alábbi parancs kiadásával telepítjük az Nginx fő csomag verzióját. A pkg csomagkezelés megkérdezi, hogy kívánja-e folytatni az nginx csomag telepítését. Válaszoljon igennel (y a parancssorban) a telepítési folyamat elindításához.

pkg install nginx

3. Miután az Nginx webszerver csomagot telepítette a rendszerére, hajtsa végre a következő parancsokat a démon rendszerszintű engedélyezéséhez és a szolgáltatás elindításához a rendszerben.

sysrc nginx_enable="yes"
service nginx start

4. Ezután a sockstat paranccsal ellenőrizze az Nginx szolgáltatás hálózati socketjeit, ha kötődnek-e a 80/TCP porthoz az alábbi kibocsátással. parancs. A sockstat parancs kimenete a grep segédprogramon keresztül történik, hogy a visszaadott eredményeket csak az nginx karakterláncra csökkentsük.

sockstat -4 | grep nginx

5. Végül nyisson meg egy böngészőt a hálózatban lévő asztali számítógépen, és HTTP protokollon keresztül látogasson el az Nginx alapértelmezett weboldalára. Írja be a gépe FQDN-jét vagy a domain nevét vagy a szerver IP-címét a böngésző URL-jébe, amely az Nginx webszerver alapértelmezett weboldalának kérésére van elhelyezve. Az alábbi képernyőképen látható módon az „Üdvözlünk az nginxben!” üzenetnek meg kell jelennie a böngészőjében.

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

6. Az Nginx webtartalom alapértelmezett weboot könyvtára a /usr/local/www/nginx/ abszolút rendszerútvonalon található. Ezen a helyen hozzon létre, másoljon vagy telepítsen webtartalom-fájlokat, például .html vagy .php fájlokat a webhelyéhez.

A hely megváltoztatásához szerkessze az nginx fő konfigurációs fájlját, és módosítsa a root direktívát, hogy az tükrözze az új webroot elérési utat.

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

Itt keresse meg és frissítse a következő sort, hogy tükrözze az új webroot elérési utat:

root	/path/to/new/webroot;

2. lépés: Telepítse a PHP-t FreeBSD-re

7. Az Apache HTTP szerverrel ellentétben az Nginx nem képes natív PHP-kód feldolgozására. Cserébe az Nginx webszerver átadja a PHP kéréseket egy PHP-értelmezésnek, például a php-fpm FastCGI démonnak, amely ellenőrzi és végrehajtja a kódot. A kapott kódot ezután visszaküldi az Nginx-nek, amely újra összeállítja a kódot a kért html formátumba, és továbbküldi a kódot a látogató webböngészőjének.

A FreeBSD 11.x porttárak több bináris verziót kínálnak a PHP programozási nyelvekhez, mint például a PHP 5.6, PHP 7.0 és a PHP 7.1< kiadja. Az összes elérhető előre lefordított PHP-verzió megjelenítéséhez a FreeBSD 11.xben futtassa az alábbi parancsokat .

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

8. Dönthet úgy, hogy a PHP bármely verzióját telepíti, amely a legmegfelelőbb a rendszerében futó webalkalmazáshoz. Ebben az útmutatóban azonban a PHP legújabb verzióját telepítjük.

A PHP 7.1 kiadás és a különféle webes alkalmazásokhoz szükséges fontos PHP-modulok telepítéséhez futtassa a következő parancsot.

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

9. Miután telepítette a PHP-csomagokat a rendszerébe, nyissa meg a PHP-FPM konfigurációs fájlt az Nginx számára, és állítsa be a felhasználói és csoportértékeket úgy, hogy azok megfeleljenek az Nginx futási környezet értékének. felhasználó, amely a www. Először készítsen biztonsági másolatot a fájlról az alábbi paranccsal.

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

Ezután nyissa meg a fájlt, és frissítse a következő sorokat az alábbi minta szerint.

user = www
group = www

10. Ezenkívül az alábbi parancs kiadásával hozzon létre egy PHP konfigurációs fájlt a termeléshez. Ezen a fájlon egyéni változtatásokat hajthat végre, amelyek futás közben kerülnek alkalmazásra a PHP interpreterre.

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

Például módosítsa a PHP interpreter date.timezone beállítását, hogy frissítse gépe fizikai helyét, az alábbi példában látható módon. A PHP időzónák listája itt található: http://php.net/manual/en/timezones.php.

vi /usr/local/etc/php.ini

Adja hozzá a következő időzónát (állítsa be az időzónát országának megfelelően).

date.timezone = Europe/London

Beállíthat más PHP-változókat is, például a feltöltött fájl maximális fájlméretét, amely az alábbi értékek módosításával növelhető:

upload_max_filesize = 10M
post_max_size = 10M

11. Miután elvégezte a PHP egyéni beállításait, engedélyezze és indítsa el a PHP-FPM démont az új konfigurációk alkalmazásához az alábbi parancsok kiadásával.

sysrc php_fpm_enable=yes
service php-fpm start

12. Alapértelmezés szerint a FreeBSD PHP-FPM démonja egy helyi hálózati sockethez kötődik a 9000/TCP porton. A PHP-FPM hálózati socketek megjelenítéséhez hajtsa végre a következő parancsot.

sockstat -4 -6| grep php-fpm

13. Annak érdekében, hogy az Nginx webszerver átadhassa a PHP-szkripteket a FastCGI átjárószervernek, amely a 127.0.0.1:9000 socketen figyel, nyissa meg az Nginx fő konfigurációs fájlját, és adja hozzá a következő kódblokkot az alábbi mintán látható módon.

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

FastCGI kódblokk az nginx számára:

 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. A szerver aktuális PHP-információinak megtekintéséhez hozzon létre egy info.php fájlt az Nginx weboot elérési útjában a következő parancs kiadásával.

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

15. Ezután tesztelje és indítsa újra az Nginx démont a PHP FastCGI beállítások alkalmazásához, majd keresse fel az info.php oldalt egy böngészőben.

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

Cserélje le az IP-címet vagy a domain nevet az alábbi linkeken ennek megfelelően. A PHP információs oldalon az alábbi képernyőképen látható információknak kell megjelenniük.

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

3. lépés: Telepítse a MariaDB-t FreeBSD-re

16. Az utolsó összetevő, amely hiányzik az adatbázisban lévő FEMP veremből. A MariaDB/MySQL az egyik leginkább kapcsolódó nyílt forráskódú RDBMS szoftver Nginx webszerverrel, amelyet dinamikus webhelyek telepítésére használnak.

Valójában a MariaDB/MySQL az egyik leggyakrabban használt relációs adatbázis a világon. A FreeBSD portok között keresve több MariaDB/MySQL kiadást találhat.

Ebben az útmutatóban telepítjük a MariaDB adatbázist, amely a MySQL adatbázis közösségi formája. A MariaDB elérhető verzióinak kereséséhez adja ki a következő parancsokat a terminálban.

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

17. A MariaDB adatbázis-kiszolgáló legújabb verziójának telepítéséhez hajtsa végre a következő parancsot. Ezenkívül telepítenie kell a PHP relációs adatbázis-illesztőprogram modulját, amelyet a PHP szkriptek használnak a MySQL-hez való csatlakozáshoz.

pkg install mariadb102-server php71-mysqli

18. Az adatbázis telepítése után engedélyezze a MySQL démont, és indítsa el az adatbázis-szolgáltatást a következő parancsok futtatásával.

sysrc mysql_enable="YES" 
service mysql-server start

19. Ezenkívül feltétlenül indítsa újra a PHP-FPM démont a MySQL illesztőprogram-bővítmény betöltéséhez.

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
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. A MariaDB adatbázis-kapcsolat konzolról történő teszteléséhez hajtsa végre az alábbi parancsot.

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

22. A MariaDB további biztonsága érdekében, amely alapértelmezés szerint a 0.0.0.0:3306/TCP socketen figyeli a bejövő hálózati kapcsolatokat, adja ki az alábbi parancsot a szolgáltatás kényszerítéséhez kötni a visszahurkolt felületen, és teljesen letiltja a távoli hozzáférést. Ezután indítsa újra a MySQL szolgáltatást az új konfiguráció alkalmazásához.

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

Ellenőrizze, hogy sikeresen alkalmazta-e a localhost összerendelést a netstat parancs futtatásával az alábbi példában látható módon.

netstat -an -p tcp

Ez minden! Sikeresen telepítette az Nginx webszervert, a MariaDB relációs adatbázist és a PHP szerveroldali programozási nyelvet a FreeBSD-ben. Most elkezdhet dinamikus weboldalakat építeni, hogy webes tartalmat szolgáltasson a látogatóknak.