Com instal·lar Apache, MariaDB i PHP (FAMP) Stack a FreeBSD


Aquesta guia descriurà com instal·lar i configurar FBAMP al sistema operatiu FreeBSD, que és similar a una pila LAMP a Linux. FBAMP és un acrònim que significa una col·lecció de programari basat en el sistema operatiu FreeBSD, el servidor HTTP Apache, el servidor web de codi obert més popular d'Internet, el sistema de gestió de bases de dades relacionals (RDBMS) MariaDB, una bifurcació del motor de bases de dades MySQL i el servidor PHP. - costat.

Requisits

  1. Una instal·lació nova de FreeBSD
  2. Configuracions inicials de FreeBSD
  3. Accés directe a la consola o SSH en cas de connexió remota a FreeBSD.
  4. Una adreça IP estàtica configurada en una interfície de xarxa.

Pas 1: instal·leu Apache a FreeBSD

1. El primer servei que instal·larem és el servidor HTTP Apache. Per defecte, FreeBSD ofereix diverses versions amb diferents mòduls de treball en temps d'execució per al servidor web Apache.

Les versions estan compilades prèviament en un paquet binari i proporcionades pels dipòsits de PORTS de FreeBSD. Per mostrar tots els paquets binaris d'Apache proporcionats per PORTS, emeteu l'ordre següent.

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

També podeu cercar paquets d'Apache precomplerts disponibles a FreeBSD emetent l'ordre següent.

# pkg search apache2

2. A continuació, instal·leu la darrera versió del servidor HTTP Apache amb tots els mòduls necessaris emetent l'ordre següent.

# pkg install apache24

3. Després que el servidor web Apache s'hagi instal·lat al sistema, emet l'ordre següent per habilitar el dimoni a tot el sistema a FreeBSD.

# sysrc apache24_enable="yes"

Un mètode alternatiu per habilitar el dimoni Apache seria editar i afegir manualment la línia apache24_enable=\yes\ al fitxer /etc/rc.conf tal com es mostra a la captura de pantalla següent.

4. Finalment, per provar si el servidor web funciona correctament, inicieu el dimoni Apache emetent l'ordre següent i visiteu la pàgina web predeterminada apuntant un navegador a l'adreça IP del vostre servidor de FQDN (http://IP-oFQDN). ) tal com es mostra a la captura de pantalla següent.

# service apache24 start

El directori web arrel predeterminat del servidor web Apache a FreeBSD 11.x es troba a la ruta del sistema /usr/local/www/apache24/data/. Hi trobareu un petit fitxer index.html que podeu editar com sigui preferible.

Pas 2: instal·leu PHP a FreeBSD

5. FreeBSD 11.x ofereix múltiples versions del llenguatge PHP interpretat del costat del servidor empaquetat en binaris prèviament complits. Per obtenir una llista de tots els paquets de versions PHP disponibles proporcionats pels repositoris de FreeBSD Ports, emeteu l'ordre següent.

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

Un mètode alternatiu per cercar totes les versions de paquets PHP de FreeBSD disponibles és executar l'ordre següent.

# pkg search -o php

6. Per cercar tots els binaris disponibles proporcionats per FreeBSD per a una versió específica de PHP (actualment 5 o 7 versions) executeu les ordres següents. Utilitzeu menys comanda per limitar i navegar per la sortida.

# pkg search php5 |less
# pkg search php7

7. Per ser més específic sobre quins mòduls proporciona una versió de PHP personalitzada, executeu l'ordre següent tal com es descriu a continuació, que mostra tots els mòduls disponibles per a la versió PHP 7.1.

# pkg search php71

8. En aquesta guia, instal·larem la versió PHP 7.1 per a la nostra pila FBAMP. Emet l'ordre següent per instal·lar PHP amb alguns dels mòduls més importants necessaris per a una instal·lació típica de CMS.

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

9. A continuació, hem de crear el fitxer de configuració php.conf per al servidor web Apache a /usr/local/etc/apache24/Includes/ ruta del sistema amb el contingut següent.

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

Afegiu les línies següents al fitxer 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. Per provar si la passarel·la PHP funciona com s'esperava amb el servidor web Apache, creeu un fitxer PHP info.php a /usr/local/www/apache24/data/system path, que és la ruta arrel del document web predeterminada d'Apache. servidor web.

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

Reinicieu el dimoni Apache per aplicar els canvis.

# service apache24 restart

A continuació, visiteu l'URI següent en un navegador per veure el resum de PHP.

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

11. Per activar el fitxer de configuració PHP ini per a la producció, emeteu les ordres següents. Podeu modificar el fitxer de producció php.ini per canviar diversos paràmetres de PHP a la vostra pila FBAMP.

# 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

Pas 3: instal·leu MariaDB a FreeBSD

12. L'últim component que falta per a la nostra pila FBAMP és el servidor de bases de dades MySQL. FreeBSD 11.x ofereix més de 1000 paquets per a diverses bases de dades.

Per mostrar quins components estan disponibles per a les bases de dades MariaDB o MySQL, emet les ordres següents. En aquesta guia, instal·larem la base de dades MariaDB sobre MySQL (que ara és propietat i desenvolupa activament per Oracle).

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

13. En aquesta guia, instal·larem la darrera versió del servidor de bases de dades MariaDB a FreeBSD, que actualment està representada per la versió del paquet binari mariadb102.

Executeu l'ordre següent per instal·lar el servidor i el client MariaDB i el mòdul PHP 7.1 necessari per accedir a la base de dades mitjançant la passarel·la del servidor Apache.

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

14. A continuació, activeu el servidor MariaDB a tot el sistema i inicieu el dimoni de la base de dades executant les ordres següents.

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

15. Per protegir la base de dades, executeu mysql_secure_installation scrip. Utilitzeu l'extracte de sortida de l'script següent per endurir 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. Per defecte, el dimoni MariaDB escolta les connexions de xarxa fora del localhost al port 3306/TCP. Executeu l'ordre lsof o sockstat per obtenir l'estat del sòcol MariaDB. Aquesta configuració és perillosa i exposa el servei a atacs de xarxa externs.

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

17. Si no necessiteu accés remot a MariaDB, assegureu-vos que el dimoni MariaDB només escolti localhost, emetent l'ordre següent. Posteriorment, reinicieu el servei MariaDB per aplicar els canvis.

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

18. De nou, executeu l'ordre lsof o sockstat per llistar el sòcol de xarxa MariaDB. El sòcol s'ha d'enllaçar i escoltar a localhost ara, tal com es mostra a la imatge següent.

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

19. Per provar la connectivitat de la base de dades MariaDB des de la consola emet l'ordre següent. Introduïu la contrasenya d'arrel de MySQL a la sol·licitud i s'hauria de mostrar una llista de bases de dades predeterminades a la pantalla de la vostra consola, tal com es mostra a la imatge següent.

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

Això és tot! Heu instal·lat correctament el servidor web Apache amb la base de dades MariaDB i l'intèrpret PHP a FreeBSD. Ara podeu començar a desplegar un lloc web de WordPress en molt poc temps.

En el següent tutorial parlarem d'alguns temes avançats de FPBAMP, com ara com habilitar i crear amfitrions virtuals Apache, habilitar el mòdul de reescriptura requerit pel fitxer .htaccess per funcionar correctament i com protegir les connexions d'Apache mitjançant un certificat autofirmat o un certificat gratuït. Certificat ofert per l'entitat Let's Encrypt.