Wie man Anchor CMS unter FreeBSD 12 installiert

Anchor ist ein leichtes Open-Source-Blog-CMS, das in PHP geschrieben wurde. Der Quellcode von Anchor wird auf GitHub gehostet. In diesem Tutorial werden wir das Anchor CMS mit PHP, Nginx, MariaDB und Composer auf dem FreeBSD 12 System installieren.

Anforderungen

Vergewissere dich, dass dein System die folgenden Anforderungen erfüllt.

  • MySQL 5.6 oder höher (MySQL 5.7 empfohlen).
  • PHP 5.6 oder höher mit den folgenden PHP-Erweiterungen: (curl, mcrypt, gd, mbstring, pdo_mysql oder pdo_sqlite).
  • Apache oder Nginx. In diesem Lernprogramm werden wir Nginx verwenden.

Voraussetzungen

  • FreeBSD 12 als Betriebssystem.
  • Ein Nicht-Root-Benutzer mit sudo Rechten.

Erste Schritte

Überprüfe deine FreeBSD-Version:

uname -ro
# FreeBSD 12.0-RELEASE

Stelle die Zeitzone ein:

tzsetup

Aktualisiere die Pakete deines Betriebssystems (Software). Dies ist ein wichtiger erster Schritt, denn er stellt sicher, dass du die neuesten Updates und Sicherheitsfixes für die Standardpakete deines Betriebssystems hast:

freebsd-update fetch install
pkg update && pkg upgrade -y

Installiere einige wichtige Pakete, die für die grundlegende Verwaltung des FreeBSD 12.0 Betriebssystems notwendig sind:

pkg install -y sudo vim unzip wget bash socat

Schritt 1 – PHP installieren

Anchor CMS benötigt PHP Version 5.6 oder höher.

Installiere PHP, sowie die notwendigen PHP-Erweiterungen:

sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-phar php72-soap php72-xmlrpc

Um PHP in Modulen kompiliert anzuzeigen, kannst du ausführen:

php -m
ctype
curl
exif
fileinfo
. . .
. . .

Überprüfe die PHP-Version:

php --version
# PHP 7.2.12 (cli) (built: Nov 11 2018 14:54:16) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Starte und aktiviere den PHP-FPM-Dienst:

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Wir können mit dem nächsten Schritt fortfahren, nämlich der Installation und Einrichtung der Datenbank.

Schritt 2 – MariaDB installieren und eine Datenbank für das Anchor CMS erstellen

Anchor unterstützt MySQL/MariaDB und SQLite Datenbanken. In diesem Tutorial werden wir MariaDB als Datenbankserver verwenden .

Installiere MariaDB:

sudo pkg install -y mariadb102-client mariadb102-server

Überprüfe die MariaDB Version:

mysql --version
# mysql  Ver 15.1 Distrib 10.2.19-MariaDB, for Linux (x86_64) using readline 5.1

Starte und aktiviere den MariaDB-Dienst:

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

Führe das Skript mysql_secure installation aus, um die Sicherheit von MariaDB zu verbessern, und setze das Passwort für den Benutzer MariaDB root:

sudo mysql_secure_installation

Beantworte alle Fragen wie unten gezeigt:

Enter current password for root (enter for none):
Set root password? [Y/n]: Y
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Melde dich in der MariaDB-Shell als Benutzer root an:

mysql -u root -p
# Enter password

Erstelle eine MariaDB-Datenbank und einen Benutzer, den du für deine Installation von Anchor CMS verwenden wirst, und merke dir die Anmeldedaten:

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Verlasse die MariaDB-Shell:

quit

Ersetze dbname, username und password durch deine Namen.

Schritt 3 – Acme.sh-Client installieren und Let’s Encrypt-Zertifikat abrufen (optional)

Es ist nicht notwendig, deine Website mit HTTPS zu sichern, aber es ist eine gute Praxis, um deinen Website-Verkehr zu schützen. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, werden wir den acme.sh-Client verwenden. Acme.sh ist eine reine UNIX-Shell-Software, mit der du TLS-Zertifikate von Let’s Encrypt beziehen kannst, ohne dass Abhängigkeiten bestehen.

Lade acme.sh herunter und installiere es:

sudo pkg install acme.sh

Prüfe die Version von acme.sh:

acme.sh --version
# v2.8.4

Beziehe RSA- und ECC/ECDSA-Zertifikate für deinen Domain-/Hostnamen:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Wenn du gefälschte Zertifikate zum Testen möchtest, kannst du den obigen Befehlen das --stagingFlag zu den oben genannten Befehlen hinzufügen.

Nachdem du die oben genannten Befehle ausgeführt hast, befinden sich deine Zertifikate und Schlüssel in:

  • Für RSA: /home/username/example.com Verzeichnis.
  • Für ECC/ECDSA: /home/username/example.com_ecc Verzeichnis.

Um deine ausgestellten Zertifikate aufzulisten, kannst du Folgendes ausführen:

acme.sh --list

Erstelle ein Verzeichnis zum Speichern deiner Zertifikate. Wir werden das Verzeichnis /etc/letsencrypt verwenden.

mkdir -p /etc/letsecnrypt/example.com sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installiere/Kopiere die Zertifikate in das /etc/letsencrypt Verzeichnis.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Alle Zertifikate werden automatisch alle 60 Tage erneuert.

Nachdem du die Zertifikate erhalten hast, verlasse den Root-Benutzer und kehre zum normalen sudo-Benutzer zurück:

exit

Schritt 4 – NGINX installieren und konfigurieren

Installiere den NGINX-Webserver:

sudo pkg install -y nginx

Überprüfe die NGINX-Version:

nginx -v
# nginx version: nginx/1.14.2

Starte und aktiviere den NGINX-Dienst:

sudo sysrc nginx_enable=yes
sudo service nginx start

Konfiguriere Nginx für das Anchor CMS, indem du es ausführst:

sudo vim /usr/local/etc/nginx/anchor.conf

Und fülle die Datei mit der folgenden Konfiguration:

server {
    listen 80;
    listen 443 ssl;
ssl_certificate /etc/letsencrypt/status.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/status.example.com/private.key;
ssl_certificate /etc/letsencrypt/status.example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/status.example.com_ecc/private.key; server_name example.com; root /var/www/anchor; index index.php index.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }

Führe sudo vim /usr/local/etc/nginx/nginx.conf aus und füge die folgende Zeile zum http {} Block hinzu, um die Anchor-Konfiguration einzubinden.

include anchor.conf;

Überprüfe die Nginx-Konfiguration auf Syntaxfehler:

sudo nginx -t

Lade den Nginx-Dienst neu:

sudo service nginx reload

Schritt 5 – Composer herunterladen und installieren

Um Anchor erfolgreich zu installieren, müssen wir Composer, den Abhängigkeitsmanager für PHP-Anwendungen, installieren:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

Überprüfe die Composer-Version.

composer --version
# Composer version 1.8.4 2019-02-11 10:52:10

Schritt 6 – Anchor CMS herunterladen und installieren

Erstelle ein Stammverzeichnis für Dokumente, in dem Anchor liegen soll:

sudo mkdir -p /usr/local/www/anchor

Ändere die Eigentümerschaft des Verzeichnisses /usr/local/www/anchor auf {jour_user}:

sudo chown -R your_user:your_user /usr/local/www/anchor

HINWEIS: Ersetze ihn durch deinen ursprünglich angelegten Nicht-Root-Benutzer.

Navigiere zum Stammverzeichnis des Dokuments:

cd /usr/local/www/anchor

Lade die neueste Version von Anchor CMS mit dem Composer herunter :

composer create-project anchorcms/anchor-cms .

Ändere den Eigentümer des Verzeichnisses /usr/local/www/anchor in www:

sudo chown -R www:www /usr/local/www/anchor

Schritt 7 – Vervollständige die Einrichtung von Anchor CMS

Öffne deinen Webbrowser und gib die URL „http://example.com“. Du wirst auf die folgende Seite weitergeleitet:

Klicke auf die Schaltfläche„Installer ausführen“, um den Anchor CMS Webinstaller zu starten. Danach sollte die Seite für Sprache und Zeitzone erscheinen:

Wähle die gewünschten Einstellungen aus und klicke auf die Schaltfläche„Nächster Schritt“, um zur Seite mit der Datenbankkonfiguration zu gelangen:

Gib deine Datenbankdetails ein und klicke auf die Schaltfläche„Nächster Schritt“, um zur Seite mit den Metadaten der Website zu gelangen:

Hier kannst du den Standortnamen oder die Standortbeschreibung festlegen oder die Standardeinstellungen beibehalten und später über das Anchor Backend Interface ändern. Klicke auf die Schaltfläche„Nächster Schritt“, um zum nächsten Schritt, dem Einrichten deines ersten Kontos, zu gelangen:

Nachdem du dein erstes Konto eingerichtet hast, klickst du auf die Schaltfläche„Fertigstellen“, um den Installationsprozess abzuschließen.

Sobald du die Installation abgeschlossen hast, solltest du den Ordner install aus Sicherheitsgründen löschen.

sudo rm -rf /var/www/anchor/install

Links

Das könnte dich auch interessieren …