GNU/Linux >> LINUX-Kenntnisse >  >> FreeBSD

So installieren Sie Nginx, MariaDB und PHP (FEMP) Stack auf FreeBSD

Dieses Tutorial führt Sie durch die Installation und Konfiguration von FBEMP in FreeBSD 11.x neueste Erscheinung. FBEMP ist ein Akronym, das die folgende Sammlung von Software beschreibt:

FreeBSD 11.1 Unix-ähnliche Distribution, Nginx-Webserver, relationales Datenbankverwaltungssystem MariaDB (ein Community-Fork von MySQL) und dynamische PHP-Programmiersprache, die serverseitig ausgeführt wird.

Anforderungen

  1. Installation von FreeBSD 11.x
  2. 10 Dinge, die nach der FreeBSD-Installation zu tun sind

Schritt 1:Nginx-Webserver unter FreeBSD installieren

1. Der erste Dienst, den wir für unseren FBEMP installieren werden Stack in FreeBSD ist der Webserver, vertreten durch Nginx Software.

Nginx Webserver hat mehr vorkompilierte Pakete in FreeBSD 11.x PORTS verfügbar . Um eine Liste von Nginx zu erhalten Binärdateien von Ports Repositorys, geben Sie die folgenden Befehle in Ihrem Server-Terminal ein.

# ls /usr/ports/www/ | grep nginx
# pkg search -o nginx

2. In dieser speziellen Konfiguration installieren wir die Hauptpaketversion von Nginx indem Sie den folgenden Befehl ausgeben. Das Paket Die Paketverwaltung fragt Sie, ob Sie mit der Installation des nginx-Pakets fortfahren möchten. Antworten Sie mit ja (y in der Befehlszeile), um den Installationsvorgang zu starten.

# pkg install nginx

3. Nachdem das Nginx-Webserverpaket in Ihrem System installiert wurde, führen Sie die folgenden Befehle aus, um den Daemon systemweit zu aktivieren und den Dienst in Ihrem System zu starten.

# sysrc nginx_enable="yes"
# service nginx start

4. Als nächstes verwenden Sie sockstat Befehl, überprüfen Sie die Nginx-Service-Netzwerk-Sockets, wenn sie an 80/TCP gebunden sind Port, indem Sie den folgenden Befehl ausgeben. Die Ausgabe des Sockstat-Befehls wird durch das Dienstprogramm grep geleitet, um die zurückgegebenen Ergebnisse nur auf den nginx-String zu reduzieren.

# sockstat -4 | grep nginx

5. Öffnen Sie schließlich einen Browser auf einem Desktop-Computer in Ihrem Netzwerk und besuchen Sie die Nginx-Standardwebseite über das HTTP-Protokoll. Schreiben Sie den FQDN Ihres Computers oder Ihres Domänennamens oder der IP-Adresse Ihres Servers in der URL des Browsers, die zum Anfordern der Standardwebseite des Nginx-Webservers hinterlegt wurde. Die Nachricht „Willkommen bei nginx! “ sollte in Ihrem Browser angezeigt werden, wie im folgenden Screenshot dargestellt.

http://yourdomain.com
http://your_server_IP
http://your_machine_FQDN

6. Das standardmäßige Weboot-Verzeichnis für Nginx-Webinhalte befindet sich unter /usr/local/www/nginx/ Absoluter Systempfad. An diesem Ort sollten Sie Webinhaltsdateien wie .html erstellen, kopieren oder installieren oder .php Dateien, für Ihre Website.

Um diesen Speicherort zu ändern, bearbeiten Sie die Hauptkonfigurationsdatei von nginx und ändern Sie die Root-Direktive, um Ihren neuen Webroot-Pfad widerzuspiegeln.

# nano /usr/local/etc/nginx/nginx.conf

Suchen und aktualisieren Sie hier die folgende Zeile, um Ihren neuen Webroot-Pfad widerzuspiegeln:

root	/path/to/new/webroot;

Schritt 2:Installieren Sie PHP unter FreeBSD

7. Im Gegensatz zu Apache HTTP Server hat Nginx nicht die Fähigkeit, PHP-Code nativ zu verarbeiten. Im Gegenzug übergibt der Nginx-Webserver PHP-Anforderungen an einen PHP-Interpreter wie php-fpm FastCGI Daemon, der den Code prüft und ausführt. Der resultierende Code wird dann an Nginx zurückgegeben, das den Code wieder in das angeforderte HTML-Format zusammensetzt und den Code weiter an den Webbrowser des Besuchers sendet.

FreeBSD 11.x Ports-Repositories bieten mehrere Binärversionen für die PHP-Programmiersprache, wie z. B. PHP 5.6 , PHP 7.0 und PHP 7.1 Freigaben. Um alle verfügbaren vorkompilierten PHP-Versionen in FreeBSD 11.x anzuzeigen , führen Sie die folgenden Befehle aus .

# pkg search -o php
# ls /usr/ports/lang/ | grep php

8. Sie können wählen, welche Version von PHP Sie für die Webanwendung, die Sie auf Ihrem System ausführen, am besten geeignet finden. In diesem Handbuch installieren wir jedoch die neueste Version von PHP.

Zur Installation von PHP 7.1 Release und einiger wichtiger PHP-Module, die für verschiedene Webanwendungen erforderlich sind, führen Sie den folgenden Befehl aus.

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

9. Nachdem Sie PHP-Pakete in Ihrem System installiert haben, öffnen Sie PHP-FPM Konfigurationsdatei für Nginx und passen Sie die Benutzer- und Gruppenwerte so an, dass sie mit dem Wert des Nginx-Laufzeitbenutzers übereinstimmen, der www ist . Erstellen Sie zunächst mit dem folgenden Befehl eine Sicherungskopie der Datei.

# cp /usr/local/etc/php-fpm.d/www.conf{,.backup}

Öffnen Sie dann die Datei und aktualisieren Sie die folgenden Zeilen wie im folgenden Beispiel dargestellt.

user = www
group = www

10. Erstellen Sie außerdem eine PHP-Konfigurationsdatei, die für die Produktion verwendet wird, indem Sie den folgenden Befehl ausführen. An dieser Datei können Sie benutzerdefinierte Änderungen vornehmen, die zur Laufzeit auf den PHP-Interpreter angewendet werden.

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Ändern Sie beispielsweise date.timezone Einstellung für den PHP-Interpreter, um den physischen Standort Ihres Computers zu aktualisieren, wie im folgenden Beispiel gezeigt. Die PHP-Zeitzonenliste finden Sie hier:http://php.net/manual/en/timezones.php.

# vi /usr/local/etc/php.ini

Fügen Sie folgende Zeitzone hinzu (stellen Sie die Zeitzone gemäß Ihrem Land ein).

date.timezone = Europe/London

Sie können auch andere PHP-Variablen anpassen, z. B. die maximale Dateigröße der hochgeladenen Datei, die durch Ändern der folgenden Werte erhöht werden kann:

upload_max_filesize = 10M
post_max_size = 10M

11. Nachdem Sie die benutzerdefinierten Einstellungen für PHP vorgenommen haben, aktivieren und starten Sie PHP-FPM Daemon, um die neuen Konfigurationen anzuwenden, indem Sie die folgenden Befehle ausführen.

# sysrc php_fpm_enable=yes
# service php-fpm start

12. Standardmäßig PHP-FPM Daemon in FreeBSD bindet an einen lokalen Netzwerk-Socket auf Port 9000/TCP . Zum Anzeigen von PHP-FPM Netzwerk-Sockets führen den folgenden Befehl aus.

# sockstat -4 -6| grep php-fpm

13. Damit der Nginx-Webserver die PHP-Skripte an FastCGI weitergeben kann Gateway-Server, der auf 127.0.0.1:9000 lauscht socket, öffnen Sie die Hauptkonfigurationsdatei von Nginx und fügen Sie den folgenden Codeblock hinzu, wie im folgenden Beispiel dargestellt.

# vi /usr/local/etc/nginx/nginx.conf

FastCGI-Codeblock für nginx:

 location ~ \.php$ {
        root	/usr/local/www/nginx;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;    
        include        fastcgi_params;
        	}

14. Um die aktuellen PHP-Informationen für Ihren Server anzuzeigen, erstellen Sie eine info.php Datei im Nginx-Weboot-Pfad, indem Sie den folgenden Befehl ausführen.

# echo "<?php phpinfo(); ?>" | tee /usr/local/www/nginx/info.php

15. Testen Sie dann den Nginx-Daemon und starten Sie ihn neu, um PHP FastCGI anzuwenden Einstellungen und besuchen Sie die info.php Seite in einem Browser.

# nginx -t # Test nginx configuration file for syntax errors
# service nginx restart

Ersetzen Sie die IP-Adresse oder den Domänennamen in den folgenden Links entsprechend. Die PHP-Infoseite sollte Informationen wie im folgenden Screenshot dargestellt anzeigen.

http://yourdomain.com/info.php
http://server_IP-or-FQDN/info.php

Schritt 3:MariaDB unter FreeBSD installieren

16. Die letzte fehlende Komponente in Ihrem FEMP in der Datenbank stapeln. MariaDB/MySQL ist eine der Open-Source-RDBMS-Software, die am häufigsten mit dem Nginx-Webserver verbunden ist und für die Bereitstellung dynamischer Websites verwendet wird.

Eigentlich MariaDB/MySQL ist eine der meistgenutzten relationalen Datenbanken der Welt. Durchsuchen von FreeBSD-Portierungen finden Sie mehrere Versionen von MariaDB/MySQL .

In dieser Anleitung installieren wir MariaDB Datenbank, die ein Community Fork von MySQL ist Datenbank. Um nach verfügbaren Versionen von MariaDB zu suchen , geben Sie die folgenden Befehle im Terminal ein.

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

17. Führen Sie den folgenden Befehl aus, um die neueste Version des MariaDB-Datenbankservers zu installieren. Sie sollten auch das Treibermodul für die relationale PHP-Datenbank installieren, das von PHP-Skripten für die Verbindung zu MySQL verwendet wird.

# pkg install mariadb102-server php71-mysqli

18. Nachdem die Datenbank installiert wurde, aktivieren Sie den MySQL-Daemon und starten Sie den Datenbankdienst, indem Sie die folgenden Befehle ausführen.

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

19. Stellen Sie außerdem sicher, dass Sie PHP-FPM neu starten Daemon, um die MySQL-Treibererweiterung zu laden.

# service php-fpm restart
20. On the next step, secure MariaDB database by launching mysql_secure_installation script. Use the below sample of the installation script in order to answer the questions. Basically, say yes (y) for all asked questions to secure the database and type a strong password for MySQL root user.
# /usr/local/bin/mysql_secure_installation
Ausgabe des sicheren MySQL-Installationsskripts
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!

21. Führen Sie den folgenden Befehl aus, um die MariaDB-Datenbankverbindung von der Konsole aus zu testen.

# mysql -u root -p -e "show status like ‘Connections’"

22. Zur weiteren Sicherung von MariaDB, die standardmäßig auf 0.0.0.0:3306/TCP auf eingehende Netzwerkverbindungen lauscht socket, führen Sie den folgenden Befehl aus, um den Dienst zu zwingen, sich auf Loopback zu binden Benutzeroberfläche und verweigern den Fernzugriff vollständig. Starten Sie anschließend den MySQL-Dienst neu, um die neue Konfiguration zu übernehmen.

# sysrc mysql_args="--bind-address=127.0.0.1"
# service mysql-server restart

Überprüfen Sie, ob der localhost Die Bindung wurde erfolgreich angewendet, indem der netstat-Befehl ausgeführt wurde, wie im folgenden Beispiel gezeigt.

# netstat -an -p tcp

Das ist alles! Sie haben den Nginx-Webserver, die relationale Datenbank MariaDB und die serverseitige Programmiersprache PHP erfolgreich in FreeBSD installiert. Sie können jetzt damit beginnen, dynamische Webseiten zu erstellen, um Ihren Besuchern Webinhalte bereitzustellen.


FreeBSD
  1. So installieren Sie Nginx, PHP und MySQL (LEMP Stack) unter OpenSUSE Leap 42.1

  2. So installieren Sie Nginx mit PHP und MySQL (LEMP Stack) unter CentOS 7

  3. So installieren Sie Linux, Nginx, MariaDB, PHP (LEMP Stack) in CentOS 7 / RHEL 7

  4. So installieren Sie Apache, MariaDB und PHP (FAMP) Stack auf FreeBSD

  5. So installieren Sie den Stapel Apache, MariaDB und PHP (FAMP) unter FreeBSD 11

So installieren Sie Linux, Nginx, MySQL, PHP (LEMP Stack) in Ubuntu 18.04

So installieren Sie WordPress mit FAMP Stack in FreeBSD

So installieren Sie LEMP Stack (Nginx, MariaDB und PHP) auf AlmaLinux 8

So installieren Sie Nginx und PHP unter Debian 10

So installieren Sie Linux, Nginx, MariaDB und PHP (LEMP) auf Fedora 22

So installieren Sie FEMP (FreeBSD 10, Nginx, MySQL, PHP) auf einem Cloud- oder VPS-Server