GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Vanilla Forum na Ubuntu 18.04 LTS

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 Ubuntu 18.04 LTS 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 certifikátu Let's Encrypt oprávnění 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 Forumminimálně 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áhlo konce své ž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čí! Ubuntu 18.04 LTS se standardně dodává s PHP 7.2, a proto se nemusíme starat o verzi PHP.

Předpoklady

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

Počáteční kroky

Zkontrolujte svou verzi Ubuntu:

lsb_release -ds
# Ubuntu 18.04.1 LTS

Nastavte časové pásmo:

sudo dpkg-reconfigure tzdata

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 apt update && sudo apt upgrade -y

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

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

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

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

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-curl php7.2-gd php7.2-mysql

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

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Zkontrolujte verzi PHP:

php --version

# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Služba PHP-FPM se automaticky spouští a povoluje při restartu na systému Ubuntu 18.04, takže ji není nutné spouštět a povolovat ručně. Můžeme přejít k dalšímu kroku, kterým je instalace a nastavení databáze.

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

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

Nainstalujte databázový server MySQL:

sudo apt install -y mysql-server

Zkontrolujte verzi MySQL:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper

Spusťte mysql_secure installation skript pro zlepšení zabezpečení MySQL a nastavení hesla pro MySQL root uživatel:

sudo mysql_secure_installation

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

Would you like to setup VALIDATE PASSWORD plugin? N
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 prostředí MySQL jako uživatel root:

sudo mysql -u root -p
# Enter password

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

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Ukončete MySQL:

mysql> 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 flage 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 si adresáře, do kterých budete ukládat své certifikáty. 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 formulář 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 upřednostňujete webový server Apache před Nginxem, navštivte prosím https://docs.vanillaforums.com/developer/backend/server-apache/, kde se dozvíte více.

Stáhněte a nainstalujte Nginx z úložiště Ubuntu:

sudo apt install -y nginx

Zkontrolujte verzi Nginx:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

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

sudo vim /etc/nginx/sites-available/vanilla.conf

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

server {

listen 80;
listen 443 ssl http2;
server_name forum.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
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 snippets/fastcgi-php.conf;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
fastcgi_param X_REWRITE 1;
fastcgi_pass unix:/var/run/php/php7.2-fpm.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/.

Aktivujte nový vanilla.conf konfiguraci propojením souboru s sites-enabled adresář.

sudo ln -s /etc/nginx/sites-available/vanilla.conf /etc/nginx/sites-enabled

Zkontrolujte konfiguraci Nginx, zda 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ÁMKA :Nahradit {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.6.4.zip

Extrahujte a odstraňte archiv zip Vanilla:

unzip vanilla-core-2.6.4.zip
rm vanilla-core-2.6.4.zip

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

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

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

Ubuntu
  1. Jak nainstalovat PHP 8.0 na Ubuntu 20.04 / Ubuntu 18.04

  2. Jak nainstalovat PHP 8 na Ubuntu 20.04 LTS

  3. Jak nainstalovat PHP OPcache na Ubuntu 20.04 LTS

  1. Jak nainstalovat PHP 5.6 na Ubuntu 16.04 LTS

  2. Jak nainstalovat PHP 7.2 na Ubuntu 18.04 LTS

  3. Jak nainstalovat PHP 7.3 na Ubuntu 18.04 LTS

  1. Jak nainstalovat PHP na Ubuntu 18.04

  2. Jak nainstalovat PHP 7.4 na Ubuntu 20.04 LTS

  3. Jak nainstalovat PHP 8 na Ubuntu 18.04 LTS