phpMyFAQ è un sistema FAQ multilingue, completamente basato su database. Supporta vari database per archiviare tutti i dati.
Per accedere a questi dati è necessario PHP 8.2 o superiore. phpMyFAQ offre anche un sistema di gestione dei contenuti multilingue con un editor WYSIWYG e un gestore multimediale, supporto per la ricerca in tempo reale con Elasticsearch, supporto multiutente flessibile con autorizzazioni basate su utenti e gruppi su categorie e record, una funzionalità di revisione simile a wiki, un sistema di notizie, tracciamento degli utenti, oltre 40 lingue supportate, negoziazione automatica dei contenuti migliorata, modelli reattivi basati su HTML5/CSS3, supporto PDF, sistema di backup e ripristino, mappa del sito dinamica, domande frequenti correlate, tagging, funzionalità SEO avanzate, funzionalità SEO integrate sistemi di protezione dallo spam, Microsoft Entra ID, supporto Microsoft Active Directory e OpenLDAP e uno script di installazione e aggiornamento di facile utilizzo.
PREREQUISITI
Sistema Operativo:
Ubuntu Server 22.04
Database: MySQL v8 – MariaDB v10 – Percona Server v8 – Galera Cluster v4 for MySQL – PostgreSQL v10 or later – SQLite 3 – MS SQL Server 2016 or later
PHP: 8.2 o superiore
Web Server: Apache
AGGIORNAMENTO DEL SISTEMA
Eseguire i comandi in sequenaza per l’aggiornamento del sistema:
0 1 2 |
sudo apt update sudo apt list --upgradable sudo apt upgrade |
INSTALLAZIONE DEL WEB SERVER APACHE
Proseguire con l’installazione di Apache eseguendo il comando:
0 |
sudo apt install apache2 -y |
Per verificare che Apache sia in esecuzione digitare il comando seguente:
0 |
sudo systemctl status apache2 |
Se è tutto ok dovremmo vedere un output come mostrato nell’immagine sovrastante
Inoltre se da un qualsiasi browser richiamiamo il seguente link:
http://server-ip-address
Dovremmo visualizzare il messaggio di benvenuto di Apache come mostrato nell’immagine sovrastante
INSTALLAZIONE DI MYSQL SERVER
Come Database ho deciso di utilizzare MySQL (Ver 8.0.35).
Installare MySQL Server con il comando:
0 |
sudo apt install mysql-server |
Avviare il servizio di MySQL con il comando:
0 |
sudo systemctl start mysql.service |
Accedere al MySQL Server con il comando:
0 |
sudo mysql |
Per impostare la password di root eseguire il comando:
0 |
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD'; |
NOTA BENE: al posto di PASSWORD inserire una password a piacimento
Quindi uscire dalla configurazione di MySQL con il comando:
0 |
exit |
Per migliorare la sicurezza di MySQL, eseguire lo script di sicurezza, incluso come parte dell’installazione:
0 |
sudo mysql_secure_installation |
Rispondere a tutte le domande come mostrato nell’immagine sovrastante.
INSTALLAZIONE DI PHP
Ubuntu 22.04 fornisce già PHP 8.1 nel suo repository.
Tuttavia, PHP 8.3.1 è l’ultima versione stabile di PHP al momento della stesura di questa guida. Per avere questa versione, è necessario installarla dal PPA Ondrej Sury.
È un repository che fornisce le ultime versioni di PHP, come la serie PHP 8.x.
Aggiungere il repository Ondrej PPA con il comando seguente:
0 |
sudo add-apt-repository ppa:ondrej/php |
Quindi installare il PHP 8.3 con il comando:
0 |
sudo apt install php8.3 -y |
INSTALLAZIONE DEI MODULI PHP
Dopo aver installato il PHP procedere con l’installazione dei moduli necessari per il corretto funzionamento di phpMYSQL
Eseguire il comando:
0 |
sudo apt install php8.3-common php8.3-mysql php8.3-gd php8.3-xml php8.3-mbstring php8.3-curl php8.3-zip |
Dopo aver installato i moduli del PHP modificare il file php.ini inserendo i parametri elencati di seguito.
Se avete installato come da guida il PHP 8.3 eseguire il comando:
0 |
sudo nano /etc/php/8.3/apache2/php.ini |
Quindi modificare le seguenti variabili:
0 1 2 3 4 5 6 7 8 |
register_globals = Off magic_quotes_gpc = Off safe_mode = Off memory_limit = 128M file_uploads = On |
NOTA BENE: le varibaili memory_limit e file_uploads dovrebbero già esiststere nel file php.ini e dovrebbero avere i valori corretti. Le altre variabili vanno aggiunte al fondo del file php.ini
Salvare e chiudere il file di configurazione
INSTALLAZIONE DI PHPMYFAQ
Prima di tutto provvediamo a scaricare l’ultima versione di phpMySQL disponibile dal sito ufficiale al seguente link
Individuare l’ultimo pacchetto disponibile nella versione stabile in modalità tar.gz
Cliccare con il tasto destro del mouse sul blocco quindi selezionare Copy Link come mostrato nell’immagine sovrastante
NOTA BENE: durante la stesura del seguente articolo la versione diponibile di phpMyFAQ è la 3.2.3 rilasciata il 2023-11-24
Dalla console SSH del Server Ubuntu eseguire il comando:
0 |
sudo wget https://download.phpmyfaq.de/phpMyFAQ-3.2.3.tar.gz |
Quindi scompattare il pacchetto appena scaricato con il comando:
0 |
sudo tar xzvf phpMyFAQ-3.2.3.tar.gz |
Rinominare la cartella appena decompressa da phpmyfaq a faq con il comando:
0 |
sudo mv phpmyfaq/ faq |
Quindi spostare la cartella faq all’interno del path del webserver Apache con il comando:
0 |
sudo mv faq/ /var/www/html/ |
Dare i permessi al www-data alla cartella faq con i seguenti comandi:
0 1 |
sudo chown www-data:www-data -R /var/www/html/* sudo chmod -R 777 /var/www/html/* |
Quindi creare tutte le cartelle seguenti con i comandi elencati:
0 1 2 |
sudo mkdir /var/www/html/faq/attachments sudo mkdir /var/www/html/faq/data sudo mkdir /var/www/html/faq/images |
Quindi attribuire i diritti con i seguenti comandi:
0 1 2 3 |
sudo chmod -R 777 /var/www/html/faq/attachments/ sudo chmod -R 777 /var/www/html/faq/data/ sudo chmod -R 777 /var/www/html/faq/images/ sudo chmod -R 777 /var/www/html/faq/config/ |
CONFIGURAZIONE DEL DATABASE
Accedere al database con il seguente comando:
0 |
mysql -u root -p |
Se abbiamo inserito la password corretta dovremmo vedere il seguente output:
0 1 2 3 4 5 6 7 8 9 10 11 12 |
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 264 Server version: 8.0.35-0ubuntu0.22.04.1 (Ubuntu) Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
Procedere con la creazione del database con il comando:
0 |
create database faqdb DEFAULT CHARACTER SET = 'utf8'; |
Creare l’utente per l’accesso al database con il comando:
0 |
CREATE USER 'faquser'@'localhost' IDENTIFIED BY 'PASSWORD'; |
NOTA BENE: al posto di PASSWORD inserire una password a piacimento
Dare in privilegi all’utente appena creato al database faqdb con il comando:
0 |
GRANT ALL PRIVILEGES ON faqdb.* TO 'faquser'@'localhost' WITH GRANT OPTION; |
Fare il flush dei privilegi con il comando:
0 |
flush privileges; |
Quindi per uscire digitare il comando:
0 |
exit |
ATTENZIONE: Creare il database con il valore del set di caratteri utf8 altrimenti sim rischia di ricevere l’errore “Errore DB db nessun database selezionato”.
Sopra un immagine che mostra l’errore che si può riscontrare in caso di configurazione errata del database.
CONFIGURAZIONE DI PHPMYFAQ DA INTERFACCIA WEB
A questo punto da un qualsiasi browser è possibile richiamare il link http://ip-address/faq/setup/index.php oppure http://domain-name/faq/setup/index.php
Compilare tutti i campi relativi al Database creato in precedenza come mostrato nell’immagine sovrastante quindi premere Next
Cliccare Next
ATTENZIONE: Se si ha a disposizione un Server Elasticsearch abilitare il Support Elasticsearch quindi cliccare Next
Scegliere la lingua di Default, la tipologia di permessi da adottare, il nome, la mail, l’utente di login con relativa password.
Quindi cliccare Submit
Se è andato tutto a buon fine dovremmo vedere una schermata come quella sovrastante
A questo punto è possibile richiamare la sezione amministrativa con i seguenti link:
http://ip-address/faq/admin/index.php oppure http://domain-name/faq/admin/index.php
Inserire le credenziali di admin configurate in precendenza quindi cliccare Login
Dovremmo visualizzare la Dashboard di phpMyFAQ come mostrato nell’immagine sovrastante
A questo punto è possibile creare utenti, categorie, FAQ, e tanto altro ancora…
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
0 commenti