GNU/Linux >> Znalost Linux >  >> Fedora

Jak nainstalovat Vanilla Forum na Fedoru 29

Vanilla je bezplatné, open source diskusní fórum napsané v PHP. Software Vanilla Forum je distribuován pod licencí GNU GPL2. Jeho zdrojový kód je dostupný přes Github. Má bohatý systém doplňků, který můžete využít k přidávání vlastních funkcí do fóra Vanilla. Obsah pro Vanilla Forum lze psát pomocí jazyka Markdown. V tomto tutoriálu projdeme instalací a nastavením Vanilla Forum na systému Fedora 29 pomocí Nginx jako webového serveru, MySQL jako databázového serveru a volitelně můžete zabezpečit transportní vrstvu pomocí klienta acme.sh a certifikační autority Let's Encrypt přidat podporu SSL.

Požadavky

Vanilla vyžaduje server s PHP, MySQL a softwarem webového serveru (jako Apache nebo NGINX). Pokud chcete instalovat na produkční server, budete pravděpodobně muset vlastnit doménu a již ji mít na svém serveru nakonfigurovanou pomocí DNS, ale pokud ne, pak doménu nepotřebujete.

Vanilla Forumminimum požadavky jsou:

  • PHP verze 7.0 nebo novější.
  • Rozšíření PHP mbstring, cURL, GD a PDO, MySQLi, OpenSSL.
  • MySQL verze 5.0 nebo novější (nebo ekvivalent Percona/MariaDB).
  • Software webového serveru (Nginx, Apache ...).
  • Přísný režim MySQL je zakázán.

Vanilla Forum důrazně doporučuje :

  • PHP verze 7.2 nebo novější.
  • Rozšíření PHP mbstring, cURL, GD a PDO, MySQLi, OpenSSL.
  • MySQL verze 5.7 nebo novější (nebo ekvivalent Percona/MariaDB).
  • Software webového serveru (Nginx, Apache ...).
  • Šifrování SSL.

POZNÁMKAPHP 7.0 dosáhla konce životnosti a již nebude dostávat bezpečnostní záplaty, proto důrazně doporučujeme používat novější verze PHP. Podpora Vanilla pro PHP 7.0 brzy skončí!

Předpoklady

  • Operační systém se systémem Fedora 29.
  • Uživatel bez oprávnění root s právy sudo.

Počáteční kroky

Zkontrolujte verzi systému Fedory:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

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 dnf upgrade -y

Nainstalujte si některé základní balíčky, které jsou nezbytné pro základní správu operačního systému Fedora:

sudo dnf install -y curl wget vim git sudo zip unzip socat bash-completion

Krok 1 – Instalace PHP a nezbytných rozšíření PHP

Nainstalujte PHP a také potřebná rozšíření PHP:

sudo dnf install -y php-cli php-fpm php-common php-mbstring php-curl php-gd php-mysqlnd php-json

Chcete-li zobrazit PHP zkompilované v modulech, můžete spustit:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Zkontrolujte verzi PHP:

php --version

# PHP 7.2.16 (cli) (built: Mar  5 2019 11:05:59) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Spusťte a povolte službu PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Můžeme přejít k dalšímu kroku, kterým je instalace a nastavení databáze.

Krok 2 – Instalace MariaDB a vytvoření databáze pro Vanilla Forum

Vanilla Forum podporuje databáze MySQL, MariaDB a Percona. V tomto tutoriálu použijeme MariaDB jako databázový server.

Nainstalujte MariaDB spuštěním:

sudo dnf install -y mariadb-server

Zkontrolujte verzi MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.3.12-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í MariaDB a nastavení hesla pro MariaDB root uživatel:

sudo mysql_secure_installation

Odpovězte na každou z otázek:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
New password: your_secure_password
Re-enter new password: your_secure_password
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

Připojte se k Shellu MariaDB jako uživatel root:

sudo mysql -u root -p
# Enter password

Vytvořte prázdnou databázi MariaDB a uživatele pro Vanilla Forum a zapamatujte si přihlašovací údaje:

MariaDB [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;

Ukončete službu MariaDB:

MariaDB [(none)]> exit

Nahraďte dbnameusernamepassword s vašimi vlastními jmény.

Krok 3 – Nainstalujte acme.sh klienta 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 TLS od Let's Encrypt použijeme klienta acme.sh. Acme.sh je čistě unixový shell software pro získávání certifikátů TLS 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.0

Získejte RSAECC/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 přidat --staging příznak k výše uvedeným příkazům.

Po spuštění výše uvedených příkazů budou vaše certifikátyklíče bude v:

  • Pro RSA/home/username/example.com adresář.
  • Pro ECC/ECDSA/home/username/example.com_ecc adresář.

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 /etc/letsencrypt adresář.

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 – Instalace NGINX a konfigurace NGINX pro Vanilla Forum

Vanilla Forum může dobře fungovat s mnoha oblíbenými webovými servery. V tomto tutoriálu jsme vybrali NGINX. Pokud dáváte přednost webovému serveru Apache před NGINX, navštivte prosím https://docs.vanillaforums.com/developer/backend/server-apache/ a zjistěte více.

Stáhněte a nainstalujte NGINX z úložiště Fedory:

sudo dnf install -y nginx

Zkontrolujte verzi NGINX:

nginx -v
# nginx version: nginx/1.14.2

Spusťte a povolte službu NGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Nakonfigurujte NGINX pro Vanilla spuštěním:

sudo vim /etc/nginx/conf.d/vanilla.conf

A naplňte soubor s následující konfigurací:

server {

listen 80;
listen 443 ssl http2;
server_name example.com;
root /var/www/vanilla;
index index.php;

# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC/ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

location ~* /\.git { deny all; return 403; }
location /build/ { deny all; return 403; }
location /cache/ { deny all; return 403; }
location /cgi-bin/ { deny all; return 403; }
location /uploads/import/ { deny all; return 403; }
location /conf/ { deny all; return 403; }
location /tests/ { deny all; return 403; }
location /vendor/ { deny all; return 403; }

location ~* ^/index\.php(/|$) {
include default.d/php.conf;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
fastcgi_param X_REWRITE 1;
fastcgi_pass unix:/run/php-fpm/www.sock;
}

location ~* \.php(/|$) {
rewrite ^ /index.php$uri last;
}

location / {
try_files $uri $uri/ @vanilla;
}

location @vanilla {
rewrite ^ /index.php$uri last;
}

}

POZNÁMKAÚplnou a produkčně připravenou konfiguraci Nginx pro Vanilla naleznete na https://docs.vanillaforums.com/developer/backend/server-nginx/.

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 fóra Vanilla

Vytvořte kořenový adresář dokumentů, kde by se Vanilla Forum mělo nacházet:

sudo mkdir -p /var/www/vanilla

Změňte vlastnictví /var/www/vanilla do adresáře {jour_user} :

sudo chown -R {your_user}:{your_user} /var/www/vanilla

POZNÁMKANahradit {jour_user} s původně vytvořeným uživatelským jménem uživatele bez oprávnění root.

Přejděte do kořenového adresáře dokumentu:

cd /var/www/vanilla

Stáhněte si zip archiv Vanilla Forum:

wget https://open.vanillaforums.com/get/vanilla-core-2.8.1.zip

Extrahujte a odstraňte archiv zip Vanilla:

unzip vanilla-core-2.8.1.zip
rm vanilla-core-2.8.1.zip
mv vanilla-2.8.1/* . && mv vanilla-2.8.1/.* .

Uveďte příslušné vlastnictví:

sudo chown -R nginx:nginx /var/www/vanilla

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 vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Ve webovém prohlížeči přejděte do složky, do které jste nahráli Vanilla, a postupujte podle pokynů na obrazovce.

Krok 6 – Dokončete instalaci a nastavení fóra Vanilla

Po otevření vašeho webu ve webovém prohlížeči byste měli být přesměrováni na následující stránku:

Vyplňte požadované informace a klikněte na "Pokračovat →" dokončete instalaci a nastavení. Poté by se mělo objevit rozhraní pro správu fóra Vanilla.

  • https://open.vanillaforums.com/
  • https://github.com/vanilla/vanilla

Fedora
  1. Jak nainstalovat PHP 8.0/8.1 na Fedora 35 / Fedora 34

  2. Jak nainstalovat PHP 8 na Fedoru 35

  3. Jak nainstalovat IonCube Loader na Fedoru 23

  1. Jak nainstalovat Vanilla Forum na Ubuntu 18.04 LTS

  2. Jak nainstalovat Vanilla Forum na CentOS 7

  3. Jak nainstalovat Bolt CMS na Fedoru 29

  1. Jak nainstalovat fórum NodeBB na Fedoru 29

  2. Jak nainstalovat Anchor CMS na Fedoru 29

  3. Jak nainstalovat Craft CMS na Fedoru 29