A FEMP-verem, amely a Linux LEMP-vereméhez hasonlítható, nyílt forráskódú szoftverek gyűjteménye, amelyeket általában együtt telepítenek, hogy lehetővé tegyék a FreeBSD-kiszolgáló számára dinamikus webhelyek és webalkalmazások tárolását. A FEMP a FreeBSD, az Nginx, a MySQL és a PHP rövidítése.
Ebben az útmutatóban egy FEMP-verem elemeit telepítjük a FreeBSD 12.0 Vultr példányára pkga FreeBSD csomagkezelő használatával .
Követelmények
Mielőtt elkezdené ezt az útmutatót, a következőkre lesz szüksége:
- FreeBSD 12.0 VPS.
- Root jogosultsággal rendelkező
sudofelhasználó vagy felhasználó, aki módosítani tudja a konfigurációt.
- A FreeBSD rendszer és a parancssori felület alapszintű ismerete ajánlott.
Mielőtt elkezded
Ellenőrizze a FreeBSD verzióját.
uname -ro # FreeBSD 12.0-RELEASE-p6
Győződjön meg arról, hogy a FreeBSD rendszere naprakész.
freebsd-update fetch install pkg update && pkg upgrade -y
Telepítse a szükséges csomagokat.
pkg install -y sudo vim bash curl
Hozzon létre egy új felhasználói fiókot a kívánt felhasználónévvel. használjuk johndoe.
adduser # Username: johndoe # Full name: John Doe # Uid (Leave empty for default): <Enter> # Login group [johndoe]: <Enter> # Login group is johndoe. Invite johndoe into other groups? []: wheel # Login class [default]: <Enter> # Shell (sh csh tcsh nologin) [sh]: bash # Home directory [/home/johndoe]: <Enter> # Home directory permissions (Leave empty for default): <Enter> # Use password-based authentication? [yes]: <Enter> # Use an empty password? (yes/no) [no]: <Enter> # Use a random password? (yes/no) [no]: <Enter> # Enter password: your_secure_password # Enter password again: your_secure_password # Lock out the account after creation? [no]: <Enter> # OK? (yes/no): yes # Add another user? (yes/no): no # Goodbye!
Futtassa a visudoparancsot, és törölje a %wheel ALL=(ALL) ALLsor megjegyzését , hogy a wheelcsoport tagjai bármilyen parancsot végrehajthassanak.
visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL
Most váltson az újonnan létrehozott felhasználóra a következővel su:
su - johndoe
MEGJEGYZÉS: Cserélje johndoeki a felhasználónevét.
Állítsa be az időzónát:
sudo tzsetup
A fővonali Nginx telepítése
Az Nginxet a FreeBSD csomagkezelőjével telepítheti pkg. A csomagkezelő segítségével könnyedén telepíthetjük a legtöbb szoftvert a FreeBSD által karbantartott tárolóból. Akkor többet , hogyan kell használni pkgitt .
A legújabb fővonali Nginx telepítéséhez adja ki a következő parancsot:
sudo pkg install -y nginx-devel
Ellenőrizze a verziót:
nginx -v # nginx version: nginx/1.17.1
Ez a parancs telepíti a legújabb fővonali verziót, amely megbízhatóan használható éles kiszolgálón. Ha a legújabb stabil kiadást szeretné telepíteni, használja a nginxcsomagot a helyett nginx-devel.
Most engedélyezze és indítsa el az Nginxet:
sudo sysrc nginx_enable=yes sudo service nginx start
Ha ellenőrizni szeretné, hogy az Nginx elindult-e, futtassa a következő parancsot:
sudo service nginx status
Ennek eredményeként a következőhöz hasonlót fog látni:
# Output nginx is running as pid 17607.
Ellenőrizheti, hogy az Nginx telepítve volt-e, és hibátlanul működik-e, ha meglátogatja szervere nyilvános IP-címét a webböngészőjében. Navigáljon ide: your_server_IP. Látni fogja az alapértelmezett "Üdvözöljük az nginx-ben!" oldalon.
MySQL telepítése
Ismét használhatja pkga szoftver beszerzéséhez és telepítéséhez.
Telepítse a MySQL-t a következő használatával pkg:
sudo pkg install -y mysql80-client mysql80-server
Ellenőrizze a verziót:
mysql --version # mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)
Most engedélyezze és indítsa el a MySQL-t:
sudo sysrc mysql_enable=yes sudo service mysql-server start
A következő parancs futtatásával ellenőrizheti, hogy a MySQL elindult-e:
sudo service mysql-server status
A következőhöz hasonlót fog látni:
# Output mysql is running as pid 19066.
Jó gyakorlatként futtassa a mysql_secure_installationbiztonsági parancsfájlt, amely eltávolít néhány nem biztonságos alapértelmezést, és kissé korlátozza az adatbázisrendszerhez való hozzáférést.
sudo mysql_secure_installation
A rendszer kéri, hogy állítson be jelszót, majd néhány további kérdés következik. Adjon meg egy erős jelszót, majd a többi kérdéshez nyomja meg ENTERa gombot az alapértelmezett beállítások kiválasztásához.
PHP 7.3 telepítése
PHP telepítésének 7.3és pkgfuttassa a következő parancsot:
sudo pkg install -y php73
Ellenőrizze a verziót.
php --version # PHP 7.3.7 (cli) (built: Jul 18 2019 01:14:37) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
Lágy hivatkozás ide php.ini-production: php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Most engedélyezze és indítsa el a PHP-FPM-et:
sudo sysrc php_fpm_enable=yes sudo service php-fpm start
A PHP-FPM elindulásának ellenőrzéséhez futtassa a következő parancsot:
sudo service php-fpm status
Ennek eredményeként valami hasonlót fog látni:
# Output php_fpm is running as pid 23005.
PHP modulok telepítése (opcionális)
A PHP funkcionalitásának fokozása érdekében opcionálisan telepíthet néhány további modult.
A PHP modulokban jelenleg lefordított adatok megtekintéséhez futtassa a következőt:
php -m # [PHP Modules] # Core # date # libxml # mysqlnd # pcre # Reflection # SPL # standard # [Zend Modules]
Az elérhető PHP modulok kereséséhez használja ezt a parancsot:
pkg search ^php73-*
Az eredmények többnyire PHP 7.3-as modulok lesznek, amelyeket telepíthet:
# Output # php73-7.3.7 PHP Scripting Language # php73-Ice37-3.7.2 Modern alternative to object middleware such as CORBA/COM/DCOM/COM+ # php73-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP # php73-aphpunit-1.8 Testing framework for unit tests # php73-bcmath-7.3.7 The bcmath shared extension for php # php73-brotli-0.7.0 Brotli extension for PHP # php73-bsdconv-11.5.0 PHP wrapper for bsdconv # php73-bz2-7.3.7 The bz2 shared extension for php # php73-calendar-7.3.7 The calendar shared extension for php # php73-composer-1.8.6 Dependency Manager for PHP # php73-ctype-7.3.7 The ctype shared extension for php # php73-curl-7.3.7 The curl shared extension for php # . . .
Ha a kutatás után úgy dönt, hogy telepítenie kell egy csomagot, akkor ezt a pkg installparanccsal megteheti . A legtöbb PHP webalkalmazáshoz további modulokra lesz szükség, ezért jó tudni, hogyan kereshetsz rájuk.
Az Nginx beállítása PHP modul használatára
A PHP használata előtt be kell állítani, hogy az Nginx-szel működjön.
Futtassa sudo vim /usr/local/etc/nginx/test.confés töltse fel a fájlt a következő tartalommal:
server { listen 80; server_name SERVER_IP; # Replace with your IP or hostname root /usr/local/www/nginx-dist; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Mentse el a fájlt, és lépjen ki a :+ W+ gombbalQ
Most bele kell foglalnunk test.confa nginx.conffőfájlba. A fő konfigurációs fájl nginx alatt él /usr/local/etc/nginx, mint nginx.conf.
Futtassa sudo vim /usr/local/etc/nginx/nginx.confa fő konfigurációs fájl megnyitásához a Vimben, és adja hozzá a következő sort a http {}blokkhoz.
include test.conf;
Teszt Nginx konfiguráció:
sudo nginx -t
Mivel konfigurációs módosításokat hajtott végre az Nginxben, újra kell töltenie a szolgáltatást az alkalmazáshoz. Ellenkező esetben az Nginx továbbra is a korábbi konfigurációval fog működni.
sudo service nginx reload
PHP feldolgozás tesztelése
Annak tesztelésére, hogy a rendszer megfelelően van-e beállítva a PHP számára, létrehozhat egy nagyon egyszerű PHP szkriptet. Ezt a forgatókönyvet fogod hívni info.php. Alapértelmezés szerint a rootbeállítás értéke /usr/local/www/nginx-dist. A info.phpfájlt ezen a helyen hozhatja létre :
sudo vim /usr/local/www/nginx-dist/info.php
Adja hozzá ezt a kódot ehhez a fájlhoz:
<?php phpinfo(); ?>
Navigáljon ide, http://your_server_IP/ìnfo.phpés a következő oldalt fogja látni:

A telepítés és beállítás után távolítsa el a info.phpfájlt, hogy elkerülje a kiszolgálóval kapcsolatos információk nyilvánosságra hozatalát.
sudo rm /usr/local/www/nginx-dist/info.php
Következtetés
Gratulálunk, sikeresen telepítette a FEMP veremét a FreeBSD 12.0 VPS-ére. Most több lehetőség közül választhat, hogy mit tegyen ezután. Telepített egy platformot, amely lehetővé teszi a legtöbb webhely és webes szoftver telepítését.