GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Phorum con Nginx su Ubuntu 18.04 LTS

Phorum è un software per forum open source basato su PHP e MySQL. In questa guida, ti guideremo passo dopo passo attraverso il processo di installazione di Phorum sul sistema operativo Ubuntu 18.04 LTS utilizzando Nginx come server web, MySQL come database e acme.sh e Let's Encrypt per HTTPS.

Requisiti

I requisiti per l'esecuzione di Phorum sono:

  • Nginx
  • PHP versione 5.2 o successiva
  • MySQL versione 5.0 o successiva

Prerequisiti

  • Un sistema operativo Ubuntu 18.04 LTS.
  • Un utente non root con sudo privilegi.

Passaggi iniziali

Controlla la tua versione di Ubuntu:

lsb_release -ds
# Ubuntu 18.04.1 LTS

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 Ubuntu:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https build-essential

Passaggio 1: Installa PHP

Installa PHP e le estensioni PHP necessarie:

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

Per mostrare PHP compilato nei moduli, puoi eseguire:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controlla la versione 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

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

Passaggio 2:installa MySQL e crea un database

Installa server di database MySQL:

sudo apt install -y mysql-server

Controlla la versione di MySQL:

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

Esegui mysql_secure installation script per migliorare la sicurezza di MySQL e impostare la password per MySQL 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 alla shell MySQL come utente root:

sudo mysql -u root -p
# Enter password

Crea un database MySQL e un utente vuoti per Cachet e ricorda le credenziali:

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

Esci da MySQL:

mysql> exit

Sostituisci dbnameusernamepassword con i tuoi nomi.

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

Proteggere il tuo forum con HTTPS non è necessario, ma è una buona pratica per proteggere il traffico del tuo sito. Per ottenere il 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 RSAECC/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 desideri certificati falsi per i test, puoi aggiungere --staging flag 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 /etc/letsencrypt directory.

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 e configura NGINX

Installa NGINX:

sudo apt install -y nginx

Controlla la versione di NGINX:

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

Configura NGINX per Phorum. Esegui sudo vim /etc/nginx/sites-available/phorum.conf e aggiungi la seguente configurazione.

server {
  listen 80;
  listen 443 ssl;
  server_name example.com;
  root /var/www/phorum;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; } }

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

sudo ln -s /etc/nginx/sites-available/phorum.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

Fase 4 - Installa Phorum

Crea una directory principale del documento per Phorum:

sudo mkdir -p /var/www/phorum

Modifica la proprietà del /var/www/phorum directory a [jour_user]:

sudo chown -R [your_user]:[your_user] /var/www/phorum

Vai alla directory principale del documento:

cd /var/www/phorum

Scarica l'ultima distribuzione stabile di Phorum dal sito web ufficiale:

wget https://www.phorum.org/downloads/phorum-5.2.23.tar.gz

Decomprimi l'archivio scaricato e sposta i file nella radice del documento:

tar xvzf phorum-5.2.23.tar.gz
rm phorum-5.2.23.tar.gz
mv Core-phorum_5_2_23/* . && mv Core-phorum_5_2_23/.* .
rmdir Core-phorum_5_2_23

Configurare l'accesso al database:

cp include/db/config.php.sample include/db/config.php

Configura le impostazioni del database modificando include/db/config.php file:

vim include/db/config.php

Modifica la proprietà del /var/www/phorum directory in www-data:

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

Per completare l'installazione, esegui il programma di installazione basato sul Web visitando http://forum.example.com/admin.php nel tuo browser web.


Ubuntu
  1. Come installare WordPress con Nginx su Ubuntu 18.04

  2. Come installare Nginx con PHP5 e MySQL su Ubuntu 11.10

  3. Come installare PHP 5.6 su Ubuntu 16.04 LTS

  4. Come installare PHP 7.4 su Ubuntu 20.04 LTS

  5. Come installare PHP 7.4 con Nginx su Ubuntu 20.04

Come installare GitBucket con Nginx su Ubuntu 20.04 LTS

Come installare Grav CMS con Nginx su Ubuntu 20.04

Come installare Apache, MySQL, PHP su Ubuntu 18.04 LTS

Come installare Nginx, MySQL e PHP (LEMP) su Ubuntu 20.04

Come installare WonderCMS su Ubuntu 20.04 (con Nginx)

Come installare phpMyAdmin con Nginx su Ubuntu 20.04 LTS