Kif Tinstalla Apache, MariaDB u PHP (FAMP) Stack fuq FreeBSD


Din il-gwida se tiddeskrivi kif tinstalla u tikkonfigura FBAMP fis-sistema operattiva FreeBSD, li hija simili għal munzell LAMP fuq Linux. FBAMP huwa akronimu li jirrappreżenta kollezzjoni ta' softwer ibbażat fuq FreeBSD OS, Apache HTTP server, is-server tal-web open-source l-aktar popolari fl-internet, MariaDB relational database management system (RDBMS), furketta tal-magna tad-database MySQL, u PHP server. -ġenb.

Rekwiżiti

  1. Installazzjoni ġdida ta' FreeBSD
  2. Konfigurazzjonijiet Inizjali ta' FreeBSD
  3. Aċċess dirett għal console jew SSH f'każ ta' konnessjoni remota ma' FreeBSD.
  4. Indirizz IP statiku kkonfigurat fuq Interface tan-Netwerk.

Pass 1: Installa Apache fuq FreeBSD

1. L-ewwel servizz li ser ninstallaw huwa Apache HTTP server. B'mod awtomatiku, FreeBSD joffri verżjonijiet multipli b'moduli ta 'xogħol runtime differenti għas-server tal-web Apache.

Il-verżjonijiet huma miġbura minn qabel f'pakkett binarju u pprovduti minn repożitorji ta' FreeBSD PORTS. Biex turi l-binarji tal-pakketti Apache kollha pprovduti minn PORTS, agħti l-kmand li ġej.

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

Tista 'wkoll tfittex pakketti Apache disponibbli kkonformati minn qabel fuq FreeBSD billi toħroġ il-kmand ta' hawn taħt.

# pkg search apache2

2. Sussegwentement, installa l-aħħar verżjoni tas-server Apache HTTP bil-moduli kollha meħtieġa billi toħroġ il-kmand li ġej.

# pkg install apache24

3. Wara li s-server tal-web Apache ikun ġie installat fis-sistema, agħti l-kmand li ġej biex tippermetti d-daemon fis-sistema kollha f'FreeBSD.

# sysrc apache24_enable="yes"

Metodu alternattiv biex jiġi attivat Apache daemon ikun li manwalment teditja u tehmeż il-linja apache24_enable=\yes\ fil-fajl /etc/rc.conf kif muri fil-screenshot hawn taħt.

4. Fl-aħħarnett, biex tittestja jekk is-server tal-web huwiex qed jaħdem sew, ibda Apache daemon billi toħroġ il-kmand hawn taħt u żur il-paġna web default billi tipponta browser lejn l-indirizz IP tas-server tiegħek ta 'FQDN (http://IP-orFQDN ) kif muri fil-screenshot hawn taħt.

# service apache24 start

Id-direttorju webroot default tas-server tal-web Apache f'FreeBSD 11.x jinsab fil-mogħdija tas-sistema /usr/local/www/apache24/data/. Hemmhekk issib fajl żgħir index.html li tista' teditja kif preferibbilment.

Pass 2: Installa PHP fuq FreeBSD

5. FreeBSD 11.x joffri verżjonijiet multipli ta' lingwa PHP interpretata fuq in-naħa tas-server ippakkjat f'binarji kkonformati minn qabel. Biex tikseb lista tal-pakketti tal-verżjoni PHP disponibbli kollha pprovduti mir-repożitorji ta' FreeBSD Ports agħti l-kmand li ġej.

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

Metodu alternattiv ta 'tiftix għall-verżjonijiet kollha disponibbli tal-pakkett FreeBSD PHP huwa billi tħaddem il-kmand ta' hawn taħt.

# pkg search -o php

6. Biex tfittex il-binarji kollha disponibbli pprovduti minn FreeBSD għal verżjoni PHP speċifika (5 jew 7 verżjonijiet bħalissa) mexxi l-kmandi hawn taħt. Uża inqas kmand biex tnaqqas u tinnaviga permezz tal-output.

# pkg search php5 |less
# pkg search php7

7. Biex tkun aktar speċifiku dwar liema moduli tipprovdi verżjoni PHP personalizzata, ħaddem il-kmand li ġej kif deskritt hawn taħt, li juri l-moduli kollha disponibbli għall-verżjoni PHP 7.1.

# pkg search php71

8. F'din il-gwida aħna ser ninstallaw rilaxx PHP 7.1 għall-munzell FBAMP tagħna. Oħroġ il-kmand li ġej biex tinstalla PHP b'uħud mill-moduli l-aktar importanti meħtieġa għal installazzjoni CMS tipika.

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

9. Sussegwentement, għandna bżonn noħolqu l-fajl tal-konfigurazzjoni php.conf għas-server tal-web Apache fil-mogħdija tas-sistema /usr/local/etc/apache24/Includes/ bil-kontenut li ġej.

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

Żid il-linji li ġejjin mal-fajl 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. Sabiex tittestja jekk il-gateway PHP huwiex qed jaħdem kif mistenni mas-server tal-web Apache, oħloq fajl PHP info.php f'/usr/local/www/apache24/data/system path, li hija l-mogħdija ta' l-għerq tad-dokument tal-web default ta' Apache server tal-web.

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

Ibda mill-ġdid Apache daemon biex tapplika l-bidliet.

# service apache24 restart

Sussegwentement, żur l-URI li ġej f'browser biex tara sommarju tal-PHP.

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

11. Sabiex tiġi attivata l-fajl tal-konfigurazzjoni PHP ini għall-produzzjoni ħarġet il-kmandi hawn taħt. Tista 'timmodifika l-fajl tal-produzzjoni php.ini sabiex tibdel diversi settings tal-PHP fil-munzell FBAMP tiegħek.

# 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

Pass 3: Installa MariaDB fuq FreeBSD

12. L-aħħar komponent nieqes għall-munzell FBAMP tagħna huwa s-server tad-database MySQL. FreeBSD 11.x joffri aktar minn 1000 pakkett għal databases differenti.

Sabiex turi liema komponenti huma disponibbli għal databases MariaDB jew MySQL, agħti l-kmandi li ġejjin. F'din il-gwida aħna ser ninstallaw id-database MariaDB fuq MySQL (li issa hija proprjetà u żviluppata b'mod attiv minn Oracle).

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

13. F'din il-gwida aħna ser ninstallaw l-aħħar verżjoni tas-server tad-database MariaDB f'FreeBSD, li bħalissa hija rappreżentata mir-rilaxx tal-pakkett binarju mariadb102.

Mexxi l-kmand li ġej sabiex tinstalla s-server u l-klijent MariaDB u l-modulu PHP 7.1 meħtieġ meħtieġ biex taċċessa d-database permezz tal-gateway tas-server Apache.

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

14. Sussegwentement, ippermetti s-sistema tas-server MariaDB kollha u ibda d-daemon tad-database billi tħaddem il-kmandi li ġejjin.

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

15. Biex tiżgura d-database mexxi mysql_secure_installation scrip. Uża s-silta tal-output tal-iskrittura ta' hawn taħt biex tibbies MariaDB.

# /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. B'mod awtomatiku, id-demon MariaDB jisma' għal konnessjonijiet tan-netwerk barra localhost fuq il-port 3306/TCP. Mexxi l-lsof jew il-kmand tas-sockstat biex tikseb l-istat tas-socket MariaDB. Din il-konfigurazzjoni hija perikoluża u tesponi s-servizz għal attakki minn barra tan-netwerk.

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

17. Jekk m'għandekx bżonn aċċess remot għal MariaDB, kun żgur li d-demon MariaDB jisma 'l-localhost biss, billi toħroġ il-kmand ta' hawn taħt. Sussegwentement, ibda mill-ġdid is-servizz MariaDB biex tapplika l-bidliet.

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

18. Għal darb'oħra, mexxi lsof jew sockstat kmand sabiex telenka socket tan-netwerk MariaDB. Is-socket għandu jorbot u jisma' fuq localhost issa, kif muri fl-immaġni ta 'hawn taħt.

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

19. Biex tittestja l-konnettività tad-database MariaDB mill-console toħroġ il-kmand li ġej. Daħħal il-password root MySQL fil-pront u lista ta 'databases default għandha tintwera fl-iskrin tal-console tiegħek kif muri fl-immaġni hawn taħt.

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

Dak kollox! Installajt b'suċċess is-server tal-web Apache b'database MariaDB u interpretu PHP f'FreeBSD. Issa tista 'tibda tuża websajt ta' WordPress fi ftit ħin.

Fit-tutorja li jmiss ser niddiskutu xi suġġetti avvanzati tal-FPBAMP, bħal kif nippermettu u noħolqu hosts virtwali Apache, nippermettu l-modulu tal-kitba mill-ġdid meħtieġ mill-fajl .htaccess biex jaħdem sew u kif niżguraw konnessjonijiet Apache billi tuża ċertifikat Iffirmat Awto jew b'xejn. Ċertifikat offrut mill-entità Let's Encrypt.