Difference between revisions of "Ubuntu"

55,582 bytes added ,  6 months ago
no edit summary
 
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Schema delle operazioni eseguite==
=Progetto di configurazione per MediaWiki e Masticationpedia: =
<br />
L'idea di configurare un'installazione locale di MediaWiki nasce dalla necessità di creare un ambiente collaborativo e facilmente accessibile per lo sviluppo e la gestione di contenuti scientifici avanzati, connessi al progetto Masticationpedia. Il percorso intrapreso non è stato lineare: ogni tappa ha richiesto riflessione, tentativi e risoluzioni di problemi tecnici. Ma partiamo dall'inizio.
==Descrizione dettagliata degli step==
 
Il nostro punto di partenza è stato l'installazione di '''Ubuntu 22.04 LTS''', una scelta dettata dalla stabilità e sicurezza offerte da questo sistema operativo. Una volta installato, abbiamo subito verificato che fosse aggiornato eseguendo i comandi fondamentali <code>sudo apt update</code> e <code>sudo apt upgrade</code>. Questo passaggio ha garantito che il sistema fosse pronto per ospitare le applicazioni e i servizi successivi. Abbiamo anche controllato la versione di Ubuntu con <code>lsb_release -a</code>, confermando di essere su una piattaforma solida e compatibile con i nostri obiettivi.
 
Il passo successivo è stato l'installazione di '''MySQL''', un elemento fondamentale per la gestione del database che MediaWiki utilizza per archiviare i dati. Con il comando <code>sudo apt install mysql-server</code> abbiamo avviato il processo di installazione. Subito dopo, sono emersi i primi ostacoli: problemi legati ai permessi e alla directory <code>/var/run/mysqld</code>. Dopo diverse verifiche e correzioni, come l'utilizzo di <code>sudo chown mysql:mysql /var/run/mysqld</code>, siamo riusciti a risolverli e a far funzionare correttamente il servizio MySQL, verificando il suo stato con <code>sudo systemctl status mysql</code>.
 
La configurazione di MySQL si è rivelata un passo cruciale. Abbiamo modificato il file <code>/etc/mysql/my.cnf</code> per consentire connessioni da qualsiasi indirizzo IP, impostando il parametro <code>bind-address = 0.0.0.0</code>. Per risolvere problemi di accesso e password, abbiamo avviato MySQL in modalità sicura con <code>sudo mysqld_safe --skip-grant-tables --skip-networking</code>. Questo approccio ci ha permesso di reimpostare password e configurazioni, superando ostacoli legati al plugin <code>auth_socket</code>.
 
Con MySQL pronto, ci siamo concentrati su '''PHP''', indispensabile per far funzionare l'interfaccia di MediaWiki. L'installazione è stata semplice grazie al comando <code>sudo apt install php php-mysql</code>. Abbiamo poi verificato che il modulo <code>mysqli</code> fosse attivo usando <code>php -m | grep mysqli</code>. Questi passaggi hanno garantito la piena compatibilità tra PHP e MySQL.
 
Successivamente, '''Apache''' è stato configurato come server web. Dopo averlo installato con <code>sudo apt install apache2</code>, abbiamo abilitato il modulo <code>mod_rewrite</code> con <code>sudo a2enmod rewrite</code> e riavviato Apache. Questo passaggio era essenziale per ospitare MediaWiki e renderlo accessibile tramite browser. Abbiamo confermato che Apache fosse attivo e funzionante utilizzando <code>sudo systemctl status apache2</code>.
 
Con il server web pronto, siamo passati all'installazione di MediaWiki. Abbiamo scaricato l'ultima versione disponibile con <code>wget https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.0.tar.gz</code> e l'abbiamo estratta nella directory di Apache <code>/var/www/html</code>. La configurazione iniziale di MediaWiki è stata effettuata tramite l'interfaccia web, accessibile all'indirizzo <code>http://localhost/mediawiki</code>. Questo passaggio ha richiesto la creazione del file <code>LocalSettings.php</code>, che collega MediaWiki al database MySQL.
 
Dopo aver verificato che MediaWiki fosse funzionante, abbiamo esplorato la possibilità di connetterlo al progetto Masticationpedia. Questo ha richiesto la configurazione di chiavi API e la sincronizzazione tra MediaWiki locale e il server remoto. Abbiamo monitorato i log di Apache con <code>tail -f /var/log/apache2/error.log</code> per identificare e risolvere eventuali problemi di configurazione o connessione.


===1. Sistema operativo (Ubuntu 22.04 LTS)===
Ogni tappa di questo viaggio ha avuto il suo ruolo nella costruzione di un sistema stabile, sicuro e funzionale. Attraverso un'attenta gestione dei permessi, il controllo delle directory, la configurazione di password e l'integrazione tra diversi servizi, abbiamo creato un ambiente che non solo supporta le operazioni locali, ma è anche pronto per collaborare con progetti più ampi come Masticationpedia. La strada è stata lunga e complessa, ma ogni passo ha contribuito a costruire una soluzione robusta e scalabile.<br />
==1. Sistema operativo (Ubuntu 22.04 LTS)==


*'''Descrizione''': Installazione di Ubuntu come sistema operativo principale. Questo step crea il punto di partenza per l'intero processo, fornendo un ambiente sicuro e stabile.
*Descrizione: Installazione di Ubuntu come sistema operativo principale. Questo step crea il punto di partenza per l'intero processo, fornendo un ambiente sicuro e stabile.
*'''Azioni''':
*Azioni:


<blockquote>Configurazione iniziale del sistema.
<blockquote>Configurazione iniziale del sistema.
Line 14: Line 28:
<code>sudo apt update</code>
<code>sudo apt update</code>


<code>sudo apt upgrade</code>.</blockquote><br />
<code>sudo apt upgrade</code>.</blockquote>
Controllo Ubuntu:


Controlla la versione di Ubuntu:
'''parallels@ubuntu-linux-22-04-02-desktop''':'''~'''$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04 
Assicurati che il sistema sia aggiornato:
'''parallels@ubuntu-linux-22-04-02-desktop''':'''~'''$ sudo apt update && sudo apt upgrade
[sudo] password for parallels:
Get:1 <nowiki>http://security.ubuntu.com/ubuntu</nowiki> jammy-security InRelease [129 kB]
Hit:2 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy InRelease                     
Get:3 <nowiki>http://security.ubuntu.com/ubuntu</nowiki> jammy-security/main amd64 DEP-11 Metadata [43.1 kB]
Get:4 <nowiki>http://security.ubuntu.com/ubuntu</nowiki> jammy-security/restricted amd64 DEP-11 Metadata [208 B]
Get:5 <nowiki>http://security.ubuntu.com/ubuntu</nowiki> jammy-security/universe amd64 DEP-11 Metadata [125 kB]
Get:6 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-updates InRelease [128 kB]
Get:7 <nowiki>http://security.ubuntu.com/ubuntu</nowiki> jammy-security/multiverse amd64 DEP-11 Metadata [208 B]
Get:8 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-backports InRelease [127 kB]
Get:9 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-updates/main amd64 DEP-11 Metadata [103 kB]
Get:10 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-updates/restricted amd64 DEP-11 Metadata [212 B]
Get:11 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-updates/universe amd64 DEP-11 Metadata [356 kB]
Get:12 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-updates/multiverse amd64 DEP-11 Metadata [940 B]
Get:13 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-backports/main amd64 DEP-11 Metadata [7,016 B]
Get:14 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-backports/restricted amd64 DEP-11 Metadata [212 B]
Get:15 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-backports/universe amd64 DEP-11 Metadata [17.7 kB]
Get:16 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-backports/multiverse amd64 DEP-11 Metadata [212 B]
Fetched 1,038 kB in 2s (607 kB/s)                                   
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 




===2. Installazione di MySQL===
'''Controlla la versione di Ubuntu:'''<blockquote><small>'''parallels@ubuntu-linux-22-04-02-desktop''':'''~'''$ lsb_release -a</small>


*'''Descrizione''': Installazione del database MySQL, necessario per archiviare i dati di MediaWiki.
<small>No LSB modules are available.</small>
*'''Azioni''':
 
<small>Distributor ID:    Ubuntu</small>
 
<small>Description: Ubuntu 22.04.5 LTS</small>
 
<small>Release: 22.04</small> </blockquote>{{Tooltip|2={{Tooltip|Informazioni sulla distribuzione Linux|Il comando <code>lsb_release -a</code> mostra informazioni sulla distribuzione Linux in uso. L'output indica: 1) Nessun modulo LSB disponibile, che non influisce sulle informazioni. 2) La distribuzione è <code>Ubuntu</code>. 3) La versione installata è <code>22.04.5 LTS</code>, supportata a lungo termine. Questo comando è utile per identificare il sistema operativo in uso.}}}}
 
'''Assicurati che il sistema sia aggiornato''':<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop''':~$ sudo apt update && sudo apt upgrade'''</small>
<small>[sudo] password for parallels:</small>
 
<small>Get:1 <nowiki>http://security.ubuntu.com/ubuntu</nowiki> jammy-security InRelease [129 kB]</small>
 
<small>Hit:2 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy InRelease</small>
 
<small>Get:3 <nowiki>http://security.ubuntu.com/ubuntu</nowiki> jammy-security/main amd64 DEP-11 Metadata [43.1 kB]</small>
 
<small>Get:4 <nowiki>http://security.ubuntu.com/ubuntu</nowiki> jammy-security/restricted amd64 DEP-11 Metadata [208 B]</small>
 
<small>Get:5 <nowiki>http://security.ubuntu.com/ubuntu</nowiki> jammy-security/universe amd64 DEP-11 Metadata [125 kB]</small>
 
<small>Get:6 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-updates InRelease [128 kB]</small>
 
<small>Get:7 <nowiki>http://security.ubuntu.com/ubuntu</nowiki> jammy-security/multiverse amd64 DEP-11 Metadata [208 B]</small>
 
<small>Get:8 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-backports InRelease [127 kB]</small>
 
<small>Get:9 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-updates/main amd64 DEP-11 Metadata [103 kB]</small>
 
<small>Get:10 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-updates/restricted amd64 DEP-11 Metadata [212 B]</small>
 
<small>Get:11 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-updates/universe amd64 DEP-11 Metadata [356 kB]</small>
 
<small>Get:12 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-updates/multiverse amd64 DEP-11 Metadata [940 B]</small>
 
<small>Get:13 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-backports/main amd64 DEP-11 Metadata [7,016 B]</small>
 
<small>Get:14 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-backports/restricted amd64 DEP-11 Metadata [212 B]</small>
 
<small>Get:15 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-backports/universe amd64 DEP-11 Metadata [17.7 kB]</small>
 
<small>Get:16 <nowiki>http://us.archive.ubuntu.com/ubuntu</nowiki> jammy-backports/multiverse amd64 DEP-11 Metadata [212 B]</small>
 
<small>Fetched 1,038 kB in 2s (607 kB/s)</small>
 
<small>Reading package lists... Done</small>
 
<small>Building dependency tree... Done</small>
 
<small>Reading state information... Done</small>
 
<small>All packages are up to date. Reading package lists... Done</small>
 
<small>Building dependency tree... Done</small>
 
<small>Reading state information... Done</small>
 
<small>Calculating upgrade... Done</small>
 
<small>0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.</small> </blockquote>{{Tooltip|2={{Tooltip|Aggiornamento del sistema con apt|Il comando <code>sudo apt update && sudo apt upgrade</code> aggiorna l'indice dei pacchetti e installa eventuali aggiornamenti disponibili. L'output indica: 1) L'indice dei pacchetti è stato aggiornato dai repository (es. <code>http://security.ubuntu.com/ubuntu</code>). 2) Tutti i pacchetti sono già aggiornati. Questo comando è essenziale per mantenere il sistema sicuro e aggiornato.}}}}
 
==2. Installazione di MySQL==
 
Descrizione: Installazione del database MySQL, necessario per archiviare i dati di MediaWiki.
Azioni:


Installazione con il comando:<code>sudo apt install mysql-server</code>.
Installazione con il comando:<code>sudo apt install mysql-server</code>.
Line 65: Line 106:
Risoluzione di problemi legati ai permessi e alla directory <code>/var/run/mysqld</code>.
Risoluzione di problemi legati ai permessi e alla directory <code>/var/run/mysqld</code>.


Controllo Ubuntu:


Controlla se MySQL è installato:
 
'''Controlla se MySQL è installato:'''
 
parallels@ubuntu-linux-22-04-02-desktop:'''~$ mysql --version'''
 
mysql  Ver 8.0.40-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
 
   
   
'''parallels@ubuntu-linux-22-04-02-desktop:'''~$ mysql --version
mysql  Ver 8.0.40-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
Controlla lo stato del servizio MySQL:{{Tooltip|2={{Tooltip|Testo breve che mostra l'analisi del risultato del comando|La risposta che hai riportato mostra lo stato del servizio MySQL su un sistema Ubuntu. Ecco un'analisi dettagliata: Comando eseguito: <code>sudo systemctl status mysql</code>, che controlla lo stato del servizio MySQL. Richiesta di password: <code>[sudo] password for parallels:</code>, normale per comandi amministrativi. Stato del servizio: <code>● mysql.service - MySQL Community Server</code>, attualmente in fase di avvio (<code>activating</code>). Dettagli del processo: PID principale <code>135576 (mysqld)</code>, risorse utilizzate: 256.1 MB memoria, 12 task, CPU 330ms. Log recenti mostrano che il servizio è stato avviato. Conclusione: il server è in fase di avvio e potrebbe richiedere tempo in base alla configurazione. Per approfondire: <code>sudo journalctl -u mysql.service</code> per i log dettagliati o <code>sudo tail -n 50 /var/log/mysql/error.log</code> per controllare eventuali errori.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ sudo systemctl status mysql</small>


<small>[sudo] password for parallels:</small>  
'''Controlla lo stato del servizio MySQL:'''<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop''':~$ sudo systemctl status mysql'''</small>
 
<small>[sudo] password for parallels:*********</small>  


<small>● mysql.service - MySQL Community Server</small>
<small>● mysql.service - MySQL Community Server</small>
Line 84: Line 128:
<small>    Process: 135568 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)</small>
<small>    Process: 135568 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)</small>


<small>   Main PID: 135576 (mysqld)</small>
<small>   '''Main PID: 135576''' (mysqld)</small>


<small>     Status: "Server startup in progress"</small>
<small>     Status: "Server startup in progress"</small>
Line 98: Line 142:
<small>             └─135576 /usr/sbin/mysqld</small>
<small>             └─135576 /usr/sbin/mysqld</small>


<small>Jan 04 16:48:38 ubuntu-linux-22-04-02-desktop systemd[1]: Starting MySQL Community Server...</small></blockquote>
<small>Jan 04 16:48:38 ubuntu-linux-22-04-02-desktop systemd[1]: Starting MySQL Community Server...</small></blockquote>{{Tooltip|2={{Tooltip|Testo breve che mostra l'analisi del risultato del comando|La risposta che hai riportato mostra lo stato del servizio MySQL su un sistema Ubuntu. Ecco un'analisi dettagliata: Comando eseguito: <code>sudo systemctl status mysql</code>, che controlla lo stato del servizio MySQL. Richiesta di password: <code>[sudo] password for parallels:</code>, normale per comandi amministrativi. Stato del servizio: <code>● mysql.service - MySQL Community Server</code>, attualmente in fase di avvio (<code>activating</code>). Dettagli del processo: PID principale <code>135576 (mysqld)</code>, risorse utilizzate: 256.1 MB memoria, 12 task, CPU 330ms. Log recenti mostrano che il servizio è stato avviato. Conclusione: il server è in fase di avvio e potrebbe richiedere tempo in base alla configurazione. Per approfondire: <code>sudo journalctl -u mysql.service</code> per i log dettagliati o <code>sudo tail -n 50 /var/log/mysql/error.log</code> per controllare eventuali errori.}}}}


==== Revisione: ====


* Se MySQL non è installato, usa:{{Tooltip|2={{Tooltip|Comando per installare MySQL Server|Il comando <code>sudo apt install mysql-server</code> è stato eseguito per installare il pacchetto MySQL Server. La risposta del sistema indica che: 1) La password amministrativa è stata richiesta tramite <code>sudo</code>. 2) Sono state lette le liste dei pacchetti e controllato lo stato. 3) Il pacchetto <code>mysql-server</code> è già installato nella versione più recente (<code>8.0.40-0ubuntu0.22.04.1</code>). Nessun aggiornamento o modifica ai pacchetti è stata effettuata.}}}}
'''Se MySQL non è installato, usa:'''<blockquote>
 
<small>parallels@ubuntu-linux-22-04-02-desktop''':~$ sudo apt install mysql-server'''</small>
<blockquote>
<small>parallels@ubuntu-linux-22-04-02-desktop:~$ sudo apt install mysql-server</small>


<small>[sudo] password for parallels:</small>  
<small>[sudo] password for parallels:</small>  
Line 117: Line 158:
<small>mysql-server is already the newest version (8.0.40-0ubuntu0.22.04.1).</small>
<small>mysql-server is already the newest version (8.0.40-0ubuntu0.22.04.1).</small>


<small>0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.</small></blockquote>
<small>0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.</small>
 
</blockquote>{{Tooltip|2={{Tooltip|Comando per installare MySQL Server|Il comando <code>sudo apt install mysql-server</code> è stato eseguito per installare il pacchetto MySQL Server. La risposta del sistema indica che: 1) La password amministrativa è stata richiesta tramite <code>sudo</code>. 2) Sono state lette le liste dei pacchetti e controllato lo stato. 3) Il pacchetto <code>mysql-server</code> è già installato nella versione più recente (<code>8.0.40-0ubuntu0.22.04.1</code>). Nessun aggiornamento o modifica ai pacchetti è stata effettuata.}}}}


===3. Configurazione di MySQL===
==3. Configurazione di MySQL==


*'''Descrizione''': Personalizzazione del server MySQL per la gestione del database.
Descrizione: Personalizzazione del server MySQL per la gestione del database
*'''Azioni''':


<blockquote>Configurazione del file <code>/etc/mysql/my.cnf</code>, con l’aggiunta di parametri come:
<blockquote>Configurazione del file <code>/etc/mysql/my.cnf</code>, con l’aggiunta di parametri come:
Line 132: Line 174:
<code>sudo mysqld_safe --skip-grant-tables --skip-networking</code>
<code>sudo mysqld_safe --skip-grant-tables --skip-networking</code>


Creazione di utenti e modifica delle password, inclusi problemi legati a plugin (<code>auth_socket</code>).</blockquote>
Creazione di utenti e modifica delle password, inclusi problemi legati a plugin (<code>auth_socket</code>).</blockquote>'''Controlla il file di configurazione di MySQL:''' <blockquote><small>parallels@ubuntu-linux-22-04-02-desktop''':~$ cat /etc/mysql/my.cnf'''</small>
 
<small>[mysqld]</small>
 
<small>'''bind-address = 0.0.0.0'''</small>
 
<small># The MySQL database server configuration file.</small>
 
<small># You can copy this to one of:</small>
 
<small># - "/etc/mysql/my.cnf" to set global options,</small>
 
<small># - "~/.my.cnf" to set user-specific options.</small>
 
<small># One can use all long options that the program supports.</small>
 
<small># Run program with --help to get a list of available options and with</small>
 
<small># --print-defaults to see which it would actually understand and use.</small>
 
<small># For explanations see</small>
 
<small># <nowiki>http://dev.mysql.com/doc/mysql/en/server-system-variables.html</nowiki></small>
 
<small># * IMPORTANT: Additional settings that can override those from this file!</small>
 
<small>#   The files must end with '.cnf', otherwise they'll be ignored.</small>
 
<small>!includedir /etc/mysql/conf.d/</small>
 
<small>!includedir /etc/mysql/mysql.conf.d/</small></blockquote>
 
{{Tooltip|2=<nowiki>{{Tooltip|Visualizzazione del file di configurazione di MySQL|Il comando </nowiki><code>cat /etc/mysql/my.cnf</code> mostra il contenuto del file di configurazione principale di MySQL. La sezione <code>[mysqld]</code> include la direttiva <code>bind-address = 0.0.0.0</code>, che consente connessioni da tutte le interfacce. Il file fornisce istruzioni per configurazioni globali (<code>/etc/mysql/my.cnf</code>) o specifiche dell'ut}}
 
Cerca parametri come <code>bind-address</code> e assicurati che sia impostato correttamente.
 
'''Prova a connetterti a MySQL:'''<blockquote>
<small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ mysql -u root -p'''</small>
 
<small>Enter password:</small>
 
<small>ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)</small></blockquote>{{Tooltip|2={{Tooltip|Errore di connessione al server MySQL|Il comando <code>mysql -u root -p</code> viene utilizzato per accedere al server MySQL con l'utente <code>root</code>. Dopo aver richiesto la password, il sistema restituisce l'errore: <code>ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)</code>. Questo errore può indicare che il server MySQL non è in esecuzione, il file socket<code>/var/run/mysqld/mysqld.sock</code> non esiste o ci sono problemi di configurazione. Soluzioni comuni includono controllare lo stato del servizio con <code>sudo systemctl status mysql</code> o verificare i log di errore in <code>/var/log/mysql/error.log</code>.}}}}
 
 
'''Se non riesci a connetterti, verifica:'''<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo mysqld_safe --skip-grant-tables --skip-networking'''</small>
 
<small>[sudo] password for parallels:</small>
 
<small>2025-01-04T16:30:53.534928Z mysqld_safe Logging to '/var/log/mysql/error.log'.</small>
 
<small>2025-01-04T16:30:53.635250Z mysqld_safe A mysqld process already exists</small></blockquote>{{Tooltip|2={{Tooltip|Errore nell'avvio di mysqld_safe|Il comando <code>sudo mysqld_safe --skip-grant-tables --skip-networking</code> è stato utilizzato per avviare MySQL in modalità sicura senza controllo delle credenziali e connessioni di rete. L'output mostra che: 1) La password amministrativa è stata richiesta tramite <code>sudo</code>. 2) L'operazione è stata registrata nel log di MySQL (<code>/var/log/mysql/error.log</code>). 3) L'errore <code>A mysqld process already exists</code> indica che un altro processo MySQL è già in esecuzione. Per risolvere, è possibile verificare i processi attivi con <code>ps aux | grep mysqld</code> e terminare quello in conflitto con <code>sudo kill [PID]</code> prima di riprovare.}}}}Una volta dentro MySQL, esegui:{{Tooltip|2={{Tooltip|Errore nei comandi MySQL da terminale|I comandi <code>USE mysql;</code> e <code>SELECT User, Host, plugin FROM user;</code> sono stati eseguiti direttamente nel terminale invece che all'interno del client MySQL. Questo ha causato gli errori <code>USE: command not found</code> e <code>SELECT: command not found</code>, poiché il terminale Bash non riconosce comandi SQL. Per eseguire correttamente questi comandi, è necessario accedere al client MySQL con <code>mysql -u [username] -p</code> e poi digitare i comandi SQL.}}}} ===
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ USE mysql;</small>
 
<small>SELECT User, Host, plugin FROM user;</small>
 
<small>USE: command not found</small>
 
<small>SELECT: command not found</small></blockquote>
 
==4. Installazione di PHP==
Descrizione: PHP è necessario per l’interfaccia di MediaWiki.<blockquote>Installazione con il comando: <code>sudo apt install php php-mysql</code>.
 
Configurazione di PHP per la compatibilità con MediaWiki.</blockquote>
 
Controlla la versione di PHP:{{Tooltip|2={{Tooltip|Informazioni sulla versione di PHP|Il comando <code>php -v</code> mostra la versione di PHP installata sul sistema. L'output indica che la versione corrente è <code>8.1.2-1ubuntu2.20</code> con supporto CLI (Command Line Interface). Viene utilizzato il motore Zend <code>v4.1.2</code>, con il modulo di caching <code>Zend OPcache</code> attivo. Questo modulo migliora le prestazioni memorizzando bytecode precompilati.}}}}===
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ php -v</small>
 
<small>PHP 8.1.2-1ubuntu2.20 (cli) (built: Dec  3 2024 20:14:35) (NTS)</small>
 
<small>Copyright (c) The PHP Group</small>
 
<small>Zend Engine v4.1.2, Copyright (c) Zend Technologies</small>
 
<small>    with Zend OPcache v8.1.2-1ubuntu2.20, Copyright (c), by Zend Technologies</small></blockquote>
 
Assicurati che PHP abbia il modulo MySQL:{{Tooltip|2={{Tooltip|Verifica del modulo mysqli in PHP|Il comando <code>php -m | grep mysqli</code> verifica se il modulo <code>mysqli</code>, utilizzato per connettersi a database MySQL, è abilitato in PHP. L'output <code>mysqli</code> conferma che il modulo è attivo. Questo modulo è fondamentale per eseguire query su database MySQL utilizzando PHP.}}}}===
 
 
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ php -m | grep mysqli</small>
 
<small>mysqli</small></blockquote>
 
Se PHP non è installato, usa:{{Tooltip|2={{Tooltip|Verifica installazione di PHP e php-mysql|Il comando <code>sudo apt install php php-mysql</code> è stato utilizzato per installare PHP e il modulo <code>php-mysql</code>, che consente a PHP di interagire con database MySQL. L'output indica che entrambi i pacchetti sono già installati nella versione più recente (<code>2:8.1+92ubuntu1</code>) e non sono necessarie ulteriori azioni.}}}} ===
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ sudo apt install php php-mysql</small>
 
<small>[sudo] password for parallels:</small>
 
<small>Reading package lists... Done</small>
 
<small>Building dependency tree... Done</small>
 
<small>Reading state information... Done</small>
 
<small>php is already the newest version (2:8.1+92ubuntu1).</small>
 
<small>php-mysql is already the newest version (2:8.1+92ubuntu1).</small>
 
<small>0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.</small></blockquote>
 
==5. Installazione di Apache==
 
Descrizione: Apache è utilizzato come server web per ospitare MediaWiki.
Azion:
<blockquote>Installazione con il comando: <code>sudo apt install apache2</code>.
 
Configurazione per abilitare moduli necessari come <code>mod_rewrite</code>.</blockquote>
 
Controlla se Apache è attivo:{{Tooltip|2={{Tooltip|Stato del servizio Apache HTTP|Il comando <code>sudo systemctl status apache2</code> verifica lo stato del servizio Apache HTTP. L'output mostra che il servizio è attivo (<code>active (running)</code>) e in esecuzione da 18 ore. Il processo principale ha <code>PID 61322</code> e utilizza 10 task, 11.3 MB di memoria, e 15.329 secondi di CPU. Sono elencati i processi figli e i log di avvio indicano che Apache è stato avviato correttamente. Per ulteriori informazioni, consultare la documentazione ufficiale: <code>https://httpd.apache.org/docs/2.4/</code>.}}}}===
<blockquote><small>arallels@ubuntu-linux-22-04-02-desktop:~$ sudo systemctl status apache2</small>
 
<small>● apache2.service - The Apache HTTP Server</small>
 
<small>     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)</small>
 
<small>     Active: active (running) since Fri 2025-01-03 23:26:36 CET; 18h ago</small>
 
<small>       Docs: <nowiki>https://httpd.apache.org/docs/2.4/</nowiki></small>
 
<small>   Main PID: 61322 (apache2)</small>
 
<small>      Tasks: 10 (limit: 2258)</small>
 
<small>     Memory: 11.3M</small>
 
<small>        CPU: 15.329s</small>
 
<small>     CGroup: /system.slice/apache2.service</small>
 
<small>             ├─61322 /usr/sbin/apache2 -k start</small>
 
<small>             ├─61323 /usr/sbin/apache2 -k start</small>
 
<small>             ├─61324 /usr/sbin/apache2 -k start</small>
 
<small>             ├─61325 /usr/sbin/apache2 -k start</small>
 
<small>             ├─61326 /usr/sbin/apache2 -k start</small>
 
<small>             ├─61327 /usr/sbin/apache2 -k start</small>
 
<small>             ├─61381 /usr/sbin/apache2 -k start</small>
 
<small>             ├─62060 /usr/sbin/apache2 -k start</small>
 
<small>             ├─62064 /usr/sbin/apache2 -k start</small>
 
<small>             └─62065 /usr/sbin/apache2 -k start</small>
 
<small>Jan 03 23:26:36 ubuntu-linux-22-04-02-desktop systemd[1]: Starting The Apache HTTP Server...</small>
 
<small>Jan 03 23:26:36 ubuntu-linux-22-04-02-desktop systemd[1]: Started The Apache HTTP Server.</small></blockquote>
 
 
Verifica i moduli abilitati:
 
Se Apache non è installato, usa:
 
<blockquote><small>sudo apt install apache2</small></blockquote>
 
Abilita i moduli necessari:{{Tooltip|2={{Tooltip|Abilitazione del modulo rewrite in Apache|Il comando <code>sudo a2enmod rewrite</code> abilita il modulo <code>rewrite</code> di Apache, utilizzato per riscrivere URL. L'output conferma che il modulo è stato attivato e specifica che è necessario riavviare Apache con <code>sudo systemctl restart apache2</code> per applicare la nuova configurazione.}}}}
 
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ sudo a2enmod rewrite</small>
 
<small>sudo systemctl restart apache2</small>
 
<small>Enabling module rewrite.</small>
 
<small>To activate the new configuration, you need to run:</small>
 
<small>  systemctl restart apache2</small></blockquote>
 
== 6. Download e configurazione di MediaWiki==
 
Descrizione: Installazione e configurazione di MediaWiki come piattaforma collaborativa.
Azioni:
 
 
<blockquote>* Download di MediaWiki: <code>wget https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.0.tar.gz</code>.
 
Estrazione del pacchetto in <code>/var/www/html</code>.
 
Configurazione iniziale tramite l’interfaccia web:
 
<code>http://localhost/mediawiki</code>.</blockquote>
 
Controlla se MediaWiki è presente nella directory:{{Tooltip|2={{Tooltip|Contenuto della directory /var/www/html|Il comando <code>ls /var/www/html</code> elenca i file e le directory nella directory principale del server Apache. L'output mostra: 1) <code>index.html</code>, il file predefinito di Apache; 2) <code>info.php</code>, probabilmente un file per verificare la configurazione PHP; 3) <code>mediawiki</code>, una directory che sembra contenere un'installazione di MediaWiki.}}}}===
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ ls /var/www/html</small>
 
<small>index.html  info.php  mediawiki</small></blockquote>
 
Accedi all’interfaccia web:{{Tooltip|2={{Tooltip|Errore nell'uso di un URL nel terminale|Il comando <code>http://localhost/mediawiki</code> è stato digitato direttamente nel terminale Bash, ma gli URL devono essere aperti in un browser web. Il terminale ha cercato un file o una directory con quel nome e ha restituito l'errore <code>No such file or directory</code>. Per accedere all'URL, aprilo in un browser web.}}}}===
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ <nowiki>http://localhost/mediawiki</nowiki></small>
 
<small>bash: <nowiki>http://localhost/mediawiki</nowiki>: No such file or directory</small></blockquote>
 
Se MediaWiki non è installato, scaricalo:{{Tooltip|2={{Tooltip|Scaricamento ed estrazione di MediaWiki|I comandi scaricano ed estraggono MediaWiki nella directory del server web. 1) <code>wget https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.0.tar.gz</code> scarica l'archivio di MediaWiki versione 1.39.0. 2) <code>tar -xvzf mediawiki-1.39.0.tar.gz -C /var/www/html/</code> estrae i file nella directory <code>/var/www/html/</code>. Questo rende i file di MediaWiki disponibili per la configurazione tramite il server Apache.}}}}===
<blockquote><small>wget <nowiki>https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.0.tar.gz</nowiki></small>
 
<small>tar -xvzf mediawiki-1.39.0.tar.gz -C /var/www/html/</small></blockquote>
 
==7. Connessione a MediaWiki locale==
Descrizione''': Verifica che il setup MediaWiki sia funzionante e collegato a MySQL.'''
Azioni''':'''
 
<blockquote>* Configurazione del file <code>LocalSettings.php</code> per collegare MediaWiki al database MySQL.
 
 
Test tramite browser:
 
<code>http://localhost/mediawiki</code>.
 
</blockquote>
 
Controlla il file <code>LocalSettings.php</code>:{{Tooltip|2={{Tooltip|Errore: LocalSettings.php non trovato|Il comando <code>cat /var/www/html/mediawiki/LocalSettings.php</code> cerca di visualizzare il file <code>LocalSettings.php</code> di MediaWiki, ma restituisce l'errore <code>No such file or directory</code>. Questo file non viene creato automaticamente durante l'installazione. È necessario completare la configurazione iniziale di MediaWiki tramite il browser per generare il file. Una volta completata, il file sarà disponibile nella directory specificata.}}}} ===
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ cat /var/www/html/mediawiki/LocalSettings.php</small>
 
<small>cat: /var/www/html/mediawiki/LocalSettings.php: No such file or directory</small></blockquote>
 
 
Testa la connessione al database dal terminale:{{Tooltip|2={{Tooltip|Errore di connessione a MySQL|Il comando <code>mysql -u mediawiki_user -p</code> tenta di accedere al server MySQL con l'utente <code>mediawiki_user</code>, ma restituisce l'errore <code>Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'</code>. Questo errore può essere causato da: 1) Il server MySQL non è in esecuzione. Verifica con <code>sudo systemctl status mysql</code>. 2) Il file socket <code>/var/run/mysqld/mysqld.sock</code> non esiste. Controlla i log in <code>/var/log/mysql/error.log</code>. 3) Problemi di configurazione. Assicurati che MySQL sia configurato correttamente.}}}}===
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ mysql -u mediawiki_user -p</small>
 
<small>Enter password:</small>
 
<small>ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)</small></blockquote>
 
Se il file di configurazione non è presente, esegui la configurazione web da:{{Tooltip|2={{Tooltip|Errore nell'uso di un URL nel terminale|Il comando <code>http://localhost/mediawiki</code> è stato digitato nel terminale Bash, ma gli URL devono essere aperti in un browser web. L'errore <code>No such file or directory</code> indica che Bash ha cercato un file o una directory con quel nome. Per accedere al sito, inserisci l'URL <code>http://localhost/mediawiki</code> nella barra degli indirizzi di un browser.}}}}===
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ <nowiki>http://localhost/mediawiki</nowiki></small>
 
<small>bash: <nowiki>http://localhost/mediawiki</nowiki>: No such file or directory</small></blockquote>
 
==8. Connessione a Masticationpedia==
 
Descrizione''': Connessione al server di Masticationpedia partendo dall’installazione locale.'''
Azioni''':'''<blockquote>* Configurazione delle chiavi API di Masticationpedia (se applicabile).
 
Verifica della sincronizzazione tra MediaWiki locale e Masticationpedia per esportare contenuti e configurazioni.</blockquote>Verifica eventuali log per errori di sincronizzazione:{{Tooltip|2={{Tooltip|Monitoraggio dei log di errore di Apache|Il comando <code>tail -f /var/log/apache2/error.log</code> consente di monitorare in tempo reale i log di errore di Apache. L'output mostra: 1) Spegnimenti e riavvii di Apache con segnali <code>SIGWINCH</code>. 2) Messaggi di configurazione relativi al comando <code>/usr/sbin/apache2</code>. 3) Errori che indicano che il file <code>/var/www/html/mediawiki/info.php</code> non è stato trovato, con dettagli sugli indirizzi client (<code>10.211.55.2</code>) e le porte utilizzate. Questo comando è utile per diagnosticare problemi e monitorare l'attività del server.}}}}
 
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ tail -f /var/log/apache2/error.log</small>
 
<small>[Fri Jan 03 23:26:35.868057 2025] [mpm_prefork:notice] [pid 59969] AH00170: caught SIGWINCH, shutting down gracefully</small>
 
<small>[Fri Jan 03 23:26:36.294041 2025] [mpm_prefork:notice] [pid 61322] AH00163: Apache/2.4.52 (Ubuntu) configured -- resuming normal operations</small>
 
<small>[Fri Jan 03 23:26:36.294086 2025] [core:notice] [pid 61322] AH00094: Command line: '/usr/sbin/apache2'</small>
 
<small>[Fri Jan 03 23:26:56.081066 2025] [php:error] [pid 61323] [client 10.211.55.2:50598] script '/var/www/html/mediawiki/info.php' not found or unable to stat</small>
 
<small>[Fri Jan 03 23:27:15.385075 2025] [php:error] [pid 61324] [client 10.211.55.2:50599] script '/var/www/html/mediawiki/info.php' not found or unable to stat</small>
 
<small>[Fri Jan 03 23:29:02.283104 2025] [php:error] [pid 61326] [client 10.211.55.2:50603] script '/var/www/html/mediawiki/info.php' not found or unable to stat</small>
 
<small>[Fri Jan 03 23:29:03.227025 2025] [php:error] [pid 61326] [client 10.211.55.2:50603] script '/var/www/html/mediawiki/info.php' not found or unable to stat</small>
 
<small>[Sat Jan 04 18:02:48.256484 2025] [mpm_prefork:notice] [pid 61322] AH00170: caught SIGWINCH, shutting down gracefully</small>
 
<small>[Sat Jan 04 18:02:49.535547 2025] [mpm_prefork:notice] [pid 149151] AH00163: Apache/2.4.52 (Ubuntu) configured -- resuming normal operations</small>
 
<small>[Sat Jan 04 18:02:49.535593 2025] [core:notice] [pid 149151] AH00094: Command line: '/usr/sbin/apache2'</small></blockquote>==  =Revisione e modifiche=    1. V'''erifica la connessione di rete:'''{{Tooltip|2={{Tooltip|Verifica connessione con ping|Il comando <code>ping -c 4 google.com</code> verifica la connessione al server <code>google.com</code> inviando 4 pacchetti ICMP. L'output mostra: 1) Indirizzo IP risolto (<code>142.251.209.14</code>). 2) Risposte ricevute con dettagli come <code>ttl</code> (time to live) e <code>time</code> (tempo di andata e ritorno). 3) Statistiche finali, con 0% di perdita di pacchetti e tempi di andata e ritorno (minimo: 17.444 ms, medio: 19.270 ms, massimo: 20.462 ms). Questo comando è utile per diagnosticare problemi di rete.}}}} ==
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ ping -c 4 google.com'''</small>
 
<small>PING google.com (142.251.209.14) 56(84) bytes of data.</small>
 
<small>64 bytes from mil04s50-in-f14.1e100.net (142.251.209.14): icmp_seq=1 ttl=128 time=20.5 ms</small>
 
<small>64 bytes from mil04s50-in-f14.1e100.net (142.251.209.14): icmp_seq=2 ttl=128 time=17.4 ms</small>
 
<small>64 bytes from mil04s50-in-f14.1e100.net (142.251.209.14): icmp_seq=3 ttl=128 time=20.4 ms</small>
 
<small>64 bytes from mil04s50-in-f14.1e100.net (142.251.209.14): icmp_seq=4 ttl=128 time=18.8 ms</small>
 
<small>--- google.com ping statistics ---</small>
 
<small>4 packets transmitted, 4 received, 0% packet loss, time 3004ms</small>
 
<small>rtt min/avg/max/mdev = 17.444/19.270/20.462/1.254 ms</small></blockquote>
 
'''Controlla i log di <code>apt</code>''':{{Tooltip|2={{Tooltip|Log di manutenzione del sistema|Il log mostra operazioni di manutenzione del sistema con la rimozione di pacchetti kernel. 1) <code>linux-modules-extra-5.19.0-50-generic</code> e <code>linux-modules-5.19.0-50-generic</code> vengono rimossi. 2) Il database dei pacchetti viene letto (progresso dal 5% al 100%). 3) Le operazioni sono completate con i log che iniziano e terminano rispettivamente il <code>2025-01-04 09:43:38</code> e il <code>2025-01-04 09:43:55</code>. Questi log documentano l'aggiornamento o la pulizia del sistema.}}}}<blockquote>parallels@ubuntu-linux-22-04-02-desktop:'''~$ cat /var/log/apt/term.log | less'''
 
<small>Log started: 2025-01-04  09:43:38</small>
 
<small>(Reading database ... ^M(Reading database ... 5%^M(Reading database ... 10%^M(Reading database ... 15%^M(Reading database ... 20%^M(Reading database ... 25%^M(Reading database ... 30%^M(Reading database ... 35%^M(Reading database ... 40%^M(Reading database ... 45%^M(Reading database ... 50%^M(Reading database ... 55%^M(Reading database ... 60%^M(Reading database ... 65%^M(Reading database ... 70%^M(Reading database ... 75%^M(Reading database ... 80%^M(Reading database ... 85%^M(Reading database ... 90%^M(Reading database ... 95%^M(Reading database ... 100%^M(Reading database ... 247516 files and directories currently installed.)</small>
 
<small>Removing linux-modules-extra-5.19.0-50-generic (5.19.0-50.50) ...</small>
 
<small>Log ended: 2025-01-04  09:43:44</small>
 
<small>Log started: 2025-01-04  09:43:54</small>
 
<small>(Reading database ... ^M(Reading database ... 5%^M(Reading database ... 10%^M(Reading database ... 15%^M(Reading database ... 20%^M(Reading database ... 25%^M(Reading database ... 30%^M(Reading database ... 35%^M(Reading database ... 40%^M(Reading database ... 45%^M(Reading database ... 50%^M(Reading database ... 55%^M(Reading database ... 60%^M(Reading database ... 65%^M(Reading database ... 70%^M(Reading database ... 75%^M(Reading database ... 80%^M(Reading database ... 85%^M(Reading database ... 90%^M(Reading database ... 95%^M(Reading database ... 100%^M(Reading database ... 241413 files and directories currently installed.)</small>
 
<small>Removing linux-modules-5.19.0-50-generic (5.19.0-50.50) ...</small>
 
<small>Log ended: 2025-01-04  09:43:55</small></blockquote>'''Aggiorna la lista dei pacchetti con un mirror alternativo:'''{{Tooltip|2={{Tooltip|File di configurazione dei repository APT|Il file <code>/etc/apt/sources.list</code> definisce i repository da cui il sistema scarica pacchetti e aggiornamenti. Contiene: 1) Repository principali (<code>main</code> e <code>restricted</code>), per software supportato ufficialmente. 2) Repository <code>universe</code> e <code>multiverse</code> per software comunitario o non libero. 3) Repository <code>backports</code> per pacchetti aggiornati non inclusi nel rilascio originale. 4) Repository <code>security</code> per aggiornamenti critici. Questo file è fondamentale per gestire i pacchetti software su Ubuntu.}}}}<blockquote>parallels@ubuntu-linux-22-04-02-desktop''':~$ tail /var/log/apt/term.log'''
 
Log started: 2025-01-04  09:43:38
 
(Reading database ... 247516 files and directories currently installed.)
 
Removing linux-modules-extra-5.19.0-50-generic (5.19.0-50.50) ...
 
Log ended: 2025-01-04  09:43:44
 
Log started: 2025-01-04  09:43:54
 
(Reading database ... 241413 files and directories currently installed.)
 
Removing linux-modules-5.19.0-50-generic (5.19.0-50.50) ...
 
Log ended: 2025-01-04  09:43:55</blockquote>
 
== 2. Problemi con MySQL ==
'''Errore comune:''' <code>Can't connect to local MySQL server through socket</code>.
 
'''Controlla lo stato del servizio MySQL:'''{{Tooltip|2={{Tooltip|Stato del servizio MySQL|Il comando <code>sudo systemctl status mysql</code> verifica lo stato del servizio MySQL. L'output indica: 1) Il servizio è caricato e abilitato per l'avvio automatico. 2) Attualmente è in fase di avvio (<code>activating</code>), con lo stato <code>"Server startup in progress"</code>. 3) Il processo principale <code>mysqld</code> ha il PID <code>172943</code>. 4) Il server utilizza 12 task, 255.1 MB di memoria, e 477 ms di CPU. Questo comando è utile per monitorare l'avvio o eventuali problemi del server MySQL.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo systemctl status mysql'''</small>
 
<small>● mysql.service - MySQL Community Server</small>
 
<small>     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)</small>
 
<small>     Active: activating (start) since Sun 2025-01-05 10:42:35 CET; 1min 11s ago</small>
 
<small>    Process: 172935 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)</small>
 
<small>   Main PID: 172943 (mysqld)</small>
 
<small>     Status: "Server startup in progress"</small>
 
<small>      Tasks: 12 (limit: 2258)</small>
 
<small>     Memory: 255.1M</small>
 
<small>        CPU: 477ms</small>
 
<small>     CGroup: /system.slice/mysql.service</small>
 
<small>             └─172943 /usr/sbin/mysqld</small></blockquote>'''Verifica il log degli errori di MySQL''':{{Tooltip|2={{Tooltip|Errore di blocco del file InnoDB|Il comando <code>sudo tail -n 50 /var/log/mysql/error.log</code> mostra che MySQL non riesce a bloccare il file <code>ibdata1</code>, con l'errore <code>[MY-012574] Unable to lock ./ibdata1 error: 11</code>. Questo errore può essere causato da: 1) Un altro processo che sta accedendo al file. 2) Un arresto non corretto del server MySQL. Per risolvere, verifica i processi attivi con <code>ps aux | grep mysqld</code> e termina eventuali processi in conflitto con <code>sudo kill [PID]</code>.}}}}
 
<small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo tail -n 50 /var/log/mysql/error.log'''</small>
 
<small>2025-01-05T09:45:58.228564Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.40-0ubuntu0.22.04.1) starting as process 173527</small>
 
<small>2025-01-05T09:45:58.238366Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.</small>
 
<small>2025-01-05T09:45:58.261113Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11</small>
 
<small>2025-01-05T09:45:59.262471Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11</small>
 
<small>2025-01-05T09:46:00.275078Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11</small>
 
<small>2025-01-05T09:46:01.302288Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11</small>
 
<small>2025-01-05T09:46:02.303078Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11</small>
 
<small>.................</small>
 
'''Controlla i processi in esecuzione:'''{{Tooltip|2={{Tooltip|Processi relativi a MySQL|Il comando <code>ps aux | grep mysqld</code> elenca i processi relativi a MySQL in esecuzione. L'output mostra: 1) Processi <code>mysqld_safe</code>, che avviano MySQL in modalità sicura. 2) Processi principali <code>mysqld</code>, potenzialmente in conflitto se ce ne sono più di uno. 3) Il comando <code>grep</code>, che filtra i risultati. Per risolvere i conflitti, verifica e termina i processi non necessari con <code>sudo kill [PID]</code>.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ ps aux | grep mysqld'''</small>
 
<small>root      114399  0.0  0.2  14352  5120 pts/0    S    05:25   0:00 sudo mysqld_safe --skip-grant-tables --skip-networking</small>
 
<small>root      114400  0.0  0.0  14352  1464 pts/1    Ss+  05:25   0:00 sudo mysqld_safe --skip-grant-tables --skip-networking</small>
 
<small>root      114401  0.0  0.0   2892  1664 pts/1    S    05:25   0:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables --skip-networking</small>
 
<small>mysql     114585  0.8  1.1 1782884 22568 pts/1   Sl   05:25   2:42 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=/var/log/mysql/error.log --pid-file=ubuntu-linux-22-04-02-desktop.pid</small>
 
<small>root      118991  0.0  0.2  13908  4992 pts/0    T    05:49   0:00 sudo mysqld_safe --skip-grant-tables --skip-networking</small>
 
<small>mysql     174116  0.9 14.3 734504 288512 ?       Ssl  10:49   0:00 /usr/sbin/mysqld</small>
 
<small>paralle+  174237  0.0  0.1   9212  2432 pts/0    S+   10:49   0:00 grep --color=auto mysqld</small></blockquote>
 
'''Nota di risoluzione importante:'''
 
{{Tooltip|2={{Tooltip|Gestione dei processi MySQL in modalità sicura|L'analisi dei processi MySQL mostra:1) **Processi root**: <code>sudo mysqld_safe --skip-grant-tables --skip-networking</code>, avviati con privilegi root, bypassano il controllo delle credenziali e disabilitano le connessioni di rete, utili per risolvere problemi ma inadatti per operazioni standard.
2) **Processo MySQL**:<code>/usr/sbin/mysqld</code> in modalità sicura con opzioni <code>--skip-grant-tables</code> e <code>--skip-networking</code> disabilita l'autenticazione e le connessioni standard richieste da MediaWiki.**Azioni consigliate**:
1) **Identifica i processi attivi**: Usa <code>ps aux | grep mysql</code>.2) **Termina processi non necessari**: Usa <code>sudo kill -9 [PID]</code> per terminare duplicati e processi in modalità sicura.
3) **Riavvia MySQL in modalità normale**: <code>sudo systemctl restart mysql</code>.4) **Verifica lo stato di MySQL**: <code>sudo systemctl status mysql</code> dovrebbe indicare <code>Active: active (running)</code>.5) **Testa la connessione MySQL**: Usa <code>mysql -u root -p</code> e inserisci la password di root configurata.6) **Controlla la connessione con MediaWiki**: Verifica il file<code>LocalSettings.php</code> per parametri di connessione al database corretti (host, database, username, password).}}}}
 
'''Termina i processi di root duplicati:'''<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop''':~$ sudo kill -9 114399'''</small>
 
'''<small>sudo kill -9 114400</small>'''
 
'''<small>sudo kill -9 114401</small>'''
 
<small>[sudo] password for parallels: *******</small>
 
<small>[1]-  Killed                  sudo mysqld_safe --skip-grant-tables --skip-networking</small></blockquote>'''Termina il processo MySQL in modalità sicura:'''
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


==== Verifica: ====


# Controlla il file di configurazione di MySQL: {{Tooltip|2=<nowiki>{{Tooltip|Visualizzazione del file di configurazione di MySQL|Il comando </nowiki><code>cat /etc/mysql/my.cnf</code> mostra il contenuto del file di configurazione principale di MySQL. La sezione <code>[mysqld]</code> include la direttiva <code>bind-address = 0.0.0.0</code>, che consente connessioni da tutte le interfacce. Il file fornisce istruzioni per configurazioni globali (<code>/etc/mysql/my.cnf</code>) o specifiche dell'ut}}


<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ cat /etc/mysql/my.cnf</small>
 
 
 
parallels@ubuntu-linux-22-04-02-desktop:~$ sudo kill -9 114585
 
'''Conclusioni di pulitora:'''
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ ps aux | grep mysql'''</small>
<small>root      118991  0.0  0.2  13908  4992 pts/0    T    05:49   0:00 sudo mysqld_safe --skip-grant-tables --skip-networking</small>
<small>mysql     178025  2.2 19.6 1783964 393068 ?      Ssl  11:11   0:03 /usr/sbin/mysqld</small>
<small>paralle+  178472  0.0  0.1   9212  2432 pts/0    S+   11:13   0:00 grep --color=auto mysql</small></blockquote>
 
===='''Riavvia MySQL in modalità normale'''====
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Dopo aver terminato i processi problematici, riavvia il servizio MySQL in modalità standard:<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo systemctl restart mysql'''</small></blockquote>
 
==3. Problemi con la configurazione del file MySQL==
'''Errore comune:''' Parametro <code>bind-address</code> mal configurato.
 
 
 
 
 
 
'''Verifica il contenuto del file di configurazione:''' {{Tooltip|2={{Tooltip|Configurazione di MySQL|Il file <code>/etc/mysql/my.cnf</code> imposta l'indirizzo <code>bind-address = 0.0.0.0</code> per consentire connessioni da qualsiasi IP e include configurazioni aggiuntive da <code>/etc/mysql/conf.d/</code> e <code>/etc/mysql/mysql.conf.d/</code>. Consultare la documentazione ufficiale per dettagli: <code>http://dev.mysql.com/doc/mysql/en/server-system-variables.html</code>.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ cat /etc/mysql/my.cnf'''</small>


<small>[mysqld]</small>
<small>[mysqld]</small>


<small>bind-address = 0.0.0.0</small>
<small>'''bind-address = 0.0.0.0'''</small>


<small>#</small>
<small>#</small>
Line 174: Line 669:
<small># * IMPORTANT: Additional settings that can override those from this file!</small>
<small># * IMPORTANT: Additional settings that can override those from this file!</small>


<small>#   The files must end with '.cnf', otherwise they'll be ignored.</small>
<small>#   The files must end with '.cnf', otherwise they'll be ignored.</small>


<small>#</small>
<small>#</small>
Line 180: Line 675:
<small>!includedir /etc/mysql/conf.d/</small>
<small>!includedir /etc/mysql/conf.d/</small>


<small>!includedir /etc/mysql/mysql.conf.d/</small></blockquote>
<small>!includedir /etc/mysql/mysql.conf.d/</small></blockquote>'''Controlla eventuali file inclusi:'''{{Tooltip|2={{Tooltip|File di configurazione aggiuntivi di MySQL|La directory <code>/etc/mysql/conf.d/</code> contiene configurazioni aggiuntive per MySQL, tra cui: 1) <code>mysql.cnf</code>, un file per configurazioni generali. 2) <code>mysqldump.cnf</code>, per configurare il comportamento del comando <code>mysqldump</code>.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ ls /etc/mysql/conf.d/'''</small>
 
<small>mysql.cnf  mysqldump.cnf</small></blockquote>
 
==4. Problemi con PHP==
'''Errore comune:''' Moduli mancanti o versioni non compatibili.
 
 
 
 
 
 
'''Controlla la versione di PHP installata:'''{{Tooltip|2={{Tooltip|Informazioni sulla versione di PHP|Il comando <code>php -v</code> mostra che PHP versione <code>8.1.2-1ubuntu2.20</code> con supporto CLI è installato. Utilizza <code>Zend Engine v4.1.2</code> e ha il modulo <code>Zend OPcache</code> abilitato per ottimizzare le prestazioni.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ php -v'''</small>
 
<small>PHP 8.1.2-1ubuntu2.20 (cli) (built: Dec  3 2024 20:14:35) (NTS)</small>
 
<small>Copyright (c) The PHP Group</small>
 
<small>Zend Engine v4.1.2, Copyright (c) Zend Technologies</small>
 
<small>    with Zend OPcache v8.1.2-1ubuntu2.20, Copyright (c), by Zend Technologies</small></blockquote>'''Verifica i moduli PHP disponibili:'''{{Tooltip|2={{Tooltip|Elenco dei moduli PHP attivi|Il comando <code>php -m</code> elenca i moduli PHP attivi, tra cui: 1) Moduli di base come <code>Core</code>, <code>mbstring</code>, e <code>json</code>. 2) Moduli per database come <code>mysqli</code> e <code>PDO</code>. 3) Moduli di rete e sicurezza come <code>openssl</code> e <code>sockets</code>. Inoltre, il modulo Zend <code>Zend OPcache</code> è attivo per migliorare le prestazioni.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ php -m</small>
 
<small>[PHP Modules]</small>
 
<small>calendar</small>
 
<small>Core</small>
 
<small>ctype</small>
 
<small>date</small>
 
<small>dom</small>
 
<small>exif</small>
 
<small>FFI</small>
 
<small>fileinfo</small>
 
<small>filter</small>
 
<small>ftp</small>
 
<small>gettext</small>
 
<small>hash</small>
 
<small>iconv</small>
 
<small>intl</small>
 
<small>json</small>
 
<small>libxml</small>
 
<small>mbstring</small>
 
<small>mysqli</small>
 
<small>mysqlnd</small>
 
<small>openssl</small>
 
<small>pcntl</small>
 
<small>pcre</small>
 
<small>PDO</small>
 
<small>pdo_mysql</small>
 
<small>Phar</small>
 
<small>posix</small>
 
<small>readline</small>
 
<small>Reflection</small>
 
<small>session</small>
 
<small>shmop</small>
 
<small>SimpleXML</small>
 
<small>sockets</small>
 
<small>sodium</small>
 
<small>SPL</small>
 
<small>standard</small>
 
<small>sysvmsg</small>
 
<small>sysvsem</small>
 
<small>sysvshm</small>
 
<small>tokenizer</small>
 
<small>xml</small>
 
<small>xmlreader</small>


Cerca parametri come <code>bind-address</code> e assicurati che sia impostato correttamente.
<small>xmlwriter</small>


'''Prova a connetterti a MySQL:'''{{Tooltip|2={{Tooltip|Errore di connessione al server MySQL|Il comando <code>mysql -u root -p</code> viene utilizzato per accedere al server MySQL con l'utente <code>root</code>. Dopo aver richiesto la password, il sistema restituisce l'errore: <code>ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)</code>. Questo errore può indicare che il server MySQL non è in esecuzione, il file socket<code>/var/run/mysqld/mysqld.sock</code> non esiste o ci sono problemi di configurazione. Soluzioni comuni includono controllare lo stato del servizio con <code>sudo systemctl status mysql</code> o verificare i log di errore in <code>/var/log/mysql/error.log</code>.}}}}<blockquote>
<small>xsl</small>
<small>parallels@ubuntu-linux-22-04-02-desktop:~$ mysql -u root -p</small>


<small>Enter password:</small>  
<small>Zend OPcache</small>


<small>ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)</small></blockquote>
<small>zlib</small>


==== Revisione: ====
<small>[Zend Modules]</small>


* Se non riesci a connetterti, verifica:{{Tooltip|2={{Tooltip|Errore nell'avvio di mysqld_safe|Il comando <code>sudo mysqld_safe --skip-grant-tables --skip-networking</code> è stato utilizzato per avviare MySQL in modalità sicura senza controllo delle credenziali e connessioni di rete. L'output mostra che: 1) La password amministrativa è stata richiesta tramite <code>sudo</code>. 2) L'operazione è stata registrata nel log di MySQL (<code>/var/log/mysql/error.log</code>). 3) L'errore <code>A mysqld process already exists</code> indica che un altro processo MySQL è già in esecuzione. Per risolvere, è possibile verificare i processi attivi con <code>ps aux | grep mysqld</code> e terminare quello in conflitto con <code>sudo kill [PID]</code> prima di riprovare.}}}}
<small>Zend OPcache</small></blockquote>'''Verifica se <code>mysqli</code> è abilitato:'''{{Tooltip|2={{Tooltip|Verifica del modulo mysqli|Il comando <code>php -m | grep mysqli</code> conferma che il modulo <code>mysqli</code> è attivo, permettendo a PHP di interagire con database MySQL utilizzando l'estensione MySQL Improved.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ php -m | grep mysqli'''</small>


<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ sudo mysqld_safe --skip-grant-tables --skip-networking</small>
<small>mysqli</small></blockquote>'''Installa i moduli mancanti:'''{{Tooltip|2={{Tooltip|Verifica del modulo php-mysql|Il comando <code>sudo apt install php-mysql</code> conferma che il modulo <code>php-mysql</code> è già installato nella versione più recente (<code>2:8.1+92ubuntu1</code>), permettendo a PHP di connettersi a database MySQL. Nessuna modifica è stata effettuata sul sistema.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo apt install php-mysql'''</small>


<small>[sudo] password for parallels:</small>  
<small>[sudo] password for parallels:</small>  


<small>2025-01-04T16:30:53.534928Z mysqld_safe Logging to '/var/log/mysql/error.log'.</small>
<small>Reading package lists... Done</small>
 
<small>Building dependency tree... Done</small>
 
<small>Reading state information... Done</small>
 
<small>php-mysql is already the newest version (2:8.1+92ubuntu1).</small>
 
<small>0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.</small></blockquote>
 
==5. Problemi con Apache==
 
'''Errore comune:''' Apache non attivo o moduli disabilitati.
 
 
 
 
 
 
'''Controlla lo stato del servizio Apache:'''{{Tooltip|2={{Tooltip|Stato del servizio Apache|Il comando <code>sudo systemctl status apache2</code> conferma che Apache è attivo (<code>active (running)</code>) da 17 ore. Il processo principale ha il PID <code>149151</code>, utilizza 6 task e 13 MB di memoria. È stato avviato correttamente il 4 gennaio e ricaricato il 5 gennaio.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo systemctl status apache2'''</small>
 
<small>● apache2.service - The Apache HTTP Server</small>
 
<small>     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)</small>
 
<small>     Active: active (running) since Sat 2025-01-04 18:02:49 CET; 17h ago</small>
 
<small>       Docs: <nowiki>https://httpd.apache.org/docs/2.4/</nowiki></small>
 
<small>    Process: 149146 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)</small>
 
<small>    Process: 164284 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)</small>
 
<small>   '''Main PID: 149151 (apache2)'''</small>
 
<small>      Tasks: 6 (limit: 2258)</small>
 
<small>     Memory: 13.0M</small>
 
<small>        CPU: 1.109s</small>
 
<small>     CGroup: /system.slice/apache2.service</small>
 
<small>             ├─149151 /usr/sbin/apache2 -k start</small>
 
<small>             ├─164306 /usr/sbin/apache2 -k start</small>
 
<small>             ├─164307 /usr/sbin/apache2 -k start</small>
 
<small>             ├─164308 /usr/sbin/apache2 -k start</small>
 
<small>             ├─164309 /usr/sbin/apache2 -k start</small>
 
<small>             └─164310 /usr/sbin/apache2 -k start</small>
 
<small>Jan 04 18:02:49 ubuntu-linux-22-04-02-desktop systemd[1]: Starting The Apache HTTP Server...</small>
 
<small>Jan 04 18:02:49 ubuntu-linux-22-04-02-desktop systemd[1]: Started The Apache HTTP Server.</small>
 
<small>Jan 05 09:58:35 ubuntu-linux-22-04-02-desktop systemd[1]: Reloading The Apache HTTP Server...</small>
 
<small>Jan 05 09:58:35 ubuntu-linux-22-04-02-desktop systemd[1]: Reloaded The Apache HTTP Server.</small></blockquote>'''Verifica i log degli errori di Apache:'''{{Tooltip|2={{Tooltip|Log di Apache|Il comando <code>sudo tail -n 50 /var/log/apache2/error.log</code> mostra che Apache (versione <code>2.4.52</code>) è configurato correttamente e ha ripreso le operazioni normali. Il processo principale (<code>PID 149151</code>) è stato avviato con il comando <code>/usr/sbin/apache2</code>.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo tail -n 50 /var/log/apache2/error.log'''</small>
 
<small>[Sun Jan 05 09:58:35.733627 2025] [mpm_prefork:notice] '''[pid 149151]''' AH00163: Apache/2.4.52 (Ubuntu) configured -- resuming normal operations</small>
 
<small>[Sun Jan 05 09:58:35.733655 2025] [core:notice] [pid 149151] AH00094: Command line: '/usr/sbin/apache2'</small></blockquote>'''Riavvia Apache:'''<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo systemctl restart apache2'''</small></blockquote>'''Abilita i moduli richiesti:'''<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo a2enmod rewrite'''</small>
 
<small>Module rewrite already enabled</small></blockquote>
 
=='''6. Problemi con MediaWiki'''==
'''Errore comune:''' Mancanza del file <code>LocalSettings.php</code>.
 
 
 
 
 
 
'''Controlla la directory di MediaWiki:'''{{Tooltip|2={{Tooltip|Contenuto della directory di MediaWiki|La directory <code>/var/www/html/mediawiki/</code> contiene file e directory essenziali per MediaWiki: 1) File principali come <code>index.php</code>, <code>api.php</code>, e <code>rest.php</code>. 2) Directory per estensioni, immagini, e risorse (<code>extensions</code>, <code>images</code>, <code>skins</code>). 3) File di documentazione come <code>README.md</code> e <code>INSTALL</code>. Il file <code>LocalSettings.php</code>, necessario per la configurazione, sembra mancare.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ ls /var/www/html/mediawiki/'''</small>
 
<small>api.php             composer.json               docker-compose.yml  HISTORY       index.php    load.php             README.md           SECURITY           thumb.php</small>
 
<small>autoload.php        composer.local.json-sample  docs                images        INSTALL      maintenance          RELEASE-NOTES-1.39  skins              UPGRADE</small>
 
<small>cache               COPYING                     extensions          img_auth.php  jsduck.json  mw-config            resources           tests              vendor</small>
 
<small>CODE_OF_CONDUCT.md  CREDITS                     FAQ                 includes      languages    opensearch_desc.php  rest.php            thumb_handler.php</small></blockquote>
 
Risulta mancante nella lista il LocalSettings.php che deve essere configurato in MediaWiki
 
a
 
'''Accedi alla configurazione iniziale tramite il browser:'''
 
http://localhost/mediawiki
 
==7. Problemi di sincronizzazione con Masticationpedia==
'''Errore comune:''' Errori API o configurazioni mancanti
 
 
 
 
 
 
'''Verifica i log di Apache per errori correlati:'''{{Tooltip|2={{Tooltip|Log in tempo reale di Apache|Il comando <code>sudo tail -f /var/log/apache2/error.log</code> mostra eventi importanti: 1) Apache (<code>2.4.52</code>) è configurato e operativo (<code>PID 149151</code>). 2) Apache è stato arrestato con il segnale <code>SIGWINCH</code> e riavviato correttamente con un nuovo PID (<code>184298</code>). Questi eventi indicano una gestione ordinata del servizio.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo tail -f /var/log/apache2/error.log'''</small>
 
<small>[Sun Jan 05 09:58:35.733627 2025] [mpm_prefork:notice] '''[pid 149151]''' AH00163: Apache/2.4.52 (Ubuntu) configured -- resuming normal operations</small>
 
<small>[Sun Jan 05 09:58:35.733655 2025] [core:notice] '''[pid 149151]''' AH00094: Command line: '/usr/sbin/apache2'</small>


<small>2025-01-04T16:30:53.635250Z mysqld_safe A mysqld process already exists</small></blockquote>Una volta dentro MySQL, esegui:{{Tooltip|2={{Tooltip|Errore nei comandi MySQL da terminale|I comandi <code>USE mysql;</code> e <code>SELECT User, Host, plugin FROM user;</code> sono stati eseguiti direttamente nel terminale invece che all'interno del client MySQL. Questo ha causato gli errori <code>USE: command not found</code> e <code>SELECT: command not found</code>, poiché il terminale Bash non riconosce comandi SQL. Per eseguire correttamente questi comandi, è necessario accedere al client MySQL con <code>mysql -u [username] -p</code> e poi digitare i comandi SQL.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ USE mysql;</small>
<small>[Sun Jan 05 11:48:55.676063 2025] [mpm_prefork:notice] '''[pid 149151]''' AH00170: caught SIGWINCH, shutting down gracefully</small>


<small>SELECT User, Host, plugin FROM user;</small>
<small>[Sun Jan 05 11:48:56.032307 2025] [mpm_prefork:notice] '''[pid 184298]''' AH00163: Apache/2.4.52 (Ubuntu) configured -- resuming normal operations</small>


<small>USE: command not found</small>
<small>[Sun Jan 05 11:48:56.032352 2025] [core:notice] '''[pid 184298]''' AH00094: Command line: '/usr/sbin/apache2'</small></blockquote>


<small>SELECT: command not found</small></blockquote>
=Installazione e configurazione MadiaWiki=


===4. Installazione di PHP===
==Scarica la versione 1.43:==


*'''Descrizione''': PHP è necessario per l’interfaccia di MediaWiki.
*'''Azioni''':


<blockquote>Installazione con il comando: <code>sudo apt install php php-mysql</code>.


Configurazione di PHP per la compatibilità con MediaWiki.</blockquote>


Usa il comando <code>wget</code> per scaricare la versione indicata:


Controlla la versione di PHP:{{Tooltip|2={{Tooltip|Informazioni sulla versione di PHP|Il comando <code>php -v</code> mostra la versione di PHP installata sul sistema. L'output indica che la versione corrente è <code>8.1.2-1ubuntu2.20</code> con supporto CLI (Command Line Interface). Viene utilizzato il motore Zend <code>v4.1.2</code>, con il modulo di caching <code>Zend OPcache</code> attivo. Questo modulo migliora le prestazioni memorizzando bytecode precompilati.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ php -v</small>
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ wget <nowiki>https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.0.tar.gz</nowiki>'''</small>


<small>PHP 8.1.2-1ubuntu2.20 (cli) (built: Dec  3 2024 20:14:35) (NTS)</small>
<small>--2025-01-05 15:51:19--  <nowiki>https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.0.tar.gz</nowiki></small>


<small>Copyright (c) The PHP Group</small>
<small>Resolving releases.wikimedia.org (releases.wikimedia.org)... 185.15.58.224</small>


<small>Zend Engine v4.1.2, Copyright (c) Zend Technologies</small>
<small>Connecting to releases.wikimedia.org (releases.wikimedia.org)|185.15.58.224|:443... connected.</small>


<small>    with Zend OPcache v8.1.2-1ubuntu2.20, Copyright (c), by Zend Technologies</small></blockquote>
<small>HTTP request sent, awaiting response... 200 OK</small>


<small>Length: 91947888 (88M) [application/x-gzip]</small>


<small>Saving to: ‘mediawiki-1.43.0.tar.gz’</small>


<small>mediawiki-1.43.0.tar.gz                      100%[==============================================================================================>]  87.69M  5.41MB/s    in 18s     </small>


<small>2025-01-05 15:51:37 (4.89 MB/s) - ‘mediawiki-1.43.0.tar.gz’ saved [91947888/91947888]</small></blockquote>


===5. Installazione di Apache===
'''Estrai l'archivio scaricato''': Questo creerà una directory chiamata <code>'''mediawiki-1.43.0'''</code>.


*'''Descrizione''': Apache è utilizzato come server web per ospitare MediaWiki.
*'''Azioni''':


<blockquote>Installazione con il comando: <code>sudo apt install apache2</code>.


Configurazione per abilitare moduli necessari come <code>mod_rewrite</code>.</blockquote><br />


===6. Download e configurazione di MediaWiki===
llels@ubuntu-linux-22-04-02-desktop:'''~$ tar -xvzf mediawiki-1.43.0.tar.gz'''


*'''Descrizione''': Installazione e configurazione di MediaWiki come piattaforma collaborativa.
*'''Azioni''':


<blockquote>* Download di MediaWiki: <code>wget https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.0.tar.gz</code>.


Estrazione del pacchetto in <code>/var/www/html</code>.


Configurazione iniziale tramite l’interfaccia web:


<code>http://localhost/mediawiki</code>.</blockquote>---


===7. Connessione a MediaWiki locale===


*'''Descrizione''': Verifica che il setup MediaWiki sia funzionante e collegato a MySQL.
Sostituisci la directory esistente:
*'''Azioni''':


<blockquote>* Configurazione del file <code>LocalSettings.php</code> per collegare MediaWiki al database MySQL.
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo mv /var/www/html/mediawiki /var/www/html/mediawiki_old'''</small>


Test tramite browser:
<small>sudo mv mediawiki-1.43.0 /var/www/html/mediawiki</small>


<code>http://localhost/mediawiki</code>.</blockquote>---
<small>[sudo] password for parallels:</small> </blockquote>


===8. Connessione a Masticationpedia===
'''Verifica i permessi''': Assicurati che Apache possa accedere ai file:


*'''Descrizione''': Connessione al server di Masticationpedia partendo dall’installazione locale.
*'''Azioni''':


<blockquote>* Configurazione delle chiavi API di Masticationpedia (se applicabile).
ffffffff


Verifica della sincronizzazione tra MediaWiki locale e Masticationpedia per esportare contenuti e configurazioni.</blockquote>---


==2. Configurazione del database==


===9. Risoluzione dei problemi===
<p>'''Verifica la connessione al database''': MediaWiki 1.43 dovrebbe essere compatibile con il database esistente. Accedi al database per verificare:
<small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ mysql -u root -p'''</small>
<small>Enter password:</small> {{Rosso inizio}}Errore {{Rosso Fine}}</p>


*'''Descrizione''': Gestione degli errori durante il processo.
fffff
*'''Azioni''':


<blockquote>* Errori di MySQL (e.g., <code>auth_socket</code> non caricato).
<small>ERROR 1698 (28000): Access denied for user 'root'@'localhost'</small>Desccrizione errore e risoluzione {{Tooltip|Errore "Access denied for user 'root'@'localhost"|L'errore si verifica quando MySQL nega l'accesso all'utente <code>root</code>. Cause comuni includono: 1) Autenticazione tramite <code>auth_socket</code>, 2) Password errata, 3) Privilegi insufficienti. Soluzione: Accedi con <code>sudo mysql</code>, cambia il metodo di autenticazione con <code>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'nuova_password';</code>, oppure resetta la password avviando MySQL in modalità sicura (<code>mysqld_safe --skip-grant-tables</code>). Verifica sempre i privilegi e riavvia il servizio MySQL.}}


Permessi della directory <code>/var/run/mysqld</code>.


Modifiche ai file di configurazione come <code>my.cnf</code> e <code>LocalSettings.php</code>.</blockquote>---


===10. Testing finale===
Passaggi fondamentali:


*'''Descrizione''': Verifica che l’intera infrastruttura funzioni correttamente.
parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo mv /var/www/html/mediawiki /var/www/html/mediawiki_old''' sudo mv mediawiki-1.43.0 /var/www/html/mediawiki  [sudo] password for parallels:                                                                                                       ----
*'''Azioni''':


<blockquote>Test di MySQL tramite comandi SQL e connessioni al database.


Test dell’interfaccia MediaWiki tramite browser.
#parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo chown -R www-data:www-data /var/www/html/mediawiki'''  sudo chmod -R 755 /var/www/html/mediawiki  ----
#parallels@ubuntu-linux-22-04-02-desktop:'''~$ mysql -u root -p'''  Enter password:  '''ERROR 1698 (28000)''': Access denied for user 'root'@'localhost' ----
#parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo mysql'''  Welcome to the MySQL monitor.  Commands end with ; or \g.  Your MySQL connection id is 9  Server version: 8.0.40-0ubuntu0.22.04.1 (Ubuntu)  Copyright (c) 2000, 2024, 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. ----
#parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo mysql'''  Welcome to the MySQL monitor.  Commands end with ; or \g.  Your MySQL connection id is 10  Server version: 8.0.40-0ubuntu0.22.04.1 (Ubuntu)  Copyright (c) 2000, 2024, 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> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Rosa!01011925';  Query OK, 0 rows affected (0.27 sec)  mysql> FLUSH PRIVILEGES;  Query OK, 0 rows affected (0.04 sec)  mysql> EXIT; ----
#parallels@ubuntu-linux-22-04-02-desktop:'''~$ mysql -u root -p'''  Enter password:  Welcome to the MySQL monitor.  Commands end with ; or \g.  Your MySQL connection id is 11  Server version: 8.0.40-0ubuntu0.22.04.1 (Ubuntu)  Copyright (c) 2000, 2024, 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> Exit
#parallels@ubuntu-linux-22-04-02-desktop:'''~$ cd /var/www/html/mediawiki''' ----
#parallels@ubuntu-linux-22-04-02-desktop:'''/var/www/html/mediawiki$ ls -l'''    ----


Connessione a Masticationpedia per la gestione collaborativa.</blockquote>


<small>


Se hai bisogno di ulteriori dettagli su uno specifico step o di personalizzare qualcosa, fammi sapere!
<blockquote>
*total 2184
*-rwxr-xr-x  1 www-data www-data    1511 Dec  5 16:41 api.php
*-rwxr-xr-x  1 www-data www-data  352410 Dec  5 16:42 autoload.php
*drwxr-xr-x  2 www-data www-data    4096 Jan  5 15:58 cache
*-rwxr-xr-x  1 www-data www-data     168 Dec  5 16:41 CODE_OF_CONDUCT.md
*-rwxr-xr-x  1 www-data www-data    8358 Dec  5 16:42 composer.json
* -rwxr-xr-x  1 www-data www-data     125 Dec  5 16:41 composer.local.json-sample
*-rwxr-xr-x  1 www-data www-data   19421 Dec  5 16:41 COPYING
*-rwxr-xr-x  1 www-data www-data   15957 Dec  5 16:42 CREDITS
*-rwxr-xr-x  1 www-data www-data    1762 Dec 20 19:45 docker-compose.yml  drwxr-xr-x  5 www-data www-data    4096 Jan  5 15:58 docs
*drwxr-xr-x 35 www-data www-data    4096 Jan  5 15:58 extensions
* -rwxr-xr-x  1 www-data www-data      95 Dec  5 16:41 FAQ  -rwxr-xr
*-x  1 www-data www-data 1639880 Dec  5 16:42 HISTORY
* drwxr-xr-x  2 www-data www-data    4096 Jan  5 15:58 images
*-rwxr-xr-x  1 www-data www-data    2221 Dec  5 16:41 img_auth.php
*drwxr-xr-x 96 www-data www-data    4096 Jan  5 15:58 includes
*-rwxr-xr-x  1 www-data www-data    2213 Dec  5 16:41 index.php
*-rwxr-xr-x  1 www-data www-data    3685 Dec  5 16:42 INSTALL
* -rwxr-xr-x  1 www-data www-data    1302 Dec  5 16:41 jsdoc.json
* drwxr-xr-x  5 www-data www-data    4096 Jan  5 15:58 languages
*-rwxr-xr-x  1 www-data www-data    1464 Dec  5 16:41 load.php
* drwxr-xr-x 11 www-data www-data   12288 Jan  5 15:58 maintenance
* drwxr-xr-x  4 www-data www-data    4096 Jan  5 15:58 mw-config
* -rwxr-xr-x  1 www-data www-data    1761 Dec  5 16:41 opensearch_desc.php
*-rwxr-xr-x  1 www-data www-data    1643 Dec  5 16:41 README.md
*-rwxr-xr-x  1 www-data www-data   54673 Dec 20 19:45 RELEASE-NOTES-1.43
*drwxr-xr-x  5 www-data www-data    4096 Jan  5 15:58 resources
*-rwxr-xr-x  1 www-data www-data    1239 Dec  5 16:41 rest.php
* -rwxr-xr-x  1 www-data www-data     199 Dec  5 16:41 SECURITY
*drwxr-xr-x  6 www-data www-data    4096 Jan  5 15:58 skins
* drwxr-xr-x 11 www-data www-data    4096 Jan  5 15:58 tests
* -rwxr-xr-x  1 www-data www-data    1659 Dec  5 16:41 thumb_handler.php
*-rwxr-xr-x  1 www-data www-data    1357 Dec  5 16:41 thumb.php
*-rwxr-xr-x  1 www-data www-data    4394 Dec  5 16:41 UPGRADE
*drwxr-xr-x 21 www-data www-data    4096 Jan  5 15:58 vendor ----




==Revisione Ubunto==


----


<br />
<br />
===1. Avvio e gestione del servizio MySQL===
<br />
<blockquote>'''sudo systemctl start mysql'''
   </small>
 
 
A questo punto hai già scaricato e configurato i file di MediaWiki nella directory <code>/var/www/html/mediawiki</code>. Ora, il prossimo passaggio è completare l'installazione e configurazione di MediaWiki tramite il browser
 
== 1. Verifica che Apache e MySQL siano in esecuzione'''e''' ==
Assicurati che il server Apache e il database MySQL siano attivi
 
lels@ubuntu-linux-22-04-02-desktop:/var/www/html/mediawiki$ sudo systemctl status apache2
 
sudo systemctl status mysql
 
[sudo] password for parallels:
 
● apache2.service - The Apache HTTP Server
 
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
 
     Active: active (running) since Sun 2025-01-05 11:48:55 CET; 5h 37min ago
 
       Docs: <nowiki>https://httpd.apache.org/docs/2.4/</nowiki>
 
    Process: 184294 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 
   Main PID: 184298 (apache2)
 
      Tasks: 6 (limit: 2258)
 
     Memory: 12.1M
 
        CPU: 837ms
 
     CGroup: /system.slice/apache2.service
 
             ├─184298 /usr/sbin/apache2 -k start
 
             ├─184299 /usr/sbin/apache2 -k start
 
             ├─184300 /usr/sbin/apache2 -k start
 
             ├─184301 /usr/sbin/apache2 -k start
 
             ├─184302 /usr/sbin/apache2 -k start
 
             └─184303 /usr/sbin/apache2 -k start
 
Jan 05 11:48:55 ubuntu-linux-22-04-02-desktop systemd[1]: Starting The Apache HTTP Server...
 
Jan 05 11:48:55 ubuntu-linux-22-04-02-desktop systemd[1]: Started The Apache HTTP Server.
 
● mysql.service - MySQL Community Server
 
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
 
     Active: active (running) since Sun 2025-01-05 11:15:31 CET; 6h ago
 
    Process: 178773 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 
   Main PID: 178781 (mysqld)
 
     Status: "Server is operational"
 
      Tasks: 38 (limit: 2258)
 
     Memory: 366.2M
 
        CPU: 1min 49.336s
 
     CGroup: /system.slice/mysql.service
 
             └─178781 /usr/sbin/mysqld
 
Jan 05 11:15:30 ubuntu-linux-22-04-02-desktop systemd[1]: Starting MySQL Community Server...
 
Jan 05 11:15:31 ubuntu-linux-22-04-02-desktop systemd[1]: Started MySQL Community Server.
 
=== '''2. Apri il browser e accedi all'installazione''' ===
Vai al browser e digita l'indirizzo:
 
<nowiki>:</nowiki>
==Installazione e Configurazione del 'Localsetting.php'==
==Cosa Fare Ora==
Se devi modificare il file di configurazione di MediaWiki, il percorso corretto è:
 
<code>/var/www/html/mediawiki/LocalSettings.php</code>
 
Puoi aprirlo per modificarlo con un editor di testo, ad esempio:
 
===Usando nano===
<code>sudo nano /var/www/html/mediawiki/LocalSettings.php</code>
 
===Usando vim===
<code>sudo vim /var/www/html/mediawiki/LocalSettings.php</code>
 
===Per verificare rapidamente il contenuto===
<code>cat /var/www/html/mediawiki/LocalSettings.php</code>
 
==Nota==
*Assicurati di avere i permessi necessari per modificare il file. Se non sei sicuro, utilizza <code>sudo</code> come mostrato sopra.
*Prima di apportare modifiche, è consigliabile eseguire un backup del file:
<code>sudo cp /var/www/html/mediawiki/LocalSettings.php /var/www/html/mediawiki/LocalSettings.php.bak</code>
 
Se hai bisogno di aiuto per modificare o configurare il file, fammi sapere!
 
 
 
== Per iniziare a settare il Mediawiki ==
Per entrare nella directory del MediaWiki in Ubuntu: parallels@ubuntu-linux-22-04-02-desktop:'''~$ cd /var/www/html/mediawiki'''
 
Per modifica necessita di un editor: parallels@ubuntu-linux-22-04-02-desktop:'''/var/www/html/mediawiki$ sudo nano /var/www/html/mediawiki/LocalSettings.php'''
 
[sudo] password for parallels: Rosa01011925
 
 
<?php
 
<nowiki>#</nowiki> This file was automatically generated by the MediaWiki 1.43.0 installer.
 
<nowiki>#</nowiki> Manual changes should be tracked in case you need to recreate them.
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **PROTEZIONE CONTRO ACCESSI NON AUTORIZZATI**
 
<nowiki>#</nowiki> =============================================================================
 
if ( !defined( 'MEDIAWIKI' ) ) {
 
    exit;
 
}
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **CONFIGURAZIONE DEL SITO**
 
<nowiki>#</nowiki> =============================================================================
 
$wgSitename = "Masticationpedia";
 
<nowiki>#</nowiki> URL base del sito e directory degli script
 
$wgScriptPath = "";
 
$wgServer = "<nowiki>http://10.211.55.3</nowiki>";
 
$wgResourceBasePath = $wgScriptPath;
 
<nowiki>#</nowiki> Configurazione del logo
 
$wgLogos = [
 
    '1x' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
 
    'icon' => "$wgResourceBasePath/resources/assets/change-your-logo-icon.svg",
 
];
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **CONFIGURAZIONE EMAIL**
 
<nowiki>#</nowiki> =============================================================================
 
$wgEnableEmail = true;
 
$wgEnableUserEmail = true; # UPO (User Preference Option)
 
$wgEmergencyContact = "";  # Email di emergenza
 
$wgPasswordSender = "";    # Mittente delle email di sistema
 
<nowiki>#</nowiki> Notifiche email
 
$wgEnotifUserTalk = false; # Notifiche sulle discussioni utente
 
$wgEnotifWatchlist = false; # Notifiche sulla watchlist
 
$wgEmailAuthentication = true; # Richiesta autenticazione per email
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **CONFIGURAZIONE DATABASE**
 
<nowiki>#</nowiki> =============================================================================
 
$wgDBtype = "mysql";          # Tipo di database
 
$wgDBserver = "localhost";    # Server database
 
$wgDBname = "mediawiki_db";   # Nome del database


'''sudo systemctl stop mysql'''
$wgDBuser = "root";           # Utente del database


'''sudo systemctl status mysql'''</blockquote>
$wgDBpassword = "Rosa!01011925"; # Password del database


<nowiki>#</nowiki> Opzioni specifiche per MySQL


*<nowiki>**Esito:**</nowiki>
$wgDBprefix = "Wiki";         # Prefisso per le tabelle


<nowiki>*</nowiki> Il servizio inizialmente non si avviava correttamente (rimaneva in "Starting").
$wgDBssl = false;             # SSL disabilitato per il database


<nowiki>*</nowiki> Successivamente è stato avviato con successo e risulta ora **attivo**.
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary"; # Opzioni per le tabelle


---
<nowiki>#</nowiki> Tabelle condivise


===2. Creazione e gestione della directory per il socket===
$wgSharedTables[] = "actor";


*<nowiki>**Problema rilevato:**</nowiki>
<nowiki>#</nowiki> =============================================================================


<nowiki>*</nowiki> Errore: `Directory '/var/run/mysqld' for UNIX socket file don't exist.`<syntaxhighlight lang="bash">
<nowiki>#</nowiki> **PRESTAZIONI E CACHE**
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
</syntaxhighlight>


*<nowiki>**Dettagli directory:**</nowiki>
<nowiki>#</nowiki> =============================================================================


<nowiki>*</nowiki> **Directory create:** `/var/run/mysqld`
$wgMainCacheType = CACHE_NONE; # Nessuna cache abilitata
<nowiki/>* **Permessi assegnati:**
<nowiki/>* Utente: `mysql`
<nowiki/>* Gruppo: `mysql`


*<nowiki>**Esito:**</nowiki>
$wgMemCachedServers = [];      # Nessun server di memorizzazione configurato


<nowiki>*</nowiki> Directory creata correttamente per il file socket.
<nowiki>#</nowiki> =============================================================================


---
<nowiki>#</nowiki> **CONFIGURAZIONE DEI FILE E RISORSE**


===3. Avvio MySQL in modalità `--skip-grant-tables`===
<nowiki>#</nowiki> =============================================================================
<syntaxhighlight lang="bash">
sudo mysqld_safe --skip-grant-tables --skip-networking &
</syntaxhighlight>


*<nowiki>**Motivo:**</nowiki>
$wgEnableUploads = false;     # Caricamenti disabilitati


<nowiki>*</nowiki> Superare il problema dei privilegi per accedere al database con root senza password.
<nowiki>#</nowiki>$wgUseImageMagick = true;    # Abilitare ImageMagick (commentato)


*<nowiki>**Esito:**</nowiki>
<nowiki>#</nowiki>$wgImageMagickConvertCommand = "/usr/bin/convert"; # Percorso di ImageMagick


<nowiki>*</nowiki> MySQL avviato con questa modalità.
<nowiki>#</nowiki> InstantCommons


---
$wgUseInstantCommons = false; # Disabilita utilizzo immagini da Commons


===4. Modifica della password di root===
<nowiki>#</nowiki> =============================================================================


*<nowiki>**Problemi incontrati:**</nowiki>
<nowiki>#</nowiki> **LINGUA E FUSO ORARIO**


<nowiki>*</nowiki> Non è stato possibile utilizzare `ALTER USER` perché il server era in modalità `--skip-grant-tables`.
<nowiki>#</nowiki> =============================================================================
<nowiki/>* Errore di sintassi nei tentativi iniziali.<syntaxhighlight lang="sql">
UPDATE mysql.user SET authentication_string='Rosa!01011925' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>


*<nowiki>**Esito:**</nowiki>
$wgLanguageCode = "it";       # Lingua del sito


<nowiki>*</nowiki> La password di root è stata aggiornata.
$wgLocaltimezone = "Europe/Berlin"; # Fuso orario


---
<nowiki>#</nowiki> =============================================================================


===5. Problema con il plugin `auth_socket`===
<nowiki>#</nowiki> **SICUREZZA E CHIAVI DI CONFIGURAZIONE**


*<nowiki>**Errore rilevato:**</nowiki>
<nowiki>#</nowiki> =============================================================================
<syntaxhighlight lang="text">
ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
</syntaxhighlight>


*<nowiki>**Analisi:**</nowiki>
$wgSecretKey = "2157bf3f06ccf1cd0be352687f133e3fe15a7ba6a5f951bcce3ed74d18964259"; # Chiave segreta


<nowiki>*</nowiki> Questo problema si verifica perché MySQL sta cercando di autenticare l'utente root usando il plugin `auth_socket`, che consente l'accesso solo tramite socket UNIX, ignorando la password.
$wgAuthenticationTokenVersion = "1";  # Versione del token di autenticazione


---
<nowiki>#</nowiki> =============================================================================


===6. Diagnostica del plugin per root===
<nowiki>#</nowiki> **LICENZE E DIRITTI**


*<nowiki>**Comando tentato (senza successo):**</nowiki>
<nowiki>#</nowiki> =============================================================================
<syntaxhighlight lang="sql">
SELECT User, Host, plugin FROM mysql.user WHERE User='root';
</syntaxhighlight>* **Errore:**
<nowiki/>* `SELECT: command not found` perché il comando è stato eseguito fuori dal terminale MySQL.


---
$wgRightsPage = "";           # Pagina Wiki con informazioni sulla licenza


===7. Comandi in sospeso===
$wgRightsUrl = "";            # URL della licenza


*<nowiki>**Risolvere il problema di `auth_socket`:**</nowiki>
$wgRightsText = "";           # Testo sulla licenza


1. Avviare MySQL con `--skip-grant-tables`.
$wgRightsIcon = "";           # Icona della licenza
2. Modificare il plugin di autenticazione di root:<syntaxhighlight lang="sql">
UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>


*<nowiki>**Controllare i plugin disponibili:**</nowiki>
<nowiki>#</nowiki> =============================================================================
<syntaxhighlight lang="sql">
SELECT plugin FROM mysql.plugin;
</syntaxhighlight>


*<nowiki>**Verifica del login con root:**</nowiki>
<nowiki>#</nowiki> **SKINS (TEMI GRAFICI)**
<syntaxhighlight lang="bash">
mysql -u root -p
</syntaxhighlight>


---
<nowiki>#</nowiki> =============================================================================


===Schema delle directory principali coinvolte===
$wgDefaultSkin = "vector-2022"; # Skin predefinita


*<nowiki>**Directory socket:** `/var/run/mysqld`</nowiki>
<nowiki>#</nowiki> Skin abilitati


<nowiki>*</nowiki> **Stato:** Creato.
wfLoadSkin( 'MinervaNeue' );
<nowiki/>* **Permessi:** `mysql:mysql`.
 
wfLoadSkin( 'MonoBook' );
*<nowiki>**File di configurazione principale:**</nowiki>
 
wfLoadSkin( 'Timeless' );
 
wfLoadSkin( 'Vector' );
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **ALTRE CONFIGURAZIONI**
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> Aggiungere configurazioni personalizzate qui sotto.


<nowiki>*</nowiki> `/etc/mysql/my.cnf`
<nowiki>#</nowiki> End of automatically generated settings.
<nowiki/>* **Modifica effettuata:** `bind-address` impostato a `0.0.0.0`.


*<nowiki>**Log degli errori:**</nowiki>
<nowiki>#</nowiki> Add more configuration options below.


<nowiki>*</nowiki> `/var/log/mysql/error.log`


---


Se preferisci rappresentare queste informazioni in un diagramma grafico o hai bisogno di ulteriori chiarimenti, fammi sapere!
{{:Score:Ubuntu_Roadmap}}
{{:Score:Ubuntu_Localsetting config}}
Editor, Editors, USER, admin, Bureaucrats, Check users, dev, editor, founder, Interface administrators, member, oversight, Suppressors, Administrators, translator
11,493

edits