Një grumbull FEMP, i cili është i krahasueshëm me një pirg LEMP në Linux, është një koleksion softuerësh me burim të hapur që zakonisht instalohet së bashku për të mundësuar një server FreeBSD që të presë faqet e internetit dinamike dhe aplikacionet në ueb. FEMP është një akronim që qëndron për FreeBSD, Nginx, MySQL dhe PHP.
Në këtë udhëzues, ne do të vendosim elementë të një pirg FEMP në një shembull FreeBSD 12.0 Vultr duke përdorur pkgmenaxherin e paketave FreeBSD.
Kërkesat
Përpara se të filloni këtë udhëzues, do t'ju nevojiten sa vijon:
- Një FreeBSD 12.0 VPS.
- Një përdorues me privilegje rrënjësore ose
sudopërdorues për të bërë ndryshime konfigurimi.
- Rekomandohet njohja bazë me sistemin FreeBSD dhe ndërfaqen e linjës së komandës.
Perpara se te fillosh
Kontrolloni versionin e FreeBSD.
uname -ro # FreeBSD 12.0-RELEASE-p6
Sigurohuni që sistemi juaj FreeBSD të jetë i përditësuar.
freebsd-update fetch install pkg update && pkg upgrade -y
Instaloni paketat e nevojshme.
pkg install -y sudo vim bash curl
Krijo një llogari të re përdoruesi me emrin e përdoruesit të preferuar. Ne përdorim 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!
Ekzekutoni visudokomandën dhe hiqni komentin e %wheel ALL=(ALL) ALLlinjës, për të lejuar anëtarët e wheelgrupit të ekzekutojnë çdo komandë.
visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL
Tani, kaloni te përdoruesi juaj i sapokrijuar me su:
su - johndoe
SHËNIM: Zëvendësojeni johndoeme emrin tuaj të përdoruesit.
Vendosni zonën kohore:
sudo tzsetup
Instalimi i Nginx në linjën kryesore
Mund të instaloni Nginx duke përdorur menaxherin e paketave të FreeBSD, pkg. Një menaxher paketash ju lejon të instaloni shumicën e softuerit pa mundim nga një depo e mirëmbajtur nga FreeBSD. Mund të mësoni më shumë se si të përdorni pkgkëtu .
Për të instaluar Nginx-in më të fundit të linjës kryesore, lëshoni komandën e mëposhtme:
sudo pkg install -y nginx-devel
Kontrolloni versionin:
nginx -v # nginx version: nginx/1.17.1
Kjo komandë do të instalojë versionin më të fundit të linjës kryesore, i cili mund të përdoret me besueshmëri në një server prodhimi. Nëse dëshironi të instaloni versionin më të fundit të qëndrueshëm, thjesht përdorni nginxpaketën në vend të nginx-devel.
Tani, aktivizoni dhe filloni Nginx:
sudo sysrc nginx_enable=yes sudo service nginx start
Për të kontrolluar që Nginx ka filluar, mund të ekzekutoni komandën e mëposhtme:
sudo service nginx status
Si rezultat, do të shihni diçka të ngjashme me sa vijon:
# Output nginx is running as pid 17607.
Ju mund të verifikoni që Nginx ishte instaluar dhe funksiononte pa gabime duke vizituar adresën IP publike të serverit tuaj në shfletuesin tuaj të internetit. Navigoni te your_server_IP. Do të shihni parazgjedhjen "Mirë se vini në nginx!" faqe.
Instalimi i MySQL
Përsëri, ju mund të përdorni pkgpër të marrë dhe instaluar softuerin tuaj.
Instaloni MySQL duke përdorur pkg:
sudo pkg install -y mysql80-client mysql80-server
Kontrolloni versionin:
mysql --version # mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)
Tani, aktivizoni dhe filloni MySQL:
sudo sysrc mysql_enable=yes sudo service mysql-server start
Për të kontrolluar që MySQL ka filluar, mund të ekzekutoni komandën e mëposhtme:
sudo service mysql-server status
Do të shihni diçka të ngjashme me sa vijon:
# Output mysql is running as pid 19066.
Si një praktikë e mirë, duhet të ekzekutoni mysql_secure_installationskriptin e sigurisë që do të heqë disa parazgjedhje të pasigurta dhe do të kufizojë pak aksesin në sistemin tuaj të bazës së të dhënave.
sudo mysql_secure_installation
Do t'ju kërkohet të vendosni një fjalëkalim, pasuar nga disa pyetje të tjera. Futni një fjalëkalim të fortë dhe më pas për pyetjet e tjera shtypni ENTERpër të zgjedhur parazgjedhjet.
Instalimi i PHP 7.3
Për të instaluar PHP 7.3me pkg, ekzekutoni këtë komandë:
sudo pkg install -y php73
Kontrolloni versionin.
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
Lidhja e butë php.ini-productionme php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Tani, aktivizoni dhe filloni PHP-FPM:
sudo sysrc php_fpm_enable=yes sudo service php-fpm start
Për të kontrolluar që PHP-FPM ka filluar, mund të ekzekutoni komandën e mëposhtme:
sudo service php-fpm status
Si rezultat, do të shihni diçka të ngjashme:
# Output php_fpm is running as pid 23005.
Instalimi i moduleve PHP (opsionale)
Për të përmirësuar funksionalitetin e PHP, mund të instaloni opsionalisht disa module shtesë.
Për të parë të përpiluar aktualisht në modulet PHP, mund të ekzekutoni këtë:
php -m # [PHP Modules] # Core # date # libxml # mysqlnd # pcre # Reflection # SPL # standard # [Zend Modules]
Për të kërkuar modulet e disponueshme PHP, mund të përdorni këtë komandë:
pkg search ^php73-*
Rezultatet do të jenë kryesisht module PHP 7.3 që mund të instaloni:
# 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 # . . .
Nëse, pas hulumtimit, vendosni se duhet të instaloni një paketë, mund ta bëni këtë duke përdorur pkg installkomandën. Shumica e aplikacioneve në internet PHP do të kërkojnë module shtesë, kështu që është mirë të dini se si t'i kërkoni ato.
Konfigurimi i Nginx për të përdorur modulin PHP
Përpara se të përdorni PHP, duhet ta konfiguroni që të funksionojë me Nginx.
Ekzekutoni sudo vim /usr/local/etc/nginx/test.confdhe plotësoni skedarin me përmbajtjen e mëposhtme:
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; } }
Ruani skedarin dhe dilni me :+ W+Q
Tani duhet të përfshijmë test.confnë nginx.confskedarin kryesor . Skedari kryesor i konfigurimit për Nginx jeton /usr/local/etc/nginxsi nginx.conf.
Ekzekutoni sudo vim /usr/local/etc/nginx/nginx.confpër të hapur skedarin kryesor të konfigurimit në Vim dhe shtoni rreshtin e mëposhtëm në http {}bllok.
include test.conf;
Testoni konfigurimin Nginx:
sudo nginx -t
Për shkak se keni bërë ndryshime konfigurimi në Nginx, duhet të rifreskoni shërbimin që ato të aplikohen. Përndryshe, Nginx do të vazhdojë të punojë me konfigurimin e mëparshëm.
sudo service nginx reload
Testimi i përpunimit PHP
Për të testuar nëse sistemi juaj është konfiguruar saktë për PHP, mund të krijoni një skript shumë bazë PHP. Ju do ta quani këtë skenar info.php. Si parazgjedhje, rootështë vendosur në /usr/local/www/nginx-dist. Ju mund të krijoni info.phpskedarin nën atë vendndodhje:
sudo vim /usr/local/www/nginx-dist/info.php
Shtoni këtë kod në atë skedar:
<?php phpinfo(); ?>
Shkoni te http://your_server_IP/ìnfo.phpdhe do të shihni faqen e mëposhtme:

Pas instalimit dhe konfigurimit, duhet të hiqni info.phpskedarin për të shmangur zbulimin e informacionit në lidhje me serverin për publikun.
sudo rm /usr/local/www/nginx-dist/info.php
konkluzioni
Urime, ju keni instaluar me sukses një pirg FEMP në FreeBSD 12.0 VPS tuaj. Tani keni shumë zgjedhje për atë që të bëni më pas. Ju keni instaluar një platformë që do t'ju lejojë të instaloni shumicën e llojeve të faqeve të internetit dhe softuerëve të internetit në krye të saj.