Otu esi etinye Apache, MariaDB na PHP (FAMP) Stack na FreeBSD


Ntuziaka a ga-akọwa otu esi etinye ma hazie FBAMP na sistemụ arụmọrụ FreeBSD, nke yiri ngwugwu LAMP na Linux. FBAMP bụ acronym nke na-anọchi anya nchịkọta ngwanrọ dabere na FreeBSD OS, sava Apache HTTP, sava weebụ mepere emepe kacha ewu ewu na ịntanetị, MariaDB relational database management system (RDBMS), ndụdụ nke MySQL nchekwa data engine, na PHP nkesa. -akụkụ.

Ihe achọrọ

  1. Nwụnye ọhụrụ nke FreeBSD
  2. Nhazi mmalite FreeBSD
  3. Nnweta njikwa ozugbo ma ọ bụ SSH ma ọ bụrụ na enwere njikọ dịpụrụ adịpụ na FreeBSD.
  4. Adreesị IP kwụ ọtọ ahaziri na ntanetị netwọkụ.

Kwụpụ 1: Wụnye Apache na FreeBSD

1. Ọrụ mbụ anyị ga-arụnye bụ sava Apache HTTP. Site na ndabara, FreeBSD na-enye ọtụtụ nsụgharị nwere modul ọrụ oge dị iche iche maka sava weebụ Apache.

A na-achịkọtalarị ụdịdị ndị a na ngwungwu ọnụọgụ abụọ ma nyekwa ya site na ebe nchekwa PORTS FreeBSD. Iji gosipụta ọnụọgụ abụọ ngwugwu Apache niile nke PORTS nyere, nye iwu a.

# ls /usr/ports/www/ | grep apache

Ị nwekwara ike ịchọ ngwungwu Apache emezugoro na FreeBSD site n'inye iwu dị n'okpuru.

# pkg search apache2

2. Ọzọ, wụnye ihe nkesa HTTP Apache kachasị ọhụrụ yana modul niile achọrọ site na ịnye iwu na-esonụ.

# pkg install apache24

3. Mgbe arụnyere ihe nkesa weebụ Apache na sistemụ, nye iwu na-esonụ iji mee ka daemon system-wide na FreeBSD.

# sysrc apache24_enable="yes"

Ụzọ ọzọ iji mee ka Apache daemon nwee ike bụ iji aka dezie wee tinye ahịrị apache24_enable=\ee\ na faịlụ /etc/rc.conf dị ka egosiri na nseta ihuenyo dị n'okpuru.

4. N'ikpeazụ, iji nwalee ma ọ bụrụ na ihe nkesa weebụ na-arụ ọrụ nke ọma, malite Apache daemon site n'inye iwu dị n'okpuru ebe a wee gaa na ibe weebụ nke ndabara site n'igosi ihe nchọgharị na adreesị IP nke FQDN gị (http://IP-orFQDN). ) dị ka egosiri na nseta ihuenyo dị n'okpuru.

# service apache24 start

Akwụkwọ ndekọ webroot nke ndabara nke sava weebụ Apache dị na FreeBSD 11.x dị na /usr/local/www/apache24/data/ụzọ usoro. N'ebe ahụ ị ga-ahụ obere faịlụ index.html ị nwere ike dezie dị ka ọkachamma.

Kwụpụ 2: Wụnye PHP na FreeBSD

5. FreeBSD 11.x na-enye ọtụtụ nsụgharị nke PHP atụgharịrị asụsụ akụkụ nkesa na ngwugwu na ọnụọgụ abụọ agbagoro. Iji nweta ndepụta ngwugwu ụdị PHP niile dị site na ebe nchekwa ọdụ ụgbọ mmiri FreeBSD na-enye iwu a.

# ls /usr/ports/lang/ | grep php

Ụzọ ọzọ nke ịchọ ụdị ngwungwu PHP FreeBSD niile dị bụ site n'ịgba iwu dị n'okpuru.

# pkg search -o php

6. Ka ịchọọ ọnụọgụ abụọ dịnụ nke FreeBSD nyere maka ụdị PHP akọwapụtara (ụdị 5 ma ọ bụ 7 ugbu a) na-eme iwu ndị a. Jiri obere iwu mee ka ọ dị warara wee banye na mmepụta.

# pkg search php5 |less
# pkg search php7

7. Ka ị mara kpọmkwem ihe modul a omenala PHP version na-enye, na-agba ọsọ na-esonụ iwu dị ka akọwara n'okpuru, nke na-egosipụta niile dị modul maka PHP 7.1 version.

# pkg search php71

8. N'ime ntuziaka a, anyị ga-etinye PHP 7.1 ntọhapụ maka nchịkọta FBAMP anyị. Nye iwu na-esonụ ka ịwụnye PHP na ụfọdụ modul kacha mkpa achọrọ maka nrụnye CMS.

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

9. Ọzọ, anyị kwesịrị ịmepụta faịlụ nhazi php.conf maka sava weebụ Apache na /usr/local/etc/apache24/Gụnyere/ usoro usoro na ọdịnaya ndị a.

# nano /usr/local/etc/apache24/Includes/php.conf

Tinye ahịrị ndị a na faịlụ php.conf.

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

10. Iji nwalee ma ọ bụrụ na ọnụ ụzọ ámá PHP na-arụ ọrụ dị ka a tụrụ anya ya na sava weebụ Apache, mepụta faịlụ info.php PHP na /usr/local/www/apache24/data/system path, nke bụ ụzọ ndabere akwụkwọ weebụ nke Apache. sava weebụ.

# echo '<?php phpinfo();  ?>' | tee -a /usr/local/www/apache24/data/info.php

Malitegharịa ekwentị Apache daemon iji tinye mgbanwe.

# service apache24 restart

Na-esote, gaa na URI ndị a na ihe nchọgharị ka ịlele nchịkọta PHP.

http://IP-or-FQDN/info.php 

11. Iji rụọ ọrụ PHP ini nhazi faịlụ maka mmepụta nke n'okpuru iwu. Ị nwere ike gbanwee faịlụ mmepụta php.ini iji gbanwee ntọala PHP dị iche iche na nchịkọta FBAMP gị.

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.bakup
# ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Kwụpụ 3: Wụnye MariaDB na FreeBSD

12. The ikpeazụ efu akụrụngwa maka anyị FBAMP tojupụtara bụ MySQL nchekwa data nkesa na-. FreeBSD 11.x na-enye ihe karịrị ngwugwu 1000 maka ọdụ data dị iche iche.

Iji gosi ihe akụrụngwa dị maka ọdụ data MariaDB ma ọ bụ MySQL, nye iwu ndị a. N'ime ntuziaka a, anyị ga-etinye nchekwa data MariaDB n'elu MySQL (nke Oracle nwere ugbu a ma mepụta nke ọma).

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

13. N'ime ntuziaka a, anyị ga-etinye ihe nkesa nchekwa data MariaDB kacha ọhụrụ na FreeBSD, nke ugbu a na-anọchi anya mariadb102 ọnụọgụ abụọ ngwugwu.

Gbaa iwu a ka ịwụnye ihe nkesa MariaDB na onye ahịa yana modul PHP 7.1 achọrọ iji nweta nchekwa data site na ọnụ ụzọ sava Apache.

# pkg install mariadb102-server mariadb102-client php71-mysqli

14. Na-esote, mee ka usoro nkesa MariaDB rụọ ọrụ n'obosara wee malite daemon nchekwa data site na ịme iwu ndị a.

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

15. Iji chekwaa nchekwa data na-agba ọsọ mysql_secure_installation scrip. Jiri mpụta mpụta edemede dị n'okpuru ebe a iji mee ka MariaDB sie ike.

# /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!

16. Site na ndabara, MariaDB daemon na-ege ntị maka njikọ netwọk n'èzí localhost na ọdụ ụgbọ mmiri 3306/TCP. Gbaa iwu lsof ma ọ bụ sockstat iji nweta steeti socket MariaDB. Nhazi a dị ize ndụ ma kpughee ọrụ ahụ na mwakpo netwọk dị n'èzí.

# lsof -i4 -i6
# sockstat -4 -6

17. Ọ bụrụ na ịchọghị ohere ịnweta MariaDB, jide n'aka na MariaDB daemon na-ege ntị localhost naanị, site n'inye iwu dị n'okpuru. Na-esote, malitegharịa ọrụ MariaDB ka itinye mgbanwe.

# sysrc mysql_args="--bind-address=127.0.0.1"
# service mysql-server restart
or
# /usr/local/etc/rc.d/mysql-server restart

18. Ọzọ, na-agba ọsọ lsof ma ọ bụ sockstat iwu ka ịdepụta MariaDB netwọk soket. Oghere ahụ kwesịrị ijikọ wee gee ntị na localhost ugbu a, dị ka egosiri na foto dị n'okpuru.

# lsof -i4 | grep mysql
# netstat -an | grep 3306
# sockstat -4 | grep 3306

19. Iji nwalee MariaDB nchekwa data Njikọta si console na-enye ndị a iwu. Tinye MySQL mgbọrọgwụ okwuntughe ozugbo na ndepụta ọdụ data ndabara kwesịrị igosipụta na ihuenyo njikwa gị dị ka egosiri na foto dị n'okpuru.

# mysql -u root -p -e "show databases"

Ọ gwụla! Ị tinyela sava weebụ Apache nke ọma na nchekwa data MariaDB na PHP na FreeBSD. Ị nwere ike ịmalite ugbu a ibunye webụsaịtị WordPress n'oge adịghị anya.

N'ime nkuzi na-esote anyị ga-atụle ụfọdụ isiokwu FPBAMP dị elu, dị ka otu esi eme ka ma mepụta ndị ọbịa Apache mebere, mee ka modul edegharị nke faịlụ .htaccess chọrọ ka ọ rụọ ọrụ nke ọma yana otu esi echekwa njikọ Apache site na iji akwụkwọ ejiri aka aka ma ọ bụ n'efu. Asambodo nke Ka anyị ezoro ezo.