ExpressionEngine ist ein ausgereiftes, flexibles, sicheres und kostenloses Open-Source-Content-Management-System (CMS), das in PHP geschrieben ist. Sein Quellcode wird auf Github gehostet. Mit ExpressionEngine können Sie Websites mit vollem Funktionsumfang erstellen, eine Web-App erstellen oder Inhalte für mobile Anwendungen bereitstellen. Alles ohne komplexe Programmierkenntnisse. Dieser Leitfaden führt Sie durch den ExpressionEngine-Installationsprozess auf einem neuen CentOS 8 mit PHP, MariaDB als Datenbank und Nginx als Webserver.
Anforderungen
ExpressionEngine erfordert einen Webserver, auf dem PHP und MySQL/MariaDB ausgeführt werden. Die empfohlenen Software-Stacks und -Versionen sind:
- PHP-Version 7.0 oder höher, ausgeführt mit PHP-FPM und den folgenden PHP-Erweiterungen (
gd
,fileinfo
,intl
,mbstring
). - MySQL-Version 5.6 oder höher oder Percona-Version 5.6 oder höher. In dieser Anleitung wird MariaDB verwendet.
- Ein Webserver wie Nginx oder Apache. In dieser Anleitung wird Nginx verwendet.
Erste Schritte
Überprüfen Sie Ihre CentOS-Version:
cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)
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 yum update -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des CentOS-Betriebssystems erforderlich sind:
sudo yum install -y curl wget vim git unzip socat bash-completion epel-release
Schritt 1 - PHP installieren
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo yum install -y php-cli php-fpm php-common php-mbstring php-gd php-intl php-mysql php-json php-zip
Überprüfen Sie die PHP-Version:
php --version
# PHP 7.2.19 (cli) (built: Jun 2 2019 09:49:05) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Um PHP in Modulen kompiliert anzuzeigen, können Sie Folgendes ausführen:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Starten und aktivieren Sie den PHP-FPM-Dienst:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Schritt 2 – MariaDB installieren
Installieren Sie den MariaDB-Datenbankserver:
sudo yum install -y mariadb-server
Überprüfen Sie die MariaDB-Version:
mysql --version
# mysql Ver 15.1 Distrib 10.3.11-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 die mysql_secure_installation
aus Skript zur Verbesserung der Sicherheit Ihrer MariaDB-Installation:
sudo mysql_secure_installation
Melden Sie sich als Root-Benutzer bei MariaDB an:
sudo mysql -u root -p
# Enter password:
Erstellen Sie eine neue MariaDB-Datenbank und einen neuen Datenbankbenutzer und merken Sie sich die Anmeldeinformationen:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit
HINWEIS: Ersetzen Sie dbname
und username
mit passenden Namen für Ihr Setup. Ersetzen Sie password
mit einem starken Passwort.
Schritt 3 – Acme.sh-Client installieren und Let's Encrypt-Zertifikat abrufen (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 SSL-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 ~
Prüfen Sie die acme.sh-Version:
acme.sh --version
# v2.8.3
Holen Sie sich RSA und ECC/ECDSA Zertifikate für Ihre Domäne/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 gefälschte Zertifikate zum Testen wollen, können Sie --staging flag to the above commands.
Nachdem Sie die obigen Befehle ausgeführt haben, werden Ihre Zertifikate und Schlüssel wird sein in:
- Für RSA :
/home/username/example.com directory.
- Für ECC/ECDSA :
/home/username/example.com_ecc directory.
Um Ihre ausgestellten Zertifikate aufzulisten, können Sie Folgendes ausführen:
acme.sh --list
Erstellen Sie ein Verzeichnis zum Speichern Ihrer Zertifikate. Wir verwenden ein Verzeichnis /etc/letsencrypt.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installieren/kopieren Sie Zertifikate in das Verzeichnis /etc/letsencrypt:
# 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, beenden Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:
exit
Schritt 4 – Nginx installieren
Nginx-Webserver installieren:
sudo yum install -y nginx
Überprüfen Sie die Nginx-Version:
nginx -v
# nginx version: nginx/1.12.2
Starten und aktivieren Sie Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Konfigurieren Sie Nginx für ExpressionEngine. Führen Sie sudo vi /etc/nginx/conf.d/expressionengine.conf
aus und füllen Sie die Datei mit der folgenden Konfiguration.
server {
listen 443 ssl;
listen 80;
server_name example.com;
root /var/www/expressionengine;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
index index.php;
location / {
index index.php;
try_files $uri $uri/ @ee;
}
location @ee {
rewrite ^(.*) /index.php?$1 last;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Überprüfen Sie die NGINX-Konfiguration auf Syntaxfehler:
sudo nginx -t
NGINX-Dienst neu laden:
sudo systemctl reload nginx.service
Schritt 5 – ExpressionEngine installieren
Erstellen Sie ein Dokumentenstammverzeichnis, in dem sich ExpressionEngine befinden soll:
sudo mkdir -p /var/www/expressionengine
Navigieren Sie zum Stammordner des Dokuments:
cd /var/www/expressionengine
Laden Sie die neueste Version von ExpressionEngine herunter und entpacken Sie die Dateien in einen Ordner auf Ihrem Server:
sudo wget -O ee.zip --referer https://expressionengine.com/ 'https://expressionengine.com/?ACT=243'
sudo unzip ee.zip
sudo rm ee.zip
Ändern Sie den Besitz von /var/www/expressionengine
Verzeichnis nach nginx:
sudo chown -R nginx:nginx /var/www/expressionengine
Führen Sie sudo vim /etc/php-fpm.d/www.conf
aus und setzen Sie den Benutzer und die Gruppe auf nginx
. Anfänglich werden sie auf apache:
sudo vi /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Starten Sie den PHP-FPM-Dienst neu:
sudo systemctl restart php-fpm.service
Zeigen Sie mit Ihrem Browser auf die URL der admin.php
Datei, die Sie hochgeladen haben. Beispiel:http://example.com/admin.php
. Befolgen Sie die Anweisungen auf dem Bildschirm, um ExpressionEngine zu installieren. Sobald der Installationsassistent fertig ist, sollten Sie system/ee/installer/
umbenennen oder entfernen Verzeichnis von Ihrem Server.
Schritt 6 – Schließen Sie die ExpressionEngine-Einrichtung ab
Schließen Sie die ExpressionEngine-Installation ab, indem Sie die Datenbank- und Administratorkontodaten eingeben:
Danach sehen Sie die Standard-Anmeldeseite:
Dies ist das Administrations-Dashboard von ExpressionEngine:
Und hier ist die Frontend-Seite:
Das ist es! Die Installation von ExpressionEngine ist abgeschlossen.
Links
- https://expressionengine.com/
- https://github.com/ExpressionEngine/ExpressionEngine