Introducció
Una pila FAMP, que és comparable a una pila LAMP a Linux, és una col·lecció de programari de codi obert que normalment s'instal·la conjuntament per permetre que un servidor FreeBSD allotgi llocs web i aplicacions web dinàmiques. FAMP és un acrònim que significa F reeBSD (sistema operatiu), A pache (servidor HTTP), M ySQL (servidor de bases de dades) i P HP (llenguatge de programació per processar contingut PHP dinàmic).
En aquesta guia, desplegarem elements d'una pila FAMP en una instància de FreeBSD 12.0 Vultr mitjançant pkg, el gestor de paquets FreeBSD.
Requisits
Abans de començar aquesta guia, necessitareu el següent:
- Un FreeBSD 12.0 VPS.
- Un usuari amb privilegis root o
sudousuari per fer canvis de configuració.
- Es recomana una familiaritat bàsica amb el sistema FreeBSD i la interfície de línia d'ordres.
Abans que comencis
Comproveu la versió de FreeBSD.
uname -ro # FreeBSD 12.0-RELEASE-p6
Assegureu-vos que el vostre sistema FreeBSD estigui actualitzat.
freebsd-update fetch install pkg update && pkg upgrade -y
Instal·leu els paquets necessaris.
pkg install -y sudo vim bash curl
Creeu un compte d'usuari nou amb el vostre nom d'usuari preferit. Fem servir johndoe.
adduser # Username: johndoe # Full name: John Doe # Uid (Leave empty for default): <Enter> # Login group [johndoe]: <Enter> # Login group is johndoe. Invite johndoe into other groups? []: wheel # Login class [default]: <Enter> # Shell (sh csh tcsh nologin) [sh]: bash # Home directory [/home/johndoe]: <Enter> # Home directory permissions (Leave empty for default): <Enter> # Use password-based authentication? [yes]: <Enter> # Use an empty password? (yes/no) [no]: <Enter> # Use a random password? (yes/no) [no]: <Enter> # Enter password: your_secure_password # Enter password again: your_secure_password # Lock out the account after creation? [no]: <Enter> # OK? (yes/no): yes # Add another user? (yes/no): no # Goodbye!
Executeu l' visudoordre i descomenteu la %wheel ALL=(ALL) ALLlínia, per permetre que els membres del wheelgrup executin qualsevol ordre.
visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL
Ara, canvieu al vostre nou usuari creat amb su:
su - johndoe
NOTA: Substituïu-lo johndoepel vostre nom d'usuari.
Configura la zona horària:
sudo tzsetup
Pas 1: instal·lació d'Apache
El servidor web Apache és actualment un dels servidors web més populars del món. És una excel·lent elecció per allotjar un lloc web.
Podeu instal·lar Apache mitjançant el gestor de paquets de FreeBSD, pkg. Un gestor de paquets us permet instal·lar la majoria del programari sense esforç des d'un repositori mantingut per FreeBSD. Podeu obtenir més informació sobre com utilitzar-lo pkgaquí .
Per instal·lar Apache, emet l'ordre següent:
sudo pkg install -y apache24
Comproveu la versió:
httpd -v # Server version: Apache/2.4.39 (FreeBSD)
Ara, habiliteu i inicieu Apache:
sudo sysrc apache24_enable=yes sudo service apache24 start
Per comprovar que Apache s'ha iniciat, podeu executar l'ordre següent:
sudo service apache24 status
Com a resultat, veureu alguna cosa semblant a:
# Output apache24 is running as pid 17772.
Podeu verificar que Apache s'ha instal·lat i funciona sense errors visitant l'adreça IP pública del vostre servidor al vostre navegador web. Navega a http://your_server_IP. Veureu la pàgina d'Apache per defecte " Funciona! ".
Pas 2: instal·lació de MySQL 8.0
Ara que teniu el vostre servidor web en funcionament, és hora d'instal·lar MySQL, el sistema de gestió de bases de dades relacionals. El servidor MySQL organitzarà i proporcionarà accés a bases de dades on el vostre servidor pot emmagatzemar informació.
De nou, podeu utilitzar-lo pkgper obtenir i instal·lar el vostre programari.
Per instal·lar MySQL 8.0amb pkg, utilitzeu aquesta comanda:
sudo pkg install -y mysql80-client mysql80-server
Aquesta ordre instal·larà la darrera versió del client i servidor MySQL, que actualment és 8.x.x.
Comproveu la versió:
mysql --version # mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)
Ara, activeu i inicieu MySQL:
sudo sysrc mysql_enable=yes sudo service mysql-server start
Per comprovar que MySQL s'ha iniciat, podeu executar l'ordre següent:
sudo service mysql-server status
Veureu alguna cosa semblant al següent:
# Output mysql is running as pid 19171.
Com a bona pràctica, podeu executar l' mysql_secure_installationscript de seguretat que eliminarà alguns valors predeterminats insegurs i limitarà lleugerament l'accés al vostre sistema de base de dades.
sudo mysql_secure_installation
Se us demanarà que establiu una contrasenya, seguida d'altres preguntes. Introduïu una contrasenya segura i, a continuació, per a la resta de preguntes, premeu ENTERper seleccionar els valors predeterminats.
Pas 3: instal·lació de PHP 7.3
PHP és un llenguatge de script del costat del servidor dissenyat per al desenvolupament web. PHP és un component indispensable de la pila FAMP. A més, Python o Perl s'utilitzen habitualment en comptes de PHP. Tanmateix, PHP com a opció més popular s'utilitza més sovint. Juntament amb la base de dades, donarà als vostres llocs web o aplicacions un comportament dinàmic.
Una vegada més, aprofita el pkgsistema per instal·lar components PHP.
Per instal·lar PHP 7.3 amb pkg, executeu aquesta ordre:
sudo pkg install -y php73 php73-mysqli mod_php73
Això instal·la els paquets php73, mod_php73, i php73-mysqli.
Comproveu la versió.
php --version # PHP 7.3.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
Copieu el fitxer de configuració PHP de mostra al seu lloc amb aquesta ordre:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Ara, activeu i inicieu PHP-FPM:
sudo sysrc php_fpm_enable=yes sudo service php-fpm start
Per comprovar que PHP-FPM s'ha iniciat, podeu executar l'ordre següent:
sudo service php-fpm status
Com a resultat, veureu alguna cosa semblant a:
# Output php_fpm is running as pid 23005.
Instal·lació de mòduls PHP (opcional)
Per millorar la funcionalitat de PHP, podeu instal·lar opcionalment alguns mòduls addicionals.
Per veure'ls compilats actualment en mòduls PHP, podeu executar això:
php -m # [PHP Modules] # Core # date # libxml # mysqlnd # pcre # Reflection # SPL # standard # [Zend Modules]
Per cercar mòduls PHP disponibles, podeu utilitzar aquesta ordre:
pkg search ^php73-*
Els resultats seran principalment mòduls PHP 7.3 que podeu instal·lar:
# Output # php73-7.3.7 PHP Scripting Language # php73-Ice37-3.7.2 Modern alternative to object middleware such as CORBA/COM/DCOM/COM+ # php73-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP # php73-aphpunit-1.8 Testing framework for unit tests # php73-bcmath-7.3.7 The bcmath shared extension for php # php73-brotli-0.7.0 Brotli extension for PHP # php73-bsdconv-11.5.0 PHP wrapper for bsdconv # php73-bz2-7.3.7 The bz2 shared extension for php # php73-calendar-7.3.7 The calendar shared extension for php # php73-composer-1.8.6 Dependency Manager for PHP # php73-ctype-7.3.7 The ctype shared extension for php # php73-curl-7.3.7 The curl shared extension for php # . . .
Si, després d'investigar, decidiu que necessiteu instal·lar un paquet, podeu fer-ho mitjançant l' pkg installordre. La majoria de les aplicacions web PHP requeriran mòduls addicionals, així que és bo saber com cercar-los.
Pas 4: Configuració d'Apache per utilitzar el mòdul PHP
Abans d'utilitzar PHP, heu de configurar-lo perquè funcioni amb Apache.
Executeu sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.confi ompliu el fitxer amb el contingut següent:
<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>
Deseu el fitxer i sortiu amb :+ W+Q
Comproveu la configuració d'Apache.
sudo apachectl configtest
Com que heu fet canvis de configuració a Apache, heu de tornar a carregar el servei perquè s'apliquin. En cas contrari, Apache seguirà funcionant amb la configuració anterior.
sudo apachectl restart
Pas 5: prova del processament PHP
Per comprovar que el vostre sistema està configurat correctament per a PHP, podeu crear un script PHP molt bàsic. Anomenaràs aquest guió info.php. De manera predeterminada, DocumentRoots'estableix en /usr/local/www/apache24/data. Podeu crear el info.phpfitxer sota aquesta ubicació escrivint:
sudo vim /usr/local/www/apache24/data/info.php
Afegiu aquest codi a aquest fitxer:
<?php phpinfo(); ?>
Navegueu fins http://your_server_IP/info.phpi veureu la pàgina següent:

Després de la instal·lació i configuració de la pila FAMP, hauríeu d'eliminar el info.phpfitxer per evitar revelar la informació sobre el servidor al públic.
sudo rm /usr/local/www/apache24/data/info.php
Conclusió
Enhorabona, heu instal·lat correctament una pila FAMP al vostre VPS FreeBSD 12.0. Ara teniu diverses opcions per saber què fer a continuació. Heu instal·lat una plataforma que us permetrà instal·lar la majoria de tipus de llocs web i programari web a sobre.