Anchor ist ein leichtgewichtiges Open-Source-Blog-CMS, das in PHP geschrieben ist. Der Quellcode von Anchor wird auf GitHub gehostet. In diesem Tutorial installieren wir das Anchor CMS mit PHP, Nginx, MariaDB und Composer auf dem Fedora 29-System.
Anforderungen
Stellen Sie sicher, dass Ihr 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 Tutorial verwenden wir Nginx.
Voraussetzungen
- Betriebssystem Fedora 29.
- Ein Nicht-Root Benutzer mit
sudo
Privilegien.
Erste Schritte
Überprüfen Sie Ihre Fedora-Systemversion:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Richten Sie die Zeitzone ein:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, da er sicherstellt, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:
sudo dnf check-upgrade || sudo dnf upgrade -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Fedora-Betriebssystems erforderlich sind:
sudo dnf install -y vim wget curl git socat unzip bash-completion
Schritt 1 – PHP installieren
Anchor CMS erfordert PHP-Version 5.6 oder höher.
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-curl php-mysql php-sqlite3 php-gd php-mcrypt php-dom
Um PHP in Modulen kompiliert anzuzeigen, können Sie Folgendes ausführen:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Überprüfen Sie 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
Starten und aktivieren Sie den PHP-FPM-Dienst:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
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 Anchor CMS erstellen
Anchor unterstützt MySQL/MariaDB- und SQLite-Datenbanken. In dieser Anleitung verwenden wir MariaDB als Datenbankserver.
MariaDB installieren:
sudo dnf install -y mariadb-server
Überprüfen Sie die MariaDB-Version:
mysql --version
# mysql Ver 15.1 Distrib 10.2.19-MariaDB, for Linux (x86_64) using readline 5.1
Starten und aktivieren Sie den MariaDB-Dienst:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Führen Sie mysql_secure installation
aus Skript zur Verbesserung der MariaDB-Sicherheit und zum Festlegen des Passworts für MariaDB root
Benutzer:
sudo mysql_secure_installation
Beantworten Sie 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
Melden Sie sich als Benutzer root bei der MariaDB-Shell an:
mysql -u root -p
# Enter password
Erstellen Sie eine MariaDB-Datenbank und einen Benutzer, den Sie für Ihre Installation von Anchor CMS verwenden, und merken Sie sich die Anmeldeinformationen:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Beenden Sie die MariaDB-Shell:
exit
Ersetzen Sie dbname
, username
und password
mit Ihren eigenen Namen.
Schritt 3 – Installieren Sie den Acme.sh-Client und erhalten Sie das Let's Encrypt-Zertifikat (optional)
Das Sichern Ihrer Website mit HTTPS ist nicht erforderlich, aber es ist eine bewährte Methode, den Datenverkehr Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let's Encrypt zu erhalten, verwenden wir den acme.sh-Client. Acme.sh ist eine reine UNIX-Shell-Software zum Abrufen von TLS-Zertifikaten von Let's Encrypt ohne Abhängigkeiten.
Laden Sie acme.sh herunter und installieren Sie es:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~
Überprüfen Sie die acme.sh-Version:
acme.sh --version
# v2.8.1
Fordern Sie RSA an und ECC/ECDSA Zertifikate für Ihre Domain/Ihren Hostnamen:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Wenn Sie zum Testen gefälschte Zertifikate wünschen, können Sie --staging
hinzufügen Flag zu den obigen Befehlen.
Nachdem Sie die obigen Befehle ausgeführt haben, werden Ihre Zertifikate und Schlüssel wird sein in:
- Für RSA :
/home/username/example.com
Verzeichnis. - Für ECC/ECDSA :
/home/username/example.com_ecc
Verzeichnis.
Um Ihre ausgestellten Zertifikate aufzulisten, können Sie Folgendes ausführen:
acme.sh --list
Erstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir verwenden den /etc/letsencrypt
Verzeichnis.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installieren/kopieren Sie Zertifikate nach /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 alle 60 Tage automatisch erneuert.
Nachdem Sie die Zertifikate erhalten haben, verlassen Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:
exit
Schritt 4 – NGINX installieren und konfigurieren
Installieren Sie den NGINX-Webserver:
sudo dnf install -y nginx
Überprüfen Sie die NGINX-Version:
nginx -v
# nginx version: nginx/1.14.2
Starten und aktivieren Sie den NGINX-Dienst:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Führen Sie sudo vim /etc/nginx/conf.d/anchor.conf
aus und füllen Sie 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 unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Testen Sie die NGINX-Konfiguration:
sudo nginx -t
NGINX neu laden:
sudo systemctl reload nginx.service
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üfen Sie die Composer-Version.
composer --version
# Composer version 1.8.4 2019-02-11 10:52:10
Schritt 6 – Anchor CMS herunterladen und installieren
Erstellen Sie ein Dokumentstammverzeichnis, in dem sich Anker befinden soll:
sudo mkdir -p /var/www/anchor
Ändern Sie die Eigentümerschaft von /var/www/limesurvey
Verzeichnis nach {jour_user}:
sudo chown -R {your_user}:{your_user} /var/www/anchor
HINWEIS : Ersetzen Sie {jour_user}
mit Ihrem ursprünglich erstellten Nicht-Root-Nutzernamen.
Navigieren Sie zum Stammverzeichnis des Dokuments:
cd /var/www/anchor
Laden Sie die neueste Version von Anchor CMS mithilfe von Composer herunter:
composer create-project anchorcms/anchor-cms .
Ändern Sie den Besitz von /var/www/anchor
Verzeichnis nach nginx:
sudo chown -R nginx:nginx /var/www/anchor
Erstellen Sie das Verzeichnis/var/lib/php/session
und legen Sie den Besitz auf nginx
fest .
sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php
Führen Sie sudo vim /etc/php-fpm.d/www.conf
aus und setzen Sie den Benutzer und die Gruppe auf nginx
. Anfangs sind sie auf apache:
eingestellt
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Starten Sie den PHP-FPM-Dienst neu:
sudo systemctl restart php-fpm.service
Schritt 7 – Schließen Sie die Einrichtung des Anchor-CMS ab
Öffnen Sie Ihren Webbrowser und geben Sie die URL "http://example.com" ein . Sie werden auf die folgende Seite weitergeleitet:
Klicken Sie auf „Installationsprogramm ausführen“ Schaltfläche, um den Anchor CMS-Webinstaller zu starten. Danach sollte die Seite Sprache und Zeitzone erscheinen:
Wählen Sie die gewünschten Einstellungen aus und klicken Sie auf „Nächster Schritt“ Schaltfläche, um zur Datenbankkonfigurationsseite zu gelangen:
Geben Sie Ihre Datenbankdaten ein und klicken Sie auf „Nächster Schritt“ Schaltfläche, um zur Konfigurationsseite der Website-Metadaten zu gelangen:
Sie können hier den Websitenamen oder die Websitebeschreibung festlegen oder die Standardeinstellungen beibehalten und später über die Anchor-Back-End-Oberfläche ändern. Klicken Sie auf „Nächster Schritt“ Schaltfläche für den nächsten Schritt, der Ihr erstes Konto einrichtet:
Nachdem Sie Ihr erstes Konto eingerichtet haben, klicken Sie auf „Fertig stellen“ Schaltfläche, um den Installationsvorgang abzuschließen.
Wenn Sie die Installation abgeschlossen haben, stellen Sie sicher, dass Sie install
löschen Ordner aus Sicherheitsgründen.
sudo rm -rf /var/www/anchor/install
Links
- https://anchorcms.com/
- https://github.com/anchorcms/anchor-cms