So installieren Sie einen Apache-, MySQL- und PHP-Stack (FAMP) unter FreeBSD 12.0

Der Autor hat den Free and Open Source Fund ausgewählt, um eine Spende als Teil des Write for DOnations zu erhalten. Programm.

Einführung

Ein FAMP-Stack, der einem LAMP-Stack unter Linux ähnelt, ist eine Gruppe von Open-Source-Software, die normalerweise zusammen installiert wird, damit ein FreeBSD-Server dynamische Websites und Web-Apps hosten kann. FAMP ist eine Abkürzung für F reeBSD (Betriebssystem), A Pache (Webserver), M ySQL (Datenbankserver) und P HP (zu verarbeiten) dynamischer PHP-Inhalt).

In diesem Handbuch wird ein FAMP-Stack mit + pkg +, dem FreeBSD-Paketmanager, auf einem FreeBSD 12.0-Cloud-Server installiert.

Voraussetzungen

Bevor Sie mit diesem Handbuch beginnen, benötigen Sie Folgendes:

  • Ein FreeBSD 12.0 Droplet.

  • Zugriff auf einen Benutzer mit Root-Rechten (oder mit sudo), um Konfigurationsänderungen vorzunehmen.

  • Eine mit diesem Tutorial konfigurierte Firewall auf Empfohlene Schritte für neue FreeBSD 12.0-Server. Stellen Sie sicher, dass Sie die Ports "+ 80 " und " 443 +" als Teil Ihres Setups öffnen.

  • Vertrautheit mit der CLI (Command Line Interface) wird empfohlen. Der vi-Editor von FreeBSD ist fast identisch mit syntax as vim .

Schritt 1 - Installieren von Apache

Der Apache-Webserver ist derzeit der beliebteste Webserver der Welt und eignet sich daher hervorragend zum Hosten einer Website.

Sie können Apache mit dem FreeBSD-Paketmanager + pkg + installieren. Mit einem Paketmanager können Sie die meiste Software schmerzfrei aus einem von FreeBSD verwalteten Repository installieren. Sie können mehr über how to use + pkg + hier erfahren.

Verwenden Sie diesen Befehl, um Apache mit + pkg + zu installieren:

sudo pkg install apache

Geben Sie an der Bestätigungsaufforderung "+ y +" ein, um Apache und seine Abhängigkeiten zu installieren.

Um Apache als Dienst zu aktivieren, fügen Sie "+ apache_enable =" YES "" zur Datei " / etc / rc.conf " hinzu. Verwenden Sie dazu den Befehl " sysrc +":

sudo sysrc apache_enable="YES"

Starten Sie jetzt Apache:

sudo service apache start

Um zu überprüfen, ob Apache gestartet wurde, können Sie den folgenden Befehl ausführen:

sudo service apache status

Infolgedessen wird Folgendes angezeigt:

Outputapache is running as pid .

Sie können sofort eine Stichprobe durchführen, um sicherzustellen, dass alles wie geplant gelaufen ist, indem Sie die öffentliche IP-Adresse Ihres Servers in Ihrem Webbrowser aufrufen. Lesen Sie den Hinweis unter der nächsten Überschrift, um herauszufinden, wie Ihre öffentliche IP-Adresse lautet, wenn Sie diese Informationen noch nicht haben:

http:///

Sie sehen die Standard-FreeBSD-Apache-Webseite, die zu Testzwecken zur Verfügung steht. Sie werden sehen: * Es funktioniert! * Dies zeigt an, dass Ihr Webserver korrekt installiert ist.

So finden Sie die öffentliche IP-Adresse Ihres Servers

Wenn Sie die öffentliche IP-Adresse Ihres Servers nicht kennen, können Sie sie auf verschiedene Arten ermitteln. In der Regel ist dies die Adresse, die Sie verwenden, um über SSH eine Verbindung zu Ihrem Server herzustellen.

Wenn Sie DigitalOcean verwenden, suchen Sie möglicherweise in der Systemsteuerung nach der IP-Adresse Ihres Servers. Sie können den DigitalOcean-Metadatendienst auch vom Server aus mit folgendem Befehl verwenden: "+ curl -w" \ n "http: // 169.254.169.254 / metadata / v1 / interfaces / public / 0 / ipv4 / address +".

Eine universellere Methode zum Abrufen der IP-Adresse ist die Verwendung des Befehls "+ ifconfig " auf dem Server. Der Befehl ` ifconfig +` gibt Informationen zu Ihren Netzwerkschnittstellen aus. Verwenden Sie diesen Befehl, um die Ausgabe auf die öffentliche IP-Adresse des Servers einzugrenzen (beachten Sie, dass der hervorgehobene Teil der Name der Netzwerkschnittstelle ist und variieren kann):

ifconfig  | grep "inet " | awk '{ print $2; exit }'

Sie können auch + curl + verwenden, um eine externe Partei wie icanhazip zu kontaktieren, um Ihnen mitzuteilen, wie Ihr Server angezeigt wird. Fragen Sie dazu einen bestimmten Server nach Ihrer IP-Adresse:

curl http://icanhazip.com

Nachdem Sie über die öffentliche IP-Adresse verfügen, können Sie diese in der Adressleiste Ihres Webbrowsers verwenden, um auf Ihren Webserver zuzugreifen.

Schritt 2 - Installation von MySQL

Nachdem Sie Ihren Webserver eingerichtet haben, ist es an der Zeit, MySQL, das relationale Datenbankverwaltungssystem, zu installieren. Der MySQL-Server organisiert und bietet Zugriff auf Datenbanken, in denen Ihr Server Informationen speichern kann.

Auch hier können Sie + pkg + verwenden, um Ihre Software zu erwerben und zu installieren.

Verwenden Sie diesen Befehl, um MySQL mit + pkg + zu installieren:

sudo pkg install mysql-server

Geben Sie an der Bestätigungsaufforderung "+ y +" ein, um die MySQL-Server- und -Client-Pakete zu installieren.

Um den MySQL-Server als Dienst zu aktivieren, fügen Sie der Datei "+ / etc / rc.conf " " mysql_enable =" YES "" hinzu. Sie können den Befehl " sysrc +" verwenden, um genau das zu tun:

sudo sysrc mysql_enable="YES"

Starten Sie nun den MySQL Server mit folgendem Befehl:

sudo service mysql-server start

Sie können überprüfen, ob der Dienst ausgeführt wird:

sudo service mysql-server status

Sie werden etwas Ähnliches wie das Folgende lesen:

Outputmysql is running as pid .

Jetzt, da Ihre MySQL-Datenbank ausgeführt wird, möchten Sie ein einfaches Sicherheitsskript ausführen, das einige gefährliche Standardeinstellungen entfernt und den Zugriff auf Ihr Datenbanksystem leicht einschränkt. Starten Sie das interaktive Skript, indem Sie diesen Befehl ausführen:

sudo mysql_secure_installation

In der Eingabeaufforderung werden Sie gefragt, ob Sie ein Kennwort festlegen möchten. Da Sie gerade MySQL installiert haben, werden Sie höchstwahrscheinlich keine haben. Geben Sie also "+ Y +" ein und folgen Sie den Anweisungen:

Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No:

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 50
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :

Bei den restlichen Fragen sollten Sie bei jeder Eingabeaufforderung die Taste "+ y +" drücken, um die empfohlenen sicheren Werte zu akzeptieren. Dadurch werden einige Beispielbenutzer und -datenbanken entfernt, Remotestammanmeldungen deaktiviert und diese neuen Regeln geladen, sodass MySQL die von Ihnen vorgenommenen Änderungen sofort berücksichtigt.

Jetzt ist Ihr Datenbanksystem eingerichtet und Sie können mit der Installation von PHP fortfahren.

Schritt 3 - PHP installieren

PHP ist die Komponente Ihres Setups, die Code verarbeitet, um dynamischen Inhalt anzuzeigen. Es kann Skripts ausführen, eine Verbindung zu MySQL-Datenbanken herstellen, um Informationen abzurufen, und den verarbeiteten Inhalt zur Anzeige an den Webserver übergeben.

Sie können das "+ pkg " - System erneut nutzen, um Ihre Komponenten zu installieren. Sie werden auch die Pakete " mod_php", "+ php-mysql" und "+ php-mysqli" einbinden.

Um PHP mit + pkg + zu installieren, führen Sie diesen Befehl aus:

sudo pkg install php php-mysqli mod_php

Geben Sie an der Bestätigungsaufforderung "+ y " ein. Dies installiert die Pakete ` php`,` + mod_php` und + php-mysqli.

Kopieren Sie nun die PHP-Beispielkonfigurationsdatei mit dem folgenden Befehl:

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

Führen Sie nun den Befehl "+ rehash +" aus, um die zwischengespeicherten Informationen des Systems zu Ihren installierten ausführbaren Dateien neu zu generieren:

rehash

Bevor Sie PHP verwenden können, müssen Sie es für die Verwendung mit Apache konfigurieren.

Installieren von PHP-Modulen (optional)

Um die Funktionalität von PHP zu verbessern, können Sie optional einige zusätzliche Module installieren.

Um die verfügbaren Optionen für PHP-Module und -Bibliotheken anzuzeigen, können Sie Folgendes eingeben:

pkg search php

Das Ergebnis sind hauptsächlich PHP-Module, die Sie installieren können:

Outputphp73-7.3.5                    PHP Scripting Language
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.5             The bcmath shared extension for php
php73-brotli-0.6.2             Brotli extension for PHP
php73-bsdconv-11.5.0           PHP wrapper for bsdconv
php73-bz2-7.3.5                The bz2 shared extension for php
php73-calendar-7.3.5           The calendar shared extension for php
php73-composer-1.8.4           Dependency Manager for PHP
php73-ctype-7.3.5              The ctype shared extension for php
php73-curl-7.3.5               The curl shared extension for php
php73-dba-7.3.5                The dba shared extension for php
php73-deployer-6.4.3           Deployment tool for PHP
php73-dom-7.3.5                The dom shared extension for php

...

Um weitere Informationen zu den Funktionen der einzelnen Module zu erhalten, können Sie entweder im Internet suchen oder sich die ausführliche Beschreibung des Pakets ansehen, indem Sie Folgendes eingeben:

pkg search -f

Es wird viel ausgegeben, mit einem Feld namens * Comment *, in dem die vom Modul bereitgestellten Funktionen erläutert werden.

Um beispielsweise herauszufinden, was das ++ - Paket bewirkt, können Sie Folgendes eingeben:

pkg search -f

Zusammen mit einer großen Menge anderer Informationen finden Sie Folgendes:

Outputphp73-calendar-7.3.5
Name           : php73-calendar
Version        : 7.3.5
...
Comment        : The calendar shared extension for php
...

Wenn Sie nach der Recherche entscheiden, dass Sie ein Paket installieren möchten, können Sie dies mit dem Befehl + pkg install + tun.

Wenn Sie beispielsweise entscheiden, dass "++" etwas ist, das Sie benötigen, können Sie Folgendes eingeben:

sudo pkg install

Wenn Sie mehr als ein Modul gleichzeitig installieren möchten, können Sie dies tun, indem Sie jedes durch ein Leerzeichen getrennte Modul wie folgt auflisten:

sudo pkg install

Schritt 4 - Konfigurieren von Apache zur Verwendung des PHP-Moduls

Apache HTTP verfügt über ein dediziertes Verzeichnis, in das Konfigurationsdateien für bestimmte Module geschrieben werden können. Sie werden eine dieser Konfigurationsdateien für Apache HTTP schreiben, um PHP zu "sprechen".

sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.conf

Fügen Sie dieser Datei die folgenden Zeilen hinzu:

/usr/local/etc/apache24/modules.d/001_mod-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>

Überprüfen Sie nun, ob die HTTP-Konfiguration von Apache in gutem Zustand ist:

sudo apachectl configtest

Sie sehen die folgende Ausgabe:

OutputPerforming sanity check on apache24 configuration:
Syntax OK

Da Sie in Apache Konfigurationsänderungen vorgenommen haben, müssen Sie den Dienst neu starten, damit diese angewendet werden. Andernfalls funktioniert Apache weiterhin mit der vorherigen Konfiguration.

sudo apachectl restart

Jetzt können Sie mit dem Testen von PHP auf Ihrem System fortfahren.

Schritt 5 - Testen der PHP-Verarbeitung

Um zu testen, ob Ihr System richtig für PHP konfiguriert ist, können Sie ein sehr einfaches PHP-Skript erstellen.

Sie nennen dieses Skript "+ info.php". Damit Apache die Datei finden und korrekt bereitstellen kann, muss sie in einem bestimmten Verzeichnis gespeichert werden, in dem Apache nach Dateien sucht, wenn ein Benutzer auf den Webserver zugreift. Der Speicherort von "+ DocumentRoot " ist in der Apache-Konfigurationsdatei angegeben, die Sie zuvor geändert haben (" / usr / local / etc / apache24 / httpd.conf +").

Standardmäßig ist das + Document Root auf` + / usr / local / www / apache24 / data` eingestellt. Sie können die Datei "+ info.php" unter diesem Speicherort erstellen, indem Sie Folgendes eingeben:

sudo vi /usr/local/www/apache24/data/info.php

Dies öffnet eine leere Datei. Fügen Sie diesen PHP-Code in die Datei ein:

/usr/local/www/apache24/data/info.php

<?php phpinfo(); ?>

Speichern und schließen.

Jetzt können Sie testen, ob Ihr Webserver die von einem PHP-Skript generierten Inhalte korrekt anzeigen kann. Um dies auszuprobieren, können Sie diese Seite in Ihrem Webbrowser besuchen:

http:///info.php

Sie sehen eine PHP FreeBSD-Testseite.

Auf dieser Seite finden Sie Informationen zu Ihrem Server aus Sicht von PHP. Dies ist nützlich für das Debuggen und um sicherzustellen, dass Ihre Einstellungen korrekt angewendet werden.

Wenn dies erfolgreich war, funktioniert Ihr PHP wie erwartet.

Sie sollten diese Datei nach diesem Test entfernen, da sie möglicherweise nicht autorisierten Benutzern Informationen über Ihren Server zur Verfügung stellt. Dazu können Sie Folgendes eingeben:

sudo rm /usr/local/www/apache24/data/info.php

Sie können diese Seite jederzeit neu erstellen, wenn Sie später erneut auf die Informationen zugreifen müssen.

Fazit

Nachdem Sie einen FAMP-Stack installiert haben, haben Sie viele Möglichkeiten, was Sie als Nächstes tun möchten. Sie haben eine Plattform installiert, mit der Sie die meisten Arten von Websites und Websoftware auf Ihrem Server installieren können.