GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Vanilla Forum su Debian 9

Vanilla è un forum di discussione gratuito e open source scritto in PHP. Il software Vanilla Forum è distribuito con licenza GNU GPL2. Il suo codice sorgente è disponibile tramite Github. Ha un ricco sistema di componenti aggiuntivi che puoi sfruttare per aggiungere funzionalità personalizzate al tuo forum Vanilla. I contenuti per Vanilla Forum possono essere scritti utilizzando il linguaggio Markdown. In questo tutorial, ti mostrerò come installare Vanilla Forum su Debian 9 utilizzando Nginx come server Web, MariaDB come server di database e opzionalmente puoi proteggere il livello di trasporto utilizzando il client acme.sh e Let's Encrypt certificate Authority per aggiungere Supporto SSL.

Requisiti

Vanilla richiede un server con PHP, MySQL e software per server web (come Apache o Nginx). Probabilmente dovrai possedere un dominio e averlo già configurato sul tuo server con DNS se vuoi installarlo su un server di produzione, ma in caso contrario non hai bisogno di un dominio.

Vanilla Forum minimo i requisiti sono:

  • PHP versione 7.0 o successiva.
  • Estensioni PHP mbstring, cURL, GD e PDO, MySQLi, OpenSSL.
  • MySQL versione 5.0 o successiva (o equivalente Percona/MariaDB).
  • Software server Web (Nginx, Apache ...).
  • Modalità rigorosa MySQL disabilitata.

Vanilla Forum consiglia vivamente di consigliare :

  • PHP versione 7.2 o più recente.
  • Estensioni PHP mbstring, cURL, GD e PDO, MySQLi, OpenSSL.
  • MySQL versione 5.7 o più recente (o equivalente Percona/MariaDB).
  • Software server Web (Nginx, Apache ...).
  • Crittografia SSL.

NOTAPHP 7.0 ha raggiunto la fine del ciclo di vita e non riceverà più le patch di sicurezza, quindi si consiglia vivamente di utilizzare le versioni PHP più recenti. Il supporto di Vanilla per PHP 7.0 terminerà presto!

Prerequisiti

  • Un sistema operativo che esegue Debian 9.
  • Un utente non root con privilegi sudo.

Passaggi iniziali

Controlla la tua versione di Debian:

lsb_release -ds
# Debian GNU/Linux 9.7 (stretch)

Imposta il fuso orario:

sudo dpkg-reconfigure tzdata

Aggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo importante perché ti assicura di avere gli ultimi aggiornamenti e correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo:

sudo apt update && sudo apt upgrade -y

Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Debian:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https lsb-release ca-certificates dirmngr software-properties-common

Passaggio 1:installa PHP e le estensioni PHP necessarie

Aggiungi il nuovo repository al tuo sistema per installare una versione PHP più recente:

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update && sudo apt upgrade -y

Installa PHP e le estensioni PHP necessarie:

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 php7.2-json

Per mostrare PHP compilato nei moduli, puoi eseguire:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controlla la versione PHP:

php --version

# PHP 7.2.14-1+0~20190113100742.14+stretch~1.gbpd83c69 (cli) (built: Jan 13 2019 10:07:43) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.14-1+0~20190113100742.14+stretch~1.gbpd83c69, Copyright (c) 1999-2018, by Zend Technologies

Il servizio PHP-FPM viene avviato e abilitato automaticamente al riavvio sul sistema Debian 9, quindi non è necessario avviarlo e abilitarlo manualmente. Possiamo passare al passaggio successivo, che è l'installazione e la configurazione del database.

Passaggio 2:installa MariaDB e crea un database per Vanilla Forum

Vanilla Forum supporta i database MySQL, MariaDB e Percona. In questo tutorial, utilizzeremo MariaDB come server di database.

Installa MariaDB versione 10.2 dal repository ufficiale MariaDB per Debian:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.nxthost.com/mariadb/repo/10.2/debian stretch main'
sudo apt update
sudo apt install -y mariadb-server

Controlla la versione di MariaDB:

mysql --version

Esegui mysql_secure installation script per migliorare la sicurezza di MariaDB e impostare la password per MariaDB root utente:

sudo mysql_secure_installation

Rispondi a ciascuna delle domande:

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

Connettiti a MariaDB shell come utente root:

sudo mysql -u root -p
# Enter password

Crea un database MariaDB vuoto e un utente per Vanilla Forum e ricorda le credenziali:

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

Sostituisci la parola mypassword con una password sicura a tua scelta. Esci da MariaDB:

mariadb> exit

Sostituisci dbname , username e password con i tuoi nomi.

Passaggio 3:installa il client acme.sh e ottieni il certificato Let's Encrypt (opzionale)

Proteggere il tuo sito web con HTTPS non è necessario, ma è una buona pratica per proteggere il traffico del tuo sito. Per ottenere un certificato TLS da Let's Encrypt utilizzeremo il client acme.sh. Acme.sh è un puro software shell Unix per ottenere certificati TLS da Let's Encrypt con zero dipendenze.

Scarica e installa 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 ~

Controlla la versione di acme.sh:

acme.sh --version
# v2.8.0

Ottieni RSA e ECC/ECDSA certificati per il tuo dominio/nome host:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Se vuoi certificati falsi per i test puoi aggiungere --staging segnala ai comandi precedenti.

Dopo aver eseguito i comandi precedenti, i tuoi certificatichiavi sarà in:

  • Per RSA :/home/username/example.com directory.
  • Per ECC/ECDSA :/home/username/example.com_ecc directory.

Per elencare i certificati emessi puoi eseguire:

acme.sh --list

Crea una directory in cui archiviare i tuoi certificati. Useremo la directory /etc/letsencrypt.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installa/copia i certificati nella directory /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"

Tutti i certificati verranno rinnovati automaticamente ogni 60 giorni.

Dopo aver ottenuto i certificati, esci dall'utente root e torna al normale utente sudo:

exit

Passaggio 4:installa NGINX e configura NGINX per Vanilla Forum

Vanilla Forum può funzionare bene con molti popolari software per server web. In questo tutorial, abbiamo selezionato Nginx. Se preferisci il server web Apache su Nginx, visita https://docs.vanillaforums.com/developer/backend/server-apache/ per saperne di più.

Scarica e installa Nginx dal repository Debian:

sudo apt install -y nginx

Controlla la versione di Nginx:

sudo nginx -v

Configura Nginx per Vanilla eseguendo:

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

E popolare il file con la seguente configurazione:

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;
}

}

NOTA :Per la configurazione Nginx completa e pronta per la produzione per Vanilla, visita https://docs.vanillaforums.com/developer/backend/server-nginx/.

Attiva il nuovo vanilla.conf configurazione collegando il file a sites-enabled directory.

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

Controlla la configurazione di Nginx per errori di sintassi:

sudo nginx -t

Ricarica il servizio Nginx:

sudo systemctl reload nginx.service

Passaggio 5:installa Vanilla Forum

Crea una directory principale dei documenti in cui dovrebbe risiedere Vanilla Forum:

sudo mkdir -p /var/www/vanilla

Cambia la proprietà del /var/www/vanilla directory in {your_user}. Replace the string {your_user} with the name of the Linux user that you are currently logged in, so when your username is e.g. johndoe, then replace '{your_user}' with 'johndoe'.

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

NOTA :Sostituisci {jour_user} con il tuo nome utente utente non root creato inizialmente.

Vai alla directory principale del documento:

cd /var/www/vanilla

Scarica l'archivio zip di Vanilla Forum:

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

Estrai e rimuovi l'archivio 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/.* .

Fornisci la proprietà appropriata:

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

Vai alla cartella in cui hai caricato Vanilla nel tuo browser web e segui le istruzioni sullo schermo.

Passaggio 6:completa l'installazione e la configurazione del forum Vanilla

Dopo aver aperto il tuo sito in un browser web, dovresti essere reindirizzato alla seguente pagina:

Inserisci le informazioni richieste e fai clic su "Continua →" pulsante per completare l'installazione e la configurazione. Dopodiché dovrebbe apparire l'interfaccia di amministrazione di Vanilla Forum.

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

Debian
  1. Come installare PHP 8.0 su Debian 11

  2. Come installare PHP 8.0 su Debian 10 / Debian 9

  3. Come installare PHP 7.4 su Debian 10

  4. Come installare PHP 8 su Debian 10

  5. Come installare PHP 7.3 su Debian 10

Come installare Webmin su Debian 9

Come installare Tomcat 9 su Debian 9

Come installare Vanilla Forum su CentOS 7

Come installare Vanilla Forum su Fedora 29

Come installare PHP 8 su Debian 11 Bullseye

Come installare Vai su Debian 11