Si të instaloni Nginx, MariaDB dhe PHP (FEMP) Stack në FreeBSD
Ky tutorial do t'ju udhëzojë se si të instaloni dhe konfiguroni FBEMP në versionin më të fundit të FreeBSD 11.x. FBEMP është një akronim që përshkruan koleksionin e mëposhtëm të softuerit:
Shpërndarja e ngjashme me Unix-in FreeBSD 11.1, serveri në internet Nginx, sistemi i menaxhimit të bazës së të dhënave relacionale MariaDB (një fork komunitar i MySQL) dhe gjuhë programimi dinamike PHP që funksionon në anën e serverit.
- Instalimi i FreeBSD 11.x
- 10 gjëra për të bërë pas instalimit të FreeBSD
Hapi 1: Instaloni Nginx Web Server në FreeBSD
1. Shërbimi i parë që do të instalojmë për pirgun tonë FBEMP në FreeBSD është serveri i uebit, i përfaqësuar nga softueri Nginx.
Ueb serveri Nginx ka më shumë paketa të parapërputhshme të disponueshme në FreeBSD 11.x PORTS. Për të marrë një listë të binarëve Nginx nga depot e Ports, lëshoni komandat e mëposhtme në terminalin e serverit tuaj.
# ls /usr/ports/www/ | grep nginx
# pkg search -o nginx
2. Në këtë konfigurim të veçantë, ne do të instalojmë versionin kryesor të paketës së Nginx duke lëshuar komandën e mëposhtme. Menaxhimi i paketës pkg do t'ju pyesë nëse dëshironi të vazhdoni me instalimin e paketës nginx. Përgjigjuni me po (y
në vijën e komandës) për të filluar procesin e instalimit.
# pkg install nginx
3. Pasi të jetë instaluar në sistemin tuaj paketa e serverit të uebit Nginx, ekzekutoni komandat e mëposhtme në mënyrë që të aktivizoni demon në të gjithë sistemin dhe të filloni shërbimin në sistemin tuaj.
# sysrc nginx_enable="yes"
# service nginx start
4. Më pas, duke përdorur komandën sockstat, verifikoni prizat e rrjetit të shërbimit Nginx, nëse janë të lidhura në portën 80/TCP, duke lëshuar komandën e mëposhtme. Dalja e komandës sockstat do të transmetohet përmes programit grep në mënyrë që të reduktojë rezultatet e kthyera vetëm në vargun nginx.
# sockstat -4 | grep nginx
5. Së fundi, hapni një shfletues në një kompjuter desktop në rrjetin tuaj dhe vizitoni faqen e internetit të paracaktuar Nginx nëpërmjet protokollit HTTP. Shkruani FQDN-në e kompjuterit tuaj ose emrin e domenit tuaj ose adresën IP të serverit tuaj në URL-në e shfletuesit të paraqitur për të kërkuar faqen e parazgjedhur të serverit të uebit Nginx. Mesazhi \Mirë se erdhe në nginx! duhet të shfaqet në shfletuesin tuaj, siç ilustrohet në pamjen e mëposhtme të ekranit.
http://yourdomain.com
http://your_server_IP
http://your_machine_FQDN
6. Drejtoria e parazgjedhur e uebboot-it për përmbajtjen e uebit Nginx ndodhet në shtegun e sistemit /usr/local/www/nginx/. Në këtë vendndodhje ju duhet të krijoni, kopjoni ose instaloni skedarë të përmbajtjes së uebit, si skedarët .html
ose .php
, për faqen tuaj të internetit.
Për të ndryshuar këtë vendndodhje, modifikoni skedarin kryesor të konfigurimit nginx dhe ndryshoni direktivën rrënjësore për të pasqyruar rrugën tuaj të re të webroot.
# nano /usr/local/etc/nginx/nginx.conf
Këtu, kërkoni dhe përditësoni rreshtin e mëposhtëm për të pasqyruar rrugën tuaj të re të webroot:
root /path/to/new/webroot;
Hapi 2: Instaloni PHP në FreeBSD
7. Ndryshe nga serveri Apache HTTP, Nginx nuk ka aftësinë të përpunojë kodin PHP. Në këmbim, serveri i uebit Nginx kalon kërkesat PHP tek një përkthyes PHP, siç është daemon php-fpm FastCGI, i cili inspekton dhe ekzekuton kodin. Kodi i rezultuar kthehet më pas në Nginx, i cili ri-monton kodin përsëri në formatin e kërkuar html dhe e dërgon kodin më tej te shfletuesi i internetit i vizitorëve.
Depot e Porteve të FreeBSD 11.x ofrojnë versione të shumta binare për gjuhën e programimit PHP, të tilla si lëshimet PHP 5.6, PHP 7.0 dhe PHP 7.1. Për të shfaqur të gjitha versionet e disponueshme të PHP të para-përpiluara në FreeBSD 11.x, ekzekutoni komandat e mëposhtme.
# pkg search -o php
# ls /usr/ports/lang/ | grep php
8. Ju mund të zgjidhni të instaloni cilindo version të PHP që ju duket më i përshtatshmi për aplikacionin ueb që përdorni në sistemin tuaj. Megjithatë, në këtë udhëzues ne do të instalojmë versionin më të fundit të PHP.
Për të instaluar lëshimin e PHP 7.1 dhe disa module të rëndësishme PHP që kërkohen për aplikacione të ndryshme ueb, ekzekutoni komandën e mëposhtme.
# pkg install php71 php71-mysqli php71-mcrypt php71-zlib php71-gd php71-json mod_php71 php71-mbstring php71-curl
9. Pasi të keni instaluar paketat PHP në sistemin tuaj, hapni skedarin e konfigurimit PHP-FPM për Nginx dhe rregulloni vlerat e përdoruesit dhe grupit që të përputhen me vlerën në përdoruesin e kohës së funksionimit Nginx, që është www. Së pari, bëni një kopje rezervë të skedarit me komandën e mëposhtme.
# cp /usr/local/etc/php-fpm.d/www.conf{,.backup}
Pastaj, hapni skedarin dhe përditësoni rreshtat e mëposhtëm siç paraqitet në mostrën e mëposhtme.
user = www
group = www
10. Gjithashtu, krijoni një skedar konfigurimi PHP që përdoret për prodhim duke lëshuar komandën e mëposhtme. Në këtë skedar mund të bëni ndryshime të personalizuara që do të aplikohen në interpretuesin PHP në kohën e ekzekutimit.
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Për shembull, ndryshoni cilësimin date.zone orare për përkthyesin PHP në mënyrë që të përditësoni vendndodhjen fizike të makinës suaj siç tregohet në shembullin e mëposhtëm. Lista e zonave kohore PHP mund të gjendet këtu: http://php.net/manual/en/timezones.php.
# vi /usr/local/etc/php.ini
Shto zonën orare të mëposhtme (cakto zonën kohore sipas vendit tënd).
date.timezone = Europe/London
Ju gjithashtu mund të rregulloni variabla të tjerë PHP, të tilla si madhësia maksimale e skedarit të skedarit të ngarkuar, e cila mund të rritet duke modifikuar vlerat e mëposhtme:
upload_max_filesize = 10M
post_max_size = 10M
11. Pas kësaj, ju keni bërë cilësimet e personalizuara për PHP, aktivizoni dhe filloni demonin PHP-FPM në mënyrë që të aplikoni konfigurimet e reja duke lëshuar komandat e mëposhtme.
# sysrc php_fpm_enable=yes
# service php-fpm start
12. Si parazgjedhje, daemon PHP-FPM në FreeBSD lidhet me një prizë rrjeti lokal në portin 9000/TCP. Për të shfaqur prizat e rrjetit PHP-FPM, ekzekutoni komandën e mëposhtme.
# sockstat -4 -6| grep php-fpm
13. Në mënyrë që serveri i uebit Nginx të kalojë skriptet PHP te serveri i portës FastCGI, i cili po dëgjon në prizën 127.0.0.1:9000
, hapni skedarin kryesor të konfigurimit Nginx dhe shtoni bllokun e mëposhtëm të kodit siç ilustrohet në mostrën e mëposhtme.
# vi /usr/local/etc/nginx/nginx.conf
Blloku i kodit FastCGI për 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. Për të parë informacionin aktual PHP për serverin tuaj, krijoni një skedar info.php
në shtegun e uebit Nginx duke lëshuar komandën e mëposhtme.
# echo "<?php phpinfo(); ?>" | tee /usr/local/www/nginx/info.php
15. Më pas, provoni dhe rinisni Nginx daemon për të aplikuar cilësimet e PHP FastCGI dhe vizitoni faqen info.php
në një shfletues.
# nginx -t # Test nginx configuration file for syntax errors
# service nginx restart
Zëvendësoni adresën IP ose emrin e domenit në lidhjet e mëposhtme në përputhje me rrethanat. Faqja e informacionit PHP duhet të shfaqë informacionin siç ilustrohet në pamjen e mëposhtme të ekranit.
http://yourdomain.com/info.php
http://server_IP-or-FQDN/info.php
Hapi 3: Instaloni MariaDB në FreeBSD
16. Komponenti i fundit që mungon nga rafti juaj FEMP në bazën e të dhënave. MariaDB/MySQL është një nga programet RDBMS me burim të hapur më të lidhur me serverin e internetit Nginx që përdoret për vendosjen e faqeve dinamike të internetit.
Në fakt, MariaDB/MySQL është një nga bazat e të dhënave relacionale më të përdorura në botë. Duke kërkuar nëpër Portet FreeBSD, mund të gjeni versione të shumta të MariaDB/MySQL.
Në këtë udhëzues ne do të instalojmë bazën e të dhënave MariaDB, e cila është një pjesë e komunitetit të bazës së të dhënave MySQL. Për të kërkuar për versionet e disponueshme të MariaDB, lëshoni komandat e mëposhtme në terminal.
# ls -al /usr/ports/databases/ | grep mariadb
# pkg search mariadb
17. Për të instaluar versionin më të fundit të serverit të bazës së të dhënave MariaDB ekzekutoni komandën e mëposhtme. Ju gjithashtu duhet të instaloni modulin e drejtuesit të bazës së të dhënave relacionale PHP të përdorur nga skriptet PHP për t'u lidhur me MySQL.
# pkg install mariadb102-server php71-mysqli
18. Pasi të jetë instaluar baza e të dhënave, aktivizoni MySQL daemon dhe filloni shërbimin e bazës së të dhënave duke ekzekutuar komandat e mëposhtme.
# sysrc mysql_enable="YES"
# service mysql-server start
19. Gjithashtu, sigurohuni që të rinisni daemon PHP-FPM në mënyrë që të ngarkoni shtrirjen e shoferit 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
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. Për të testuar lidhjen e bazës së të dhënave MariaDB nga tastiera, ekzekutoni komandën e mëposhtme.
# mysql -u root -p -e "show status like ‘Connections’"
22. Për të siguruar më tej MariaDB, e cila si parazgjedhje dëgjon lidhjet hyrëse të rrjetit në prizën 0.0.0.0:3306/TCP, lëshoni komandën e mëposhtme për të detyruar shërbimin të lidhet në ndërfaqen loopback dhe të ndalojë plotësisht aksesin në distancë. Më pas, rinisni shërbimin MySQL për të aplikuar konfigurimin e ri.
# sysrc mysql_args="--bind-address=127.0.0.1"
# service mysql-server restart
Verifikoni nëse lidhja localhost është aplikuar me sukses duke ekzekutuar komandën netstat siç tregohet në shembullin e mëposhtëm.
# netstat -an -p tcp
Kjo eshte e gjitha! Ju keni instaluar me sukses web serverin Nginx, bazën e të dhënave relacionale MariaDB dhe gjuhën e programimit PHP nga ana e serverit në FreeBSD. Tani mund të filloni të ndërtoni faqe interneti dinamike për t'u shërbyer vizitorëve tuaj përmbajtje në internet.