Wéi installéiere ech Apache, MariaDB a PHP (FAMP) Stack op FreeBSD


Dëse Guide wäert beschreiwen wéi Dir FBAMP am FreeBSD Betriebssystem installéiere an konfiguréieren, wat ähnlech wéi e LAMP Stack op Linux ass. FBAMP ass en Akronym dat steet fir eng Sammlung vu Software baséiert op FreeBSD OS, Apache HTTP Server, de populärsten Open-Source Webserver am Internet, MariaDB relational Datebank Management System (RDBMS), eng Gabel vu MySQL Datebankmotor, a PHP Server - Säit.

Ufuerderunge

  1. Eng frësch Installatioun vu FreeBSD
  2. FreeBSD Initial Configurations
  3. Direkt Konsol Zougang oder SSH am Fall vun enger Fernverbindung mat FreeBSD.
  4. Eng statesch IP Adress konfiguréiert op engem Netzwierk Interface.

Schrëtt 1: Installéiert Apache op FreeBSD

1. Den éischte Service dee mir installéieren ass Apache HTTP Server. Par défaut bitt FreeBSD verschidde Versioune mat verschiddene Runtime Work Module fir Apache Webserver.

D'Versioune si vir-kompiléiert an e binäre Package a geliwwert vu FreeBSD PORTS Repositories. Fir all Apache Package Binären ze weisen, déi vu PORTS geliwwert ginn, gitt de folgende Kommando aus.

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

Dir kënnt och no verfügbare pre-komplizéierten Apache Packagen op FreeBSD sichen andeems Dir de Kommando hei ënnen ausgitt.

# pkg search apache2

2. Als nächst installéiert déi lescht Versioun vum Apache HTTP-Server mat all erfuerderleche Moduler andeems Dir de folgende Kommando ausginn.

# pkg install apache24

3. Nodeems den Apache Webserver am System installéiert ass, gitt de folgende Kommando aus fir den Daemon System-breet an FreeBSD z'aktivéieren.

# sysrc apache24_enable="yes"

Eng alternativ Method fir den Apache-Daemon z'aktivéieren wier d'Linn apache24_enable=\jo\ an der /etc/rc.conf Datei manuell z'änneren an ze addéieren wéi am Screenshot hei ënnen illustréiert.

4. Schlussendlech, fir ze testen ob de Webserver richteg funktionnéiert, start den Apache Daemon andeems Dir de Kommando hei drënner ausstellt a besicht d'Default Websäit andeems Dir e Browser op Är Server IP Adress vum FQDN weist (http://IP-orFQDN) ) wéi am Screenshot hei ënnen gewisen.

# service apache24 start

De Standard Webroot Verzeechnes vum Apache Webserver am FreeBSD 11.x ass am /usr/local/www/apache24/data/ Systemwee. Do fannt Dir e klengen index.html Fichier deen Dir am léifsten ännere kënnt.

Schrëtt 2: Installéiere PHP op FreeBSD

5. FreeBSD 11.x bitt verschidde Versioune vu PHP interpretéiert Server-Säit Sprooch verpackt a pre-kompatibele Binären. Fir eng Lëscht vun all verfügbare PHP Versiounspakete ze kréien, déi vun FreeBSD Ports Repositories geliwwert ginn, gitt de folgende Kommando aus.

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

Eng alternativ Method fir no all verfügbare FreeBSD PHP Package Versiounen ze sichen ass andeems Dir de Kommando hei ënnen leeft.

# pkg search -o php

6. Fir no all verfügbare Binären ze sichen, déi vun FreeBSD fir eng spezifesch PHP-Versioun zur Verfügung gestallt gëtt (5 oder 7 Versioune momentan) lafen déi folgend Kommandoen. Benotzt manner Kommando fir ze schmuel an duerch d'Ausgab ze navigéieren.

# pkg search php5 |less
# pkg search php7

7. Fir méi spezifesch ze sinn op wéi eng Moduler eng personaliséiert PHP-Versioun ubitt, lafen de folgende Kommando wéi hei ënnendrënner beschriwwen, déi all verfügbare Moduler fir PHP 7.1 Versioun weisen.

# pkg search php71

8. An dësem Guide installéiere mir PHP 7.1 Verëffentlechung fir eise FBAMP Stack. Gitt de folgende Kommando aus fir PHP mat e puer vun de wichtegste Moduler z'installéieren, déi fir eng typesch CMS Installatioun erfuerderlech sinn.

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

9. Als nächst musse mir d'php.conf Konfiguratiounsdatei fir Apache Webserver erstellen an /usr/local/etc/apache24/Includes/ Systemwee mat dem folgenden Inhalt.

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

Füügt déi folgend Zeilen op php.conf Datei.

<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. Fir ze testen ob PHP Gateway funktionnéiert wéi erwaart mam Apache Webserver, erstellt eng PHP info.php Datei an /usr/local/www/apache24/data/systempath, wat de Standardwebdokument root Wee vun Apache ass. Webserver.

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

Restart Apache Daemon fir Ännerungen z'applizéieren.

# service apache24 restart

Als nächst besicht déi folgend URI an engem Browser fir PHP Resumé ze gesinn.

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

11. Fir PHP ini Konfiguratiounsdatei fir d'Produktioun z'aktivéieren, ginn déi folgend Kommandoen eraus. Dir kënnt php.ini Produktiounsdatei änneren fir verschidde PHP-Astellungen an Ärem FBAMP-Stack z'änneren.

# 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

Schrëtt 3: Installéiert MariaDB op FreeBSD

12. Déi lescht fehlend Komponent fir eise FBAMP Stack ass MySQL Datebankserver. FreeBSD 11.x bitt méi wéi 1000 Packagen fir verschidden Datenbanken.

Fir ze weisen wéi eng Komponente fir MariaDB oder MySQL Datenbanken verfügbar sinn, gitt déi folgend Kommandoen. An dësem Guide wäerte mir d'MariaDB Datebank iwwer MySQL installéieren (déi elo am Besëtz an aktiv vun Oracle entwéckelt ass).

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

13. An dësem Guide wäerte mir déi lescht Versioun vum MariaDB Datebankserver an FreeBSD installéieren, déi momentan duerch mariadb102 binär Package Verëffentlechung vertruede gëtt.

Fëllt de folgende Kommando aus fir de MariaDB Server a Client z'installéieren an den erfuerderlechen PHP 7.1 Modul néideg fir Zougang zu der Datebank iwwer Apache Server Gateway.

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

14. Als nächst aktivéiert de MariaDB-Server systemwäit a start den Datebank-Daemon andeems Dir déi folgend Kommandoen ausféiert.

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

15. Fir d'Datebank ze sécheren lafen mysql_secure_installation scrip. Benotzt den ënnen Skriptausgab Auszuch fir MariaDB ze härten.

# /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. Par défaut lauschtert MariaDB Daemon fir Netzwierkverbindungen ausserhalb vum localhost um Hafen 3306/TCP. Run lsof oder sockstat Kommando fir MariaDB Socket Staat ze kréien. Dës Konfiguratioun ass geféierlech an stellt de Service un extern Netzwierkattacken aus.

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

17. Wann Dir kee Fernzougang zu MariaDB braucht, vergewëssert Iech datt MariaDB Daemon nëmmen op localhost lauschtert, andeems Dir de Kommando hei ënnen ausgitt. Duerno starten de MariaDB Service nei fir Ännerungen z'applizéieren.

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

18. Nach eng Kéier, lafen lsof oder sockstat Kommando fir eng Lëscht MariaDB Reseau Socket. De Socket soll elo op localhost binden an nolauschteren, wéi am Bild hei ënnen illustréiert.

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

19. Fir d'MariaDB Datebank Konnektivitéit vun der Konsol ze testen, gitt de folgende Kommando. Gitt MySQL Root Passwuert a Prompt an an eng Lëscht vun Standarddatenbanken soll an Ärem Konsolbildschierm ugewise ginn wéi am Bild hei ënnen illustréiert.

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

Dat ass alles! Dir hutt erfollegräich Apache Webserver mat MariaDB Datebank a PHP Dolmetscher am FreeBSD installéiert. Dir kënnt elo ufänken eng WordPress Websäit a keng Zäit z'installéieren.

Am nächsten Tutorial wäerte mir e puer fortgeschratt FPBAMP Themen diskutéieren, wéi zum Beispill wéi Dir Apache virtuelle Hosten aktivéiert an erstellt, de Rewrite Modul aktivéiert erfuerderlech vun der .htaccess Datei fir richteg ze fonktionnéieren a wéi Dir Apache Verbindunge mat engem Self-Signed Zertifika oder e gratis séchert. Zertifikat ugebuede vun Let's Encrypt Entity.