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 pkgFreeBSD-Paketmanagers einrichten.

Anforderungen

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

  • Ein FreeBSD 12.1.
  • Ein Benutzer mit Root-Rechten oder sudoein 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 visudoBefehl aus und entkommentieren Sie die %wheel ALL=(ALL) ALLZeile, damit die Mitglieder der wheelGruppe 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 johndoeSie 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.0mit 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_installationSicherheitsskript 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 pkgSystem, um PHP-Komponenten zu installieren.

Um PHP 7.4mit pkgzu installieren, führen Sie diesen Befehl aus:

sudo pkg install -y php74 php74-mysqli mod_php74

Damit werden die php74, mod_php74, , und php74-mysqliPakete 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 installBefehls 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.confund 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.phpDatei 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.phpund Sie werden die folgende Seite sehen:

PHP-Informationen zu FreeBSD 12

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.

Das könnte dich auch interessieren …