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
oderpdo_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 --staging
Flag 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