Wie man den FAMP-Stack (Apache / MySQL / PHP) unter FreeBSD 12 installiert
Der FAMP-Stack, der einem LAMP-Stack unter Linux ähnelt, ist eine Sammlung von Open-Source-Software, die normalerweise zusammen installiert wird, um einen FreeBSD-Server in die Lage zu versetzen, dynamische Websites und Webanwendungen zu hosten. FAMP ist ein Akronym, das für FreeBSD (Betriebssystem), Apache (HTTP-Server), MySQL/MariaDB (Datenbankserver) und PHP (Programmiersprache zur Verarbeitung dynamischer PHP-Inhalte) steht.
In diesem Tutorial werden wir die Komponenten eines FAMP-Stacks auf einem FreeBSD 12.1-Server mit Hilfe des pkg
FreeBSD-Paketmanagers einrichten.
Anforderungen
Bevor Sie mit diesem Leitfaden beginnen, benötigen Sie Folgendes:
- Ein FreeBSD 12.1.
- Ein Benutzer mit Root-Rechten oder
sudo
ein Benutzer, der Konfigurationsänderungen vornehmen kann. - Grundlegende Vertrautheit mit dem FreeBSD-System und der Kommandozeilen-Schnittstelle wird empfohlen.
Bevor Sie beginnen
Prüfen Sie die FreeBSD-Version:
freebsd-version # 12.1-RELEASE
Stellen Sie sicher, dass Ihr FreeBSD-System auf dem neuesten Stand ist:
freebsd-update fetch install pkg update && pkg upgrade -y
Installieren Sie die notwendigen Pakete:
pkg install -y sudo vim bash curl
Erstellen Sie ein neues Benutzerkonto mit Ihrem bevorzugten Benutzernamen. Wir verwenden 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!
Führen Sie den visudo
Befehl aus und entkommentieren Sie die %wheel ALL=(ALL) ALL
Zeile, damit die Mitglieder der wheel
Gruppe jeden beliebigen Befehl ausführen können:
visudo
# Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL
Wechseln Sie nun zu Ihrem neu erstellten Benutzer mit su
:
su - johndoe
ANMERKUNG: Ersetzen johndoe
Sie sie durch Ihren Benutzernamen.
Richten Sie die Zeitzone ein:
sudo tzsetup
Schritt 1 – Apache 2.4 installieren
Der Apache-Webserver ist derzeit einer der beliebtesten Webserver der Welt. Er ist eine ausgezeichnete Wahl für das Hosting einer Website.
Sie können Apache mit dem Paketmanager von FreeBSD installieren, pkg
. Ein Paketmanager ermöglicht es Ihnen, die meiste Software mühelos aus einem von FreeBSD verwalteten Repository zu installieren.
Um Apache zu installieren, geben Sie den folgenden Befehl ein:
sudo pkg install -y apache24
Prüfen Sie die Version:
httpd -v # Server version: Apache/2.4.41 (FreeBSD)
Jetzt aktivieren und starten Sie Apache:
sudo sysrc apache24_enable=yes sudo service apache24 start
Um zu überprüfen, ob Apache gestartet ist, können Sie den folgenden Befehl ausführen:
sudo service apache24 status
Als Ergebnis werden Sie etwas Ähnliches sehen:
# Output apache24 is running as pid 17775.
Sie können überprüfen, ob Apache installiert wurde und fehlerfrei funktioniert, indem Sie die öffentliche IP-Adresse Ihres Servers in Ihrem Webbrowser aufrufen. Navigieren Sie zu http://your_server_IP
. Sie sehen die Standardeinstellung „Es funktioniert! “ Apache-Seite angezeigt.
Schritt 2 – Installation von MySQL 8.0
Nun, da Sie Ihren Webserver zum Laufen gebracht haben, ist es an der Zeit, MySQL, das Verwaltungssystem für relationale Datenbanken, zu installieren. Der MySQL-Server wird den Zugriff auf Datenbanken, in denen Ihr Server Informationen speichern kann, organisieren und bereitstellen.
Auch hier können Sie das Skript verwendenpkg
, um Ihre Software zu erhalten und zu installieren.
Um MySQL 8.0
mit pkg
, zu installieren, benutzen Sie diesen Befehl:
sudo pkg install -y mysql80-client mysql80-server
Dieser Befehl installiert die aktuellste Version des MySQL-Clients und -Servers, d.h. derzeit 8.x.x
.
Prüfen Sie die Version:
mysql --version # mysql Ver 8.0.17 for FreeBSD12.0 on amd64 (Source distribution)
Jetzt aktivieren und starten Sie MySQL:
sudo sysrc mysql_enable=yes sudo service mysql-server start
Um zu überprüfen, ob MySQL gestartet ist, können Sie den folgenden Befehl ausführen:
sudo service mysql-server status
Sie sehen dann etwas Ähnliches wie das Folgende:
# Output mysql is running as pid 19171.
Als gute Praxis können Sie das mysql_secure_installation
Sicherheitsskript ausführen, das einige unsichere Standardeinstellungen entfernt und den Zugriff auf Ihr Datenbanksystem leicht einschränkt:
sudo mysql_secure_installation
Sie werden gebeten, ein Passwort festzulegen, gefolgt von einigen anderen Fragen. Geben Sie ein sicheres Passwort ein und drücken Sie dann für den Rest der Fragen :key_enter:, um die Standardeinstellungen auszuwählen.
Schritt 3 – PHP 7.4 installieren
PHP ist eine serverseitige Skriptsprache, die für die Webentwicklung entwickelt wurde. PHP ist eine unverzichtbare Komponente des FAMP-Stacks. Außerdem werden anstelle von PHP häufig Python oder Perl verwendet. Am häufigsten wird jedoch PHP als die beliebteste Option verwendet. Zusammen mit der Datenbank verleiht es Ihren Websites oder Anwendungen ein dynamisches Verhalten.
Noch einmal: Nutzen Sie das pkg
System, um PHP-Komponenten zu installieren.
Um PHP 7.4
mit pkg
zu installieren, führen Sie diesen Befehl aus:
sudo pkg install -y php74 php74-mysqli mod_php74
Damit werden die php74
, mod_php74
, , und php74-mysqli
Pakete installiert.
Prüfen Sie die PHP-Version:
php --version
# PHP 7.4.1 (cli) (built: Jan 2 2020 01:32:38) ( NTS ) # Copyright (c) The PHP Group # Zend Engine v3.4.0, Copyright (c) Zend Technologies
Kopieren Sie die PHP-Beispielkonfigurationsdatei mit diesem Befehl an ihren Platz:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Jetzt aktivieren und starten Sie PHP-FPM:
sudo sysrc php_fpm_enable=yes sudo service php-fpm start
Um zu überprüfen, ob PHP-FPM gestartet wurde, können Sie den folgenden Befehl ausführen:
sudo service php-fpm status
Als Ergebnis werden Sie etwas Ähnliches sehen:
# Output php_fpm is running as pid 23005.
Installieren von PHP-Modulen (optional)
Um die Funktionalität von PHP zu erweitern, können Sie optional einige zusätzliche Module installieren.
So zeigen Sie die aktuell in PHP-Modulen kompilierten Pakete an:
php -m # [PHP Modules] # Core # date # libxml # mysqlnd # pcre # Reflection # SPL # standard # [Zend Modules]
Um nach verfügbaren PHP-Modulen zu suchen, können Sie diesen Befehl verwenden:
pkg search ^php74-*
Das Ergebnis werden hauptsächlich PHP 7.4-Module sein, die Sie installieren können:
# Output
# php74-7.4.0 PHP Scripting Language
# php74-Ice37-3.7.2_1 Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
# php74-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP
# php74-aphpunit-1.9 Testing framework for unit tests
# php74-bcmath-7.4.0 The bcmath shared extension for php
# php74-brotli-0.7.0 Brotli extension for PHP
# php74-bsdconv-11.5.0 PHP wrapper for bsdconv
# php74-bz2-7.4.0 The bz2 shared extension for php
# php74-calendar-7.4.0 The calendar shared extension for php
# php74-composer-1.8.6 Dependency Manager for PHP
# php74-ctype-7.4.0 The ctype shared extension for php
# php74-curl-7.4.0 The curl shared extension for php
# . . .
Wenn Sie nach der Recherche entscheiden, dass Sie ein Paket installieren müssen, können Sie dies mit Hilfe des pkg install
Befehls tun. Die meisten PHP-Webanwendungen benötigen zusätzliche Module, daher ist es gut zu wissen, wie man nach ihnen sucht.
Schritt 4 – Konfigurieren von Apache für die Verwendung des PHP-Moduls
Bevor Sie PHP verwenden, müssen Sie es für die Zusammenarbeit mit Apache konfigurieren.
Ausführen sudo vim /usr/local/etc/apache24/modules.d/001_mod-php.conf
und füllen Sie die Datei mit dem untenstehenden Inhalt:
<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>
Speichern Sie die Datei und beenden Sie vim.
Überprüfen Sie die Konfiguration von Apache:
sudo apachectl configtest
Da Sie Konfigurationsänderungen in Apache vorgenommen haben, müssen Sie den Service neu laden, damit diese angewendet werden können. Andernfalls wird Apache weiterhin mit der früheren Konfiguration arbeiten:
sudo apachectl restart
Schritt 5 – PHP-Verarbeitung testen
Um zu testen, ob Ihr System korrekt für PHP konfiguriert ist, können Sie ein sehr einfaches PHP-Skript erstellen. Sie nennen dieses Skript info.php
. Sie DocumentRoot
können die info.php
Datei unter diesem Speicherort durch Eintippen erstellen/usr/local/www/apache24/data
:
sudo vim /usr/local/www/apache24/data/info.php
Und fügen Sie diesen Code zu dieser Datei hinzu:
<?php phpinfo(); ?>
Navigieren Sie zu http://your_server_IP/info.php
und Sie werden die folgende Seite sehen:
Nach der Installation und Einrichtung des FAMP-Stacks sollten Sie die Datei entferneninfo.php
, um zu vermeiden, dass die Informationen über den Server der Öffentlichkeit preisgegeben werden:
sudo rm /usr/local/www/apache24/data/info.php
Schlussfolgerung
Herzlichen Glückwunsch, Sie haben erfolgreich einen FAMP-Stack auf Ihrem FreeBSD 12.1-Server installiert. Jetzt haben Sie mehrere Möglichkeiten, was Sie als nächstes tun können. Sie haben eine Plattform installiert, die es Ihnen erlaubt, die meisten Arten von Websites und Web-Software darauf zu installieren.