ExpressionEngine je vyspělý, flexibilní, bezpečný, bezplatný open-source systém pro správu obsahu (CMS) napsaný v PHP. Jeho zdrojový kód je hostován na Github. S ExpressionEngine můžete vytvářet plnohodnotné webové stránky, vytvářet webové aplikace nebo poskytovat obsah mobilním aplikacím. To vše bez nutnosti složitých programátorských dovedností. Tato příručka vás provede instalačním procesem ExpressionEngine na čerstvém CentOS 8 pomocí PHP, MariaDB jako databáze a Nginx jako webového serveru.
Požadavky
ExpressionEngine vyžaduje webový server s PHP a MySQL/MariaDB. Doporučená sada softwaru a verze jsou:
- PHP verze 7.0 nebo vyšší, běžící s PHP-FPM a s následujícími rozšířeními PHP (
gd
,fileinfo
,intl
,mbstring
). - MySQL verze 5.6 nebo vyšší nebo Percona verze 5.6 nebo vyšší. Tento výukový program bude používat MariaDB.
- Webový server jako Nginx nebo Apache. Tento výukový program bude používat Nginx.
Počáteční kroky
Zkontrolujte verzi CentOS:
cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)
Nastavte časové pásmo:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Aktualizujte balíčky operačního systému (software). Toto je důležitý první krok, protože zajišťuje, že máte nejnovější aktualizace a opravy zabezpečení pro výchozí softwarové balíčky vašeho operačního systému:
sudo yum update -y
Nainstalujte si některé základní balíčky, které jsou nezbytné pro základní správu operačního systému CentOS:
sudo yum install -y curl wget vim git unzip socat bash-completion epel-release
Krok 1 – Instalace PHP
Nainstalujte PHP a také potřebná rozšíření PHP:
sudo yum install -y php-cli php-fpm php-common php-mbstring php-gd php-intl php-mysql php-json php-zip
Zkontrolujte verzi PHP:
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
Chcete-li zobrazit PHP zkompilované v modulech, můžete spustit:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Spusťte a povolte službu PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Krok 2 – Instalace MariaDB
Nainstalujte databázový server MariaDB:
sudo yum install -y mariadb-server
Zkontrolujte verzi MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1
Spusťte a povolte službu MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Spusťte mysql_secure_installation
skript pro zlepšení zabezpečení vaší instalace MariaDB:
sudo mysql_secure_installation
Přihlaste se do MariaDB jako uživatel root:
sudo mysql -u root -p
# Enter password:
Vytvořte novou databázi MariaDB a uživatele databáze a zapamatujte si přihlašovací údaje:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit
POZNÁMKA: Nahraďte dbname
a username
s vhodnými názvy pro vaše nastavení. Nahraďte password
se silným heslem.
Krok 3 – Nainstalujte klienta Acme.sh a získejte certifikát Let's Encrypt (volitelné)
Zabezpečení webu pomocí protokolu HTTPS není nutné, ale je dobrým zvykem zabezpečit provoz na webu. K získání certifikátu SSL od Let's Encrypt použijeme klienta Acme.sh. Acme.sh je čistě unixový shell software pro získávání TLS certifikátů z Let's Encrypt s nulovými závislostmi.
Stáhněte a nainstalujte acme.sh:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~
Zkontrolujte verzi acme.sh:
acme.sh --version
# v2.8.3
Získejte RSA a ECC/ECDSA certifikáty pro vaši doménu/název hostitele:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Pokud chcete falešné certifikáty pro testování, můžete k výše uvedeným příkazům přidat příznak --staging flag to the above commands.
Po spuštění výše uvedených příkazů budou vaše certifikáty a klíče bude v:
- Pro RSA :
/home/username/example.com directory.
- Pro ECC/ECDSA :
/home/username/example.com_ecc directory.
Chcete-li uvést své vydané certifikáty, můžete spustit:
acme.sh --list
Vytvořte adresář pro ukládání vašich certifikátů. Použijeme adresář /etc/letsencrypt.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Nainstalujte/zkopírujte certifikáty do adresáře /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"
Všechny certifikáty budou automaticky obnovovány každých 60 dní.
Po získání certifikátů ukončete uživatele root a vraťte se zpět k normálnímu uživateli sudo:
exit
Krok 4 – Nainstalujte Nginx
Nainstalujte webový server Nginx:
sudo yum install -y nginx
Zkontrolujte verzi Nginx:
nginx -v
# nginx version: nginx/1.12.2
Spusťte a povolte Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Nakonfigurujte Nginx pro ExpressionEngine. Spusťte sudo vi /etc/nginx/conf.d/expressionengine.conf
a naplňte soubor následující konfigurací.
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;
}
}
Zkontrolujte, zda konfigurace NGINX neobsahuje chyby syntaxe:
sudo nginx -t
Znovu načtěte službu NGINX:
sudo systemctl reload nginx.service
Krok 5 – Instalace ExpressionEngine
Vytvořte kořenový adresář dokumentu, kde by se měl ExpressionEngine nacházet:
sudo mkdir -p /var/www/expressionengine
Přejděte do kořenové složky dokumentu:
cd /var/www/expressionengine
Stáhněte si nejnovější verzi ExpressionEngine a rozbalte soubory do složky na vašem serveru:
sudo wget -O ee.zip --referer https://expressionengine.com/ 'https://expressionengine.com/?ACT=243'
sudo unzip ee.zip
sudo rm ee.zip
Změňte vlastnictví /var/www/expressionengine
adresář do nginx:
sudo chown -R nginx:nginx /var/www/expressionengine
Spusťte sudo vim /etc/php-fpm.d/www.conf
a nastavte uživatele a skupinu na nginx
. Zpočátku budou nastaveny na Apache:
sudo vi /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Restartujte službu PHP-FPM:
sudo systemctl restart php-fpm.service
Nasměrujte svůj prohlížeč na adresu URL admin.php
soubor, který jste nahráli. Například:http://example.com/admin.php
. Při instalaci ExpressionEngine postupujte podle pokynů na obrazovce. Po dokončení průvodce instalací byste měli přejmenovat nebo odebrat system/ee/installer/
adresář z vašeho serveru.
Krok 6 – Dokončete nastavení ExpressionEngine
Dokončete instalaci ExpressionEngine zadáním údajů o databázi a účtu správce:
Poté se zobrazí výchozí přihlašovací stránka:
Toto je řídicí panel pro správu ExpressionEngine:
A zde je frontendová stránka:
A je to! Instalace ExpressionEngine je dokončena.
Odkazy
- https://expressionengine.com/
- https://github.com/ExpressionEngine/ExpressionEngine