Kuinka asentaa Apache, MariaDB ja PHP (FAMP) -pino FreeBSD: lle


Tässä oppaassa kuvataan FBAMP: n asentaminen ja määrittäminen FreeBSD-käyttöjärjestelmässä, joka on samanlainen kuin Linuxin LAMP-pino. FBAMP on lyhenne, joka tarkoittaa kokoelmaa ohjelmistoja, jotka perustuvat FreeBSD-käyttöjärjestelmään, Apache HTTP -palvelimeen, Internetin suosituimpaan avoimen lähdekoodin verkkopalvelimeen, MariaDB-relaatiotietokantojen hallintajärjestelmään (RDBMS), MySQL-tietokantamoottorin haarukkaan ja PHP-palvelimeen. -puolella.

Vaatimukset

  1. Uusi FreeBSD-asennus
  2. FreeBSD: n alkuasetukset
  3. Suora konsolin käyttö tai SSH, jos etäyhteys on FreeBSD: hen.
  4. Staattinen IP-osoite, joka on määritetty verkkoliitännälle.

Vaihe 1: Asenna Apache FreeBSD: lle

1. Ensimmäinen asennettava palvelu on Apache HTTP -palvelin. Oletuksena FreeBSD tarjoaa useita versioita, joissa on eri ajonaikaiset työmoduulit Apache-verkkopalvelimelle.

Versiot on koottu valmiiksi binaaripakettiin ja ne tarjoavat FreeBSD PORTS -tietovarastot. Näytä kaikki PORTSin toimittamat Apache-pakettien binääritiedostot antamalla seuraava komento.

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

Voit myös etsiä käytettävissä olevia Apache-paketteja FreeBSD: ltä antamalla alla olevan komennon.

# pkg search apache2

2. Asenna seuraavaksi Apache HTTP -palvelimen uusin versio ja kaikki tarvittavat moduulit antamalla seuraava komento.

# pkg install apache24

3. Kun Apache-verkkopalvelin on asennettu järjestelmään, anna seuraava komento, jotta demoni otetaan käyttöön koko järjestelmässä FreeBSD: ssä.

# sysrc apache24_enable="yes"

Vaihtoehtoinen tapa ottaa Apache-daemon käyttöön olisi muokata ja liittää rivi apache24_enable = "yes" /etc/rc.conf -tiedostoon manuaalisesti alla olevan kuvakaappauksen mukaisesti.

4. Lopuksi testataksesi, toimiiko verkkopalvelin oikein, käynnistä Apache-demoni antamalla alla oleva komento ja käy oletussivulla osoittamalla selain palvelimesi IP-osoitteeseen FQDN ( http:// IP-taiFQDN ) alla olevan kuvakaappauksen mukaisesti.

# service apache24 start

Apache-verkkopalvelimen oletusarvoinen juurihakemisto FreeBSD 11.x: ssä sijaitsee järjestelmän koodilla /usr/local/www/apache24/data/. Sieltä löydät pienen index.html-tiedoston, jota voit muokata mieluiten.

Vaihe 2: Asenna PHP FreeBSD: lle

5. FreeBSD 11.x tarjoaa useita versioita PHP: stä tulkitun palvelinpuolen kielestä, joka on pakattu valmiisiin binääreihin. Saadaksesi luettelon kaikista käytettävissä olevista PHBS-versiopaketeista, jotka FreeBSD Ports -varastot tarjoavat, anna seuraava komento.

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

Vaihtoehtoinen tapa etsiä kaikkia saatavilla olevia FreeBSD PHP -pakettiversioita on suorittamalla alla oleva komento.

# pkg search -o php

6. Voit etsiä kaikkia käytettävissä olevia binäärejä, jotka FreeBSD tarjoaa tietylle PHP-versiolle (tällä hetkellä 5 tai 7 versiota) suorittamalla alla olevat komennot. Käytä vähemmän komentoa kaventaaksesi ja selataksesi lähtöä.

# pkg search php5 |less
# pkg search php7

7. Jos haluat tarkentaa, mitä moduuleja mukautettu PHP-versio tarjoaa, suorita seuraava komento alla kuvatulla tavalla, joka näyttää kaikki käytettävissä olevat moduulit PHP 7.1 -versiolle.

# pkg search php71

8. Asennamme tähän oppaaseen PHP 7.1 -julkaisun FBAMP-pinoamme varten. Anna seuraava komento asentaaksesi PHP joihinkin tärkeimmistä moduuleista, joita tarvitaan tyypilliseen CMS-asennukseen.

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

9. Seuraavaksi meidän on luotava php.conf-määritystiedosto Apache-verkkopalvelimelle hakemistoon/usr/local/etc/apache24/Includes/system polku seuraavan sisällön kanssa.

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

Lisää seuraavat rivit php.conf-tiedostoon.

<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. Testataksesi, toimiiko PHP-yhdyskäytävä odotetusti Apache-verkkopalvelimen kanssa, luo PHP info.php -tiedosto kansioon/usr/local/www/apache24/data/system polku, joka on Apachen oletusarvoinen web-asiakirjan juuripolku. verkkopalvelin.

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

Käynnistä Apache-daemon uudelleen muutosten toteuttamiseksi.

# service apache24 restart

Seuraavaksi vieraile selaimen seuraavassa URI-muodossa nähdäksesi PHP-yhteenvedon.

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

11. Aktivoi PHP ini -asetustiedosto tuotantoa varten antamalla seuraavat komennot. Voit muokata php.ini-tuotantotiedostoa muuttaaksesi erilaisia PHP-asetuksia FBAMP-pinoasi.

# 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

Vaihe 3: Asenna MariaDB FreeBSD: lle

12. Viimeisin puuttuva komponentti FBAMP-pinostamme on MySQL-tietokantapalvelin. FreeBSD 11.x tarjoaa yli 1000 pakettia erilaisille tietokannoille.

Anna seuraavat komennot, jotta voit näyttää komponentit, jotka ovat käytettävissä MariaDB- tai MySQL-tietokannoissa. Tässä oppaassa asennamme MariaDB-tietokannan MySQL: n yli (jonka Oracle omistaa ja kehittää nyt aktiivisesti).

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

13. Tässä oppaassa asennamme uusimman version MariaDB-tietokantapalvelimesta FreeBSD: hen, jota tällä hetkellä edustaa mariadb102-binaaripaketin julkaisu.

Suorita seuraava komento asentaaksesi MariaDB-palvelin ja asiakas sekä vaadittu PHP 7.1 -moduuli, joka tarvitaan tietokantaan pääsemiseksi Apache-palvelimen yhdyskäytävän kautta.

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

14. Seuraavaksi ota MariaDB-palvelin käyttöön koko järjestelmässä ja käynnistä tietokannan demoni suorittamalla seuraavat komennot.

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

15. Suojaa tietokanta suorittamalla mysql_secure_installation-komentosarja. Käytä alla olevaa komentojonotiedostoa MariaDB: n kovettamiseen.

# /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. Oletuksena MariaDB-daemon kuuntelee verkkoyhteyksiä paikallisen isännän ulkopuolella portissa 3306/TCP. Suorita lsof- tai sockstat-komento saadaksesi MariaDB-pistorasiatilan. Tämä kokoonpano on vaarallinen ja altistaa palvelun ulkopuolisille verkkohyökkäyksille.

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

17. Jos et tarvitse etäkäyttöä MariaDB: hen, varmista, että MariaDB-daemon kuuntelee vain localhostia antamalla alla olevan komennon. Käynnistä sitten MariaDB-palvelu uudelleen muutosten tekemistä varten.

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

18. Suorita uudelleen komento lsof tai sockstat MariaDB-verkkopisteen luetteloimiseksi. Liitännän tulisi nyt sitoa ja kuunnella localhostia, kuten alla olevassa kuvassa on esitetty.

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

19. Testaa MariaDB-tietokantayhteydet konsolista antamalla seuraava komento. Syötä MySQL-juurisalasana kehotteeseen, ja luettelo oletustietokannoista tulee näkyä konsolin näytöllä alla olevan kuvan mukaisesti.

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

Siinä kaikki! Olet asentanut Apache-verkkopalvelimen, jossa on MariaDB-tietokanta ja PHP-tulkki, onnistuneesti FreeBSD: hen. Voit nyt aloittaa WordPress-verkkosivuston käyttöönoton hetkessä.

Seuraavassa opetusohjelmassa keskustelemme joistakin edistyneistä FPBAMP-aiheista, kuten Apache-virtuaalisten isäntien ottamisesta käyttöön ja luomisesta, .htaccess-tiedoston edellyttämän uudelleenkirjoitusmoduulin toiminnasta ja Apache-yhteyksien suojaamisesta itse allekirjoitetulla varmenteella tai ilmaisella maksutta Let's Encrypt -yksikön tarjoama varmenne.