Kako instalirati Apache, MariaDB i PHP (FAMP) Stack na FreeBSD


Ovaj vodič će opisati kako instalirati i konfigurirati FBAMP u FreeBSD operativnom sustavu, koji je sličan LAMP stogu na Linuxu. FBAMP je akronim koji označava kolekciju softvera temeljenog na FreeBSD OS-u, Apache HTTP poslužitelju, najpopularnijem open-source web poslužitelju na internetu, MariaDB< sustav upravljanja relacijskom bazom podataka (RDBMS), račvanje MySQL mehanizma baze podataka i PHP na strani poslužitelja.

Zahtjevi

  1. Nova instalacija FreeBSD-a
  2. FreeBSD početne konfiguracije
  3. Izravni pristup konzoli ili SSH u slučaju udaljene veze na FreeBSD.
  4. Statička IP adresa konfigurirana na mrežnom sučelju.

Korak 1: Instalirajte Apache na FreeBSD

1. Prva usluga koju ćemo instalirati je Apache HTTP poslužitelj. Prema zadanim postavkama, FreeBSD nudi više verzija s različitim modulima rada za Apache web poslužitelj.

Verzije su unaprijed kompajlirane u binarni paket i osigurane u spremištima FreeBSD PORTS. Za prikaz svih binarnih datoteka Apache paketa koje nudi PORTS, izdajte sljedeću naredbu.

ls /usr/ports/www/ | grep apache

Također možete pretraživati dostupne unaprijed usklađene Apache pakete na FreeBSD izdavanjem donje naredbe.

pkg search apache2

2. Zatim instalirajte najnoviju verziju Apache HTTP poslužitelja sa svim potrebnim modulima izdavanjem sljedeće naredbe.

pkg install apache24

3. Nakon što je Apache web poslužitelj instaliran na sustav, izdajte sljedeću naredbu da biste omogućili demon na cijelom sustavu u FreeBSD-u.

sysrc apache24_enable="yes"

Alternativna metoda omogućavanja Apache demona bila bi ručno uređivanje i dodavanje retka apache24_enable="yes" u datoteci /etc/rc.conf kao što je prikazano na slici ispod.

4. Na kraju, da provjerite radi li web poslužitelj ispravno, pokrenite Apache demon izdavanjem donje naredbe i posjetite zadanu web stranicu usmjeravanjem preglednika na IP adresu vašeg poslužitelja FQDN ( http://IP-orFQDN) kao što je prikazano na snimci zaslona u nastavku.

service apache24 start

Zadani korijenski direktorij Apache web poslužitelja u FreeBSD 11.x nalazi se u /usr/local/www/apache24/data/ sistemskoj stazi. Tamo ćete pronaći malu datoteku index.html koju možete urediti po želji.

Korak 2: Instalirajte PHP na FreeBSD

5. FreeBSD 11.x nudi više verzija PHP interpretiranog jezika na strani poslužitelja upakiranog u unaprijed usklađene binarne datoteke. Da biste dobili popis svih dostupnih paketa PHP verzija koje pružaju FreeBSD Ports repozitoriji, izdajte sljedeću naredbu.

ls /usr/ports/lang/ | grep php

Alternativna metoda traženja svih dostupnih verzija FreeBSD PHP paketa je pokretanje donje naredbe.

pkg search -o php

6. Za pretraživanje svih dostupnih binarnih datoteka koje nudi FreeBSD za određenu verziju PHP-a (trenutačne verzije 5 ili 7) pokrenite donje naredbe. Koristite manje naredbu za sužavanje i navigaciju kroz izlaz.

pkg search php5 |less
pkg search php7

7. Da biste preciznije odredili koje module nudi prilagođena PHP verzija, pokrenite sljedeću naredbu kao što je opisano u nastavku, koja prikazuje sve dostupne module za PHP 7.1 verziju.

pkg search php71

8. U ovom vodiču ćemo instalirati izdanje PHP 7.1 za naš FBAMP stog. Izdajte sljedeću naredbu za instalaciju PHP-a s nekim od najvažnijih modula potrebnih za tipičnu instalaciju CMS-a.

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

9. Zatim moramo stvoriti konfiguracijsku datoteku php.conf za Apache web poslužitelj u /usr/local/etc/apache24/Includes/ put sustava sa sljedećim sadržajem.

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

Dodajte sljedeće retke u datoteku 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. Kako biste testirali radi li PHP pristupnik kako se očekuje s Apache web poslužiteljem, izradite PHP info.php datoteku u /usr/local/www/ apache24/data/systemstaza, koja je zadana korijenska staza web dokumenta Apache web poslužitelja.

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

Ponovno pokrenite Apache demon za primjenu promjena.

service apache24 restart

Zatim posjetite sljedeći URI u pregledniku da vidite PHP sažetak.

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

11. Kako biste aktivirali PHP ini konfiguracijsku datoteku za proizvodnju, izdajte donje naredbe. Možete modificirati proizvodnu datoteku php.ini kako biste promijenili različite PHP postavke u svom FBAMP stogu.

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

Korak 3: Instalirajte MariaDB na FreeBSD

12. Zadnja komponenta koja nedostaje za naš FBAMP skup je MySQL poslužitelj baze podataka. FreeBSD 11.x nudi više od 1000 paketa za različite baze podataka.

Kako biste prikazali koje su komponente dostupne za MariaDB ili MySQL baze podataka, izdajte sljedeće naredbe. U ovom ćemo vodiču instalirati MariaDB bazu podataka preko MySQL-a (koji je sada u vlasništvu i aktivno razvija Oracle).

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

13. U ovom vodiču ćemo instalirati najnoviju verziju MariaDB poslužitelja baze podataka u FreeBSD, koji je trenutno predstavljen izdanjem binarnog paketa mariadb102.

Pokrenite sljedeću naredbu kako biste instalirali MariaDB poslužitelj i klijent te potreban PHP 7.1 modul potreban za pristup bazi podataka putem pristupnika Apache poslužitelja.

pkg install mariadb102-server mariadb102-client php71-mysqli

14. Zatim omogućite MariaDB poslužitelj na cijelom sustavu i pokrenite demon baze podataka izvođenjem sljedećih naredbi.

sysrc mysql_enable="yes" 
service mysql-server start

15. Za osiguranje baze podataka pokrenite skriptu mysql_secure_installation. Upotrijebite donji isječak izlaza skripte da očvrsnete MariaDB.

/usr/local/bin/mysql_secure_installation
Uzorak izlaza

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. Prema zadanim postavkama, MariaDB demon osluškuje mrežne veze izvan lokalnog hosta na portu 3306/TCP. Pokrenite naredbu netstat, lsof ili sockstat da dobijete stanje MariaDB utičnice. Ova konfiguracija je opasna i izlaže uslugu vanjskim mrežnim napadima.

lsof -i4 -i6
sockstat -4 -6

17. Ako vam nije potreban daljinski pristup MariaDB-u, pobrinite se da MariaDB demon sluša samo localhost izdavanjem naredbe u nastavku. Nakon toga ponovno pokrenite uslugu MariaDB da biste primijenili promjene.

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

18. Ponovno pokrenite naredbu netstat, lsof ili sockstat kako biste ispisali MariaDB mrežnu utičnicu. Utičnica bi se sada trebala vezati i slušati na lokalnom hostu, kao što je prikazano na slici ispod.

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

19. Za testiranje povezivosti MariaDB baze podataka s konzole izdajte sljedeću naredbu. Unesite MySQL root lozinku u upit i popis zadanih baza podataka trebao bi se prikazati na ekranu vaše konzole kao što je prikazano na slici ispod.

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

To je sve! Uspješno ste instalirali Apache web poslužitelj s MariaDB bazom podataka i PHP tumačem u FreeBSD. Sada možete započeti s implementacijom WordPress web stranice u tren oka.

U sljedećem vodiču raspravljat ćemo o nekim naprednim temama o FPBAMP-u, kao što je kako omogućiti i stvoriti Apache virtualne hostove, omogućiti modul za ponovno pisanje koji je potreban .htaccess datoteci da ispravno funkcionira i kako osigurati Apache veze pomoću Samopotpisani certifikat ili besplatni certifikat koji nudi entitet Let's Encrypt.