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


Tässä oppaassa kerrotaan, kuinka FBAMP asennetaan ja määritetään FreeBSD-käyttöjärjestelmään, joka on samanlainen kuin LAMP-pino Linuxissa. FBAMP on lyhenne, joka tarkoittaa kokoelmaa ohjelmistoja, jotka perustuvat FreeBSD-käyttöjärjestelmään, Apache HTTP -palvelimeen, Internetin suosituimpiin avoimen lähdekoodin verkkopalvelimeen, MariaDB<. relaatiotietokannan hallintajärjestelmä (RDBMS), MySQL-tietokantamoottorin haara ja PHP-palvelinpuoli.

Vaatimukset

  1. Uusi FreeBSD-asennus
  2. FreeBSD:n alkuasetukset
  3. Suora pääsy konsoliin tai SSH, jos kyseessä on etäyhteys FreeBSD:hen.
  4. Staattinen IP-osoite, joka on määritetty verkkoliitäntään.

Vaihe 1: Asenna Apache FreeBSD:lle

1. Ensimmäinen asentamamme palvelu on Apache HTTP -palvelin. Oletuksena FreeBSD tarjoaa useita versioita erilaisilla ajonaikaisilla työmoduuleilla Apache-verkkopalvelimelle.

Versiot on esikäännetty binääripakettiin, ja ne toimitetaan FreeBSD PORTS -tietovarastoissa. Näytä kaikki PORTSin tarjoamat Apache-pakettien binaarit antamalla seuraava komento.

ls /usr/ports/www/ | grep apache

Voit myös etsiä saatavilla olevia valmiita Apache-paketteja FreeBSD:ltä antamalla alla olevan komennon.

pkg search apache2

2. Asenna seuraavaksi Apache HTTP -palvelimen uusin versio kaikilla tarvittavilla moduuleilla antamalla seuraava komento.

pkg install apache24

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

sysrc apache24_enable="yes"

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

4. Lopuksi voit testata, toimiiko verkkopalvelin oikein käynnistämällä Apache-daemon antamalla alla oleva komento ja käymällä oletussivulla osoittamalla selaimella palvelimesi IP-osoitetta FQDN ( http://IP-orFQDN) alla olevan kuvakaappauksen mukaisesti.

service apache24 start

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

Vaihe 2: Asenna PHP FreeBSD:hen

5. FreeBSD 11.x tarjoaa useita versioita PHP-tulkitusta palvelinpuolen kielestä, jotka on pakattu valmiiksi hyväksyttyihin binaareihin. Saadaksesi luettelon kaikista FreeBSD Ports -varastojen tarjoamista PHP-version paketeista anna seuraava komento.

ls /usr/ports/lang/ | grep php

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

pkg search -o php

6. Voit etsiä kaikkia FreeBSD:n tarjoamia binaareja tietylle PHP-versiolle (tällä hetkellä 5 tai 7) suorittamalla alla olevat komennot. Käytä vähemmän komentoja kaventaaksesi ja navigoidaksesi tulosteen välillä.

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 PHP 7.1 -version käytettävissä olevat moduulit.

pkg search php71

8. Tässä oppaassa asennamme PHP 7.1 -julkaisun FBAMP-pinolle. Anna seuraava komento asentaaksesi PHP joidenkin tärkeimpien moduulien kanssa, 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 osoitteessa /usr/local/etc/apache24/Includes/ > järjestelmäpolku seuraavalla sisällöllä.

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. Testaaksesi, toimiiko PHP-yhdyskäytävä odotetulla tavalla Apache-verkkopalvelimen kanssa, luo PHP-tiedosto info.php osoitteessa /usr/local/www/ apache24/data/system polku, joka on Apache-verkkopalvelimen oletusarvoinen verkkoasiakirjan juuripolku.

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

Ota muutokset käyttöön käynnistämällä Apache-daemon uudelleen.

service apache24 restart

Avaa seuraavaksi seuraava URI selaimessa nähdäksesi PHP-yhteenvedon.

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

11. Aktivoi PHP ini -määritystiedosto tuotantoa varten antamalla alla olevat komennot. Voit muokata php.ini-tuotantotiedostoa muuttaaksesi erilaisia PHP-asetuksia FBAMP-pinossasi.

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:hen

12. Viimeinen puuttuva komponentti FBAMP-pinosta on MySQL-tietokantapalvelin. FreeBSD 11.x tarjoaa yli 1000 pakettia erilaisiin tietokantoihin.

Anna seuraavat komennot nähdäksesi, mitkä komponentit ovat saatavilla MariaDB- tai MySQL-tietokannoille. Tässä oppaassa asennamme MariaDB-tietokannan MySQL:n päälle (joka on nyt 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-binääripakettijulkaisu.

Suorita seuraava komento asentaaksesi MariaDB-palvelimen ja -asiakkaan sekä tarvittavan PHP 7.1 -moduulin, jota tarvitaan tietokannan käyttämiseen Apache-palvelinyhdyskäytävän kautta.

pkg install mariadb102-server mariadb102-client php71-mysqli

14. Ota seuraavaksi käyttöön MariaDB-palvelin koko järjestelmässä ja käynnistä tietokantademon suorittamalla seuraavat komennot.

sysrc mysql_enable="yes" 
service mysql-server start

15. Tietokannan suojaamiseksi suorita mysql_secure_installation-skripti. Käytä alla olevaa komentosarjan ulostuloottetta kovettaaksesi MariaDB.

/usr/local/bin/mysql_secure_installation
Näytelähtö

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ä paikallispalvelimen ulkopuolelta portissa 3306/TCP. Suorita netstat-, lsof- tai sockstat-komento saadaksesi MariaDB-pistokkeen tilan. 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 oleva komento. Käynnistä sitten MariaDB-palvelu uudelleen, jotta muutokset otetaan käyttöön.

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

18. Suorita jälleen komento netstat, lsof tai sockstat listataksesi MariaDB-verkkopistokkeen. Socketin pitäisi sitoutua ja kuunnella localhostissa nyt, kuten alla olevassa kuvassa näkyy.

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

19. Voit testata MariaDB-tietokantayhteyden konsolista antamalla seuraavan komennon. Kirjoita MySQL-pääkäyttäjän salasana kehotteeseen ja luettelo oletustietokannoista tulee näkyviin konsolinäytölle alla olevan kuvan mukaisesti.

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

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

Seuraavassa opetusohjelmassa käsittelemme joitain edistyneitä FPBAMP-aiheita, kuten kuinka Apache-virtuaaliisännät otetaan käyttöön ja luodaan, otetaan käyttöön .htaccess-tiedoston edellyttämä uudelleenkirjoitusmoduuli toimiakseen oikein ja kuinka Apache-yhteydet suojataan Itse allekirjoitettu varmenne tai ilmainen Let's Encrypt -yksikön tarjoama varmenne.