Line 1: Line 1:
==Schema delle operazioni eseguite==
=Schema delle operazioni eseguite=
<br />
<br />
==Descrizione dettagliata degli step==
==1. Sistema operativo (Ubuntu 22.04 LTS)==


===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.
 
*Azioni:
*'''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''':


<blockquote>Configurazione iniziale del sistema.
<blockquote>Configurazione iniziale del sistema.
Line 14: Line 12:
<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:
Controllo Ubuntu:
 
Controlla la versione di Ubuntu:{{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.}}}}


=== '''Controlla la versione di Ubuntu:'''{{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.}}}} ===
<blockquote><small>'''parallels@ubuntu-linux-22-04-02-desktop''':'''~'''$ lsb_release -a</small>
<blockquote><small>'''parallels@ubuntu-linux-22-04-02-desktop''':'''~'''$ lsb_release -a</small>


Line 29: Line 25:
<small>Release: 22.04</small> </blockquote>
<small>Release: 22.04</small> </blockquote>


 
=== Assicurati che il sistema sia aggiornato:{{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.}}}} ===
Assicurati che il sistema sia aggiornato:{{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.}}}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ sudo apt update && sudo apt upgrade</small>  
<blockquote><small>'''parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo apt update && sudo apt upgrade</small>  
<small>[sudo] password for parallels:</small>  
<small>[sudo] password for parallels:</small>  


Line 82: Line 78:


<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>
==2. Installazione di MySQL==


 
*Descrizione: Installazione del database MySQL, necessario per archiviare i dati di MediaWiki.
 
*Azioni:
 
 
 
 
===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 102: Line 91:
Controllo Ubuntu:
Controllo Ubuntu:


Controlla se MySQL è installato:
=== Controlla se MySQL è installato: ===
'''parallels@ubuntu-linux-22-04-02-desktop:'''~$ mysql --version
'''parallels@ubuntu-linux-22-04-02-desktop:'''~$ mysql --version
 
mysql  Ver 8.0.40-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
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>
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>  
<small>[sudo] password for parallels:</small>  
Line 135: Line 125:
<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>


==== 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:{{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.}}}}
 
<blockquote>
<blockquote>
<small>parallels@ubuntu-linux-22-04-02-desktop:~$ sudo apt install mysql-server</small>
<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 152: Line 139:
<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>


===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''':
*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 169: Line 158:
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>


==== 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>
# 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>


<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># The MySQL database server configuration file.</small>
<small># The MySQL database server configuration file.</small>
<small>#</small>


<small># You can copy this to one of:</small>
<small># You can copy this to one of:</small>
Line 190: Line 172:


<small># - "~/.my.cnf" to set user-specific options.</small>
<small># - "~/.my.cnf" to set user-specific options.</small>
<small>#</small>


<small># One can use all long options that the program supports.</small>
<small># One can use all long options that the program supports.</small>
Line 198: Line 178:


<small># --print-defaults to see which it would actually understand and use.</small>
<small># --print-defaults to see which it would actually understand and use.</small>
<small>#</small>


<small># For explanations see</small>
<small># For explanations see</small>


<small># <nowiki>http://dev.mysql.com/doc/mysql/en/server-system-variables.html</nowiki></small>
<small># <nowiki>http://dev.mysql.com/doc/mysql/en/server-system-variables.html</nowiki></small>
<small>#</small>


<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>!includedir /etc/mysql/conf.d/</small>
<small>!includedir /etc/mysql/conf.d/</small>
Line 219: Line 193:
Cerca parametri come <code>bind-address</code> e assicurati che sia impostato correttamente.
Cerca parametri come <code>bind-address</code> e assicurati che sia impostato correttamente.


'''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>
=== '''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>parallels@ubuntu-linux-22-04-02-desktop:~$ mysql -u root -p</small>
<small>parallels@ubuntu-linux-22-04-02-desktop:~$ mysql -u root -p</small>


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


==== Revisione: ====
=== 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.}}}} ===


* 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.}}}}


<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ sudo mysqld_safe --skip-grant-tables --skip-networking</small>
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ sudo mysqld_safe --skip-grant-tables --skip-networking</small>
Line 236: Line 210:
<small>2025-01-04T16:30:53.534928Z mysqld_safe Logging to '/var/log/mysql/error.log'.</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>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>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>SELECT User, Host, plugin FROM user;</small>
<small>SELECT User, Host, plugin FROM user;</small>
Line 244: Line 221:
<small>SELECT: command not found</small></blockquote>
<small>SELECT: command not found</small></blockquote>


===4. Installazione di PHP===
== 4. Installazione di PHP ==


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


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




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>
 
 
=== 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>PHP 8.1.2-1ubuntu2.20 (cli) (built: Dec  3 2024 20:14:35) (NTS)</small>
Line 264: Line 247:
<small>    with Zend OPcache v8.1.2-1ubuntu2.20, Copyright (c), by Zend Technologies</small></blockquote>
<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>
=== 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>


<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>
=== 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>[sudo] password for parallels:</small>  
Line 282: Line 269:
<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>


== 5. Installazione di Apache ==


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


===5. Installazione di Apache===
*'''Descrizione''': Apache è utilizzato come server web per ospitare MediaWiki.
*'''Azioni''':
*'''Azioni''':
<blockquote>Installazione con il comando: <code>sudo apt install apache2</code>.
<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>.}}}}
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>
<blockquote><small>arallels@ubuntu-linux-22-04-02-desktop:~$ sudo systemctl status apache2</small>


Line 340: Line 325:


Verifica i moduli abilitati:
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>
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>
Line 367: Line 353:
<code>http://localhost/mediawiki</code>.</blockquote>
<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>
===  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>index.html  info.php  mediawiki</small></blockquote>


<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>
=== 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>tar -xvzf mediawiki-1.39.0.tar.gz -C /var/www/html/</small></blockquote>
<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 ==
== 7. Connessione a MediaWiki locale ==
*'''Descrizione''': Verifica che il setup MediaWiki sia funzionante e collegato a MySQL.
*'''Descrizione''': Verifica che il setup MediaWiki sia funzionante e collegato a MySQL.


Line 388: Line 378:
<code>http://localhost/mediawiki</code>.
<code>http://localhost/mediawiki</code>.


</blockquote>---
</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>
=== 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>
<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>
 
=== 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>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>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>
<small>bash: <nowiki>http://localhost/mediawiki</nowiki>: No such file or directory</small></blockquote>
Line 408: Line 404:


*'''Azioni''':
*'''Azioni''':




Line 417: Line 412:




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.}}}}{{Rosso inizio}}da fare {{Rosso Fine}}<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ tail -f /var/log/apache2/error.log</small>
 
 
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:35.868057 2025] [mpm_prefork:notice] [pid 59969] AH00170: caught SIGWINCH, shutting down gracefully</small>
Line 446: Line 445:




{{Rosso inizio}}da fare {{Rosso Fine}}
===9. Risoluzione dei problemi===
===9. Risoluzione dei problemi===



Revision as of 18:51, 4 January 2025

Schema delle operazioni eseguite


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.
  • Azioni:

Configurazione iniziale del sistema.

Impostazioni di rete e aggiornamenti di sistema con:

sudo apt update

sudo apt upgrade.

Controllo Ubuntu:

Controlla la versione di Ubuntu: Info.pngInformazioni sulla distribuzione LinuxIl comando lsb_release -a mostra informazioni sulla distribuzione Linux in uso. L'output indica: 1) Nessun modulo LSB disponibile, che non influisce sulle informazioni. 2) La distribuzione è Ubuntu. 3) La versione installata è 22.04.5 LTS, supportata a lungo termine. Questo comando è utile per identificare il sistema operativo in uso.

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: Info.pngAggiornamento del sistema con aptIl comando sudo apt update && sudo apt upgrade aggiorna l'indice dei pacchetti e installa eventuali aggiornamenti disponibili. L'output indica: 1) L'indice dei pacchetti è stato aggiornato dai repository (es. http://security.ubuntu.com/ubuntu). 2) Tutti i pacchetti sono già aggiornati. Questo comando è essenziale per mantenere il sistema sicuro e aggiornato.

parallels@ubuntu-linux-22-04-02-desktop:~$ sudo apt update && sudo apt upgrade

[sudo] password for parallels:

Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]

Hit:2 http://us.archive.ubuntu.com/ubuntu jammy InRelease

Get:3 http://security.ubuntu.com/ubuntu jammy-security/main amd64 DEP-11 Metadata [43.1 kB]

Get:4 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 DEP-11 Metadata [208 B]

Get:5 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 DEP-11 Metadata [125 kB]

Get:6 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]

Get:7 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 DEP-11 Metadata [208 B]

Get:8 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]

Get:9 http://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 DEP-11 Metadata [103 kB]

Get:10 http://us.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 DEP-11 Metadata [212 B]

Get:11 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 DEP-11 Metadata [356 kB]

Get:12 http://us.archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 DEP-11 Metadata [940 B]

Get:13 http://us.archive.ubuntu.com/ubuntu jammy-backports/main amd64 DEP-11 Metadata [7,016 B]

Get:14 http://us.archive.ubuntu.com/ubuntu jammy-backports/restricted amd64 DEP-11 Metadata [212 B]

Get:15 http://us.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 DEP-11 Metadata [17.7 kB]

Get:16 http://us.archive.ubuntu.com/ubuntu 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

  • Descrizione: Installazione del database MySQL, necessario per archiviare i dati di MediaWiki.
  • Azioni:

Installazione con il comando:sudo apt install mysql-server.

Configurazione iniziale di MySQL, inclusa la creazione di directory e file di configurazione.

Risoluzione di problemi legati ai permessi e alla directory /var/run/mysqld.

Controllo Ubuntu:

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))


Controlla lo stato del servizio MySQL: Info.pngTesto breve che mostra l'analisi del risultato del comandoLa risposta che hai riportato mostra lo stato del servizio MySQL su un sistema Ubuntu. Ecco un'analisi dettagliata: Comando eseguito: sudo systemctl status mysql, che controlla lo stato del servizio MySQL. Richiesta di password: [sudo] password for parallels:, normale per comandi amministrativi. Stato del servizio: ● mysql.service - MySQL Community Server, attualmente in fase di avvio (activating). Dettagli del processo: PID principale 135576 (mysqld), 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: sudo journalctl -u mysql.service per i log dettagliati o sudo tail -n 50 /var/log/mysql/error.log per controllare eventuali errori.

parallels@ubuntu-linux-22-04-02-desktop:~$ sudo systemctl status mysql

[sudo] password for parallels:

● mysql.service - MySQL Community Server

     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)

     Active: activating (start) since Sat 2025-01-04 16:48:38 CET; 41s ago

    Process: 135568 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)

   Main PID: 135576 (mysqld)

     Status: "Server startup in progress"

      Tasks: 12 (limit: 2258)

     Memory: 256.1M

        CPU: 330ms

     CGroup: /system.slice/mysql.service

             └─135576 /usr/sbin/mysqld

Jan 04 16:48:38 ubuntu-linux-22-04-02-desktop systemd[1]: Starting MySQL Community Server...

Se MySQL non è installato, usa: Info.pngComando per installare MySQL ServerIl comando sudo apt install mysql-server è stato eseguito per installare il pacchetto MySQL Server. La risposta del sistema indica che: 1) La password amministrativa è stata richiesta tramite sudo. 2) Sono state lette le liste dei pacchetti e controllato lo stato. 3) Il pacchetto mysql-server è già installato nella versione più recente (8.0.40-0ubuntu0.22.04.1). Nessun aggiornamento o modifica ai pacchetti è stata effettuata.

parallels@ubuntu-linux-22-04-02-desktop:~$ sudo apt install mysql-server

[sudo] password for parallels:

Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

mysql-server is already the newest version (8.0.40-0ubuntu0.22.04.1).

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

3. Configurazione di MySQL

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

Configurazione del file /etc/mysql/my.cnf, con l’aggiunta di parametri come:

bind-address = 0.0.0.0.

Avvio di MySQL con:

sudo mysqld_safe --skip-grant-tables --skip-networking

Creazione di utenti e modifica delle password, inclusi problemi legati a plugin (auth_socket).

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

parallels@ubuntu-linux-22-04-02-desktop:~$ cat /etc/mysql/my.cnf

[mysqld]

bind-address = 0.0.0.0

# The MySQL database server configuration file.

# You can copy this to one of:

# - "/etc/mysql/my.cnf" to set global options,

# - "~/.my.cnf" to set user-specific options.

# One can use all long options that the program supports.

# Run program with --help to get a list of available options and with

# --print-defaults to see which it would actually understand and use.

# For explanations see

# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# * IMPORTANT: Additional settings that can override those from this file!

#   The files must end with '.cnf', otherwise they'll be ignored.

!includedir /etc/mysql/conf.d/

!includedir /etc/mysql/mysql.conf.d/

Cerca parametri come bind-address e assicurati che sia impostato correttamente.

Prova a connetterti a MySQL: Info.pngErrore di connessione al server MySQLIl comando mysql -u root -p viene utilizzato per accedere al server MySQL con l'utente root. Dopo aver richiesto la password, il sistema restituisce l'errore: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2). Questo errore può indicare che il server MySQL non è in esecuzione, il file socket/var/run/mysqld/mysqld.sock non esiste o ci sono problemi di configurazione. Soluzioni comuni includono controllare lo stato del servizio con sudo systemctl status mysql o verificare i log di errore in /var/log/mysql/error.log.

parallels@ubuntu-linux-22-04-02-desktop:~$ mysql -u root -p

Enter password:

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

Se non riesci a connetterti, verifica: Info.pngErrore nell'avvio di mysqld_safeIl comando sudo mysqld_safe --skip-grant-tables --skip-networking è 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 sudo. 2) L'operazione è stata registrata nel log di MySQL (/var/log/mysql/error.log). 3) L'errore A mysqld process already exists indica che un altro processo MySQL è già in esecuzione. Per risolvere, è possibile verificare i processi attivi con ps aux

parallels@ubuntu-linux-22-04-02-desktop:~$ sudo mysqld_safe --skip-grant-tables --skip-networking

[sudo] password for parallels:

2025-01-04T16:30:53.534928Z mysqld_safe Logging to '/var/log/mysql/error.log'.

2025-01-04T16:30:53.635250Z mysqld_safe A mysqld process already exists

Una volta dentro MySQL, esegui: Info.pngErrore nei comandi MySQL da terminaleI comandi USE mysql; e SELECT User, Host, plugin FROM user; sono stati eseguiti direttamente nel terminale invece che all'interno del client MySQL. Questo ha causato gli errori USE: command not found e SELECT: command not found, poiché il terminale Bash non riconosce comandi SQL. Per eseguire correttamente questi comandi, è necessario accedere al client MySQL con mysql -u [username] -p e poi digitare i comandi SQL.

parallels@ubuntu-linux-22-04-02-desktop:~$ USE mysql;

SELECT User, Host, plugin FROM user;

USE: command not found

SELECT: command not found

4. Installazione di PHP

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


Installazione con il comando: sudo apt install php php-mysql. Configurazione di PHP per la compatibilità con MediaWiki.



Controlla la versione di PHP: Info.pngInformazioni sulla versione di PHPIl comando php -v mostra la versione di PHP installata sul sistema. L'output indica che la versione corrente è 8.1.2-1ubuntu2.20 con supporto CLI (Command Line Interface). Viene utilizzato il motore Zend v4.1.2, con il modulo di caching Zend OPcache attivo. Questo modulo migliora le prestazioni memorizzando bytecode precompilati.

parallels@ubuntu-linux-22-04-02-desktop:~$ php -v

PHP 8.1.2-1ubuntu2.20 (cli) (built: Dec  3 2024 20:14:35) (NTS)

Copyright (c) The PHP Group

Zend Engine v4.1.2, Copyright (c) Zend Technologies

    with Zend OPcache v8.1.2-1ubuntu2.20, Copyright (c), by Zend Technologies

Assicurati che PHP abbia il modulo MySQL: Info.pngVerifica del modulo mysqli in PHPIl comando php -m

parallels@ubuntu-linux-22-04-02-desktop:~$ php -m | grep mysqli mysqli

Se PHP non è installato, usa: Info.pngVerifica installazione di PHP e php-mysqlIl comando sudo apt install php php-mysql è stato utilizzato per installare PHP e il modulo php-mysql, che consente a PHP di interagire con database MySQL. L'output indica che entrambi i pacchetti sono già installati nella versione più recente (2:8.1+92ubuntu1) e non sono necessarie ulteriori azioni.

parallels@ubuntu-linux-22-04-02-desktop:~$ sudo apt install php php-mysql

[sudo] password for parallels:

Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

php is already the newest version (2:8.1+92ubuntu1).

php-mysql is already the newest version (2:8.1+92ubuntu1).

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

5. Installazione di Apache

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

Installazione con il comando: sudo apt install apache2. Configurazione per abilitare moduli necessari come mod_rewrite.

Controlla se Apache è attivo: Info.pngStato del servizio Apache HTTPIl comando sudo systemctl status apache2 verifica lo stato del servizio Apache HTTP. L'output mostra che il servizio è attivo (active (running)) e in esecuzione da 18 ore. Il processo principale ha PID 61322 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: https://httpd.apache.org/docs/2.4/.

arallels@ubuntu-linux-22-04-02-desktop:~$ sudo systemctl status apache2

● apache2.service - The Apache HTTP Server

     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)

     Active: active (running) since Fri 2025-01-03 23:26:36 CET; 18h ago

       Docs: https://httpd.apache.org/docs/2.4/

   Main PID: 61322 (apache2)

      Tasks: 10 (limit: 2258)

     Memory: 11.3M

        CPU: 15.329s

     CGroup: /system.slice/apache2.service

             ├─61322 /usr/sbin/apache2 -k start

             ├─61323 /usr/sbin/apache2 -k start

             ├─61324 /usr/sbin/apache2 -k start

             ├─61325 /usr/sbin/apache2 -k start

             ├─61326 /usr/sbin/apache2 -k start

             ├─61327 /usr/sbin/apache2 -k start

             ├─61381 /usr/sbin/apache2 -k start

             ├─62060 /usr/sbin/apache2 -k start

             ├─62064 /usr/sbin/apache2 -k start

             └─62065 /usr/sbin/apache2 -k start

Jan 03 23:26:36 ubuntu-linux-22-04-02-desktop systemd[1]: Starting The Apache HTTP Server...

Jan 03 23:26:36 ubuntu-linux-22-04-02-desktop systemd[1]: Started The Apache HTTP Server.


Verifica i moduli abilitati:


Se Apache non è installato, usa:

sudo apt install apache2

Abilita i moduli necessari: Info.pngAbilitazione del modulo rewrite in ApacheIl comando sudo a2enmod rewrite abilita il modulo rewrite di Apache, utilizzato per riscrivere URL. L'output conferma che il modulo è stato attivato e specifica che è necessario riavviare Apache con sudo systemctl restart apache2 per applicare la nuova configurazione.

parallels@ubuntu-linux-22-04-02-desktop:~$ sudo a2enmod rewrite

sudo systemctl restart apache2

Enabling module rewrite.

To activate the new configuration, you need to run:

  systemctl restart apache2

6. Download e configurazione di MediaWiki

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


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

Estrazione del pacchetto in /var/www/html.

Configurazione iniziale tramite l’interfaccia web:

http://localhost/mediawiki.

Controlla se MediaWiki è presente nella directory: Info.pngContenuto della directory /var/www/htmlIl comando ls /var/www/html elenca i file e le directory nella directory principale del server Apache. L'output mostra: 1) index.html, il file predefinito di Apache; 2) info.php, probabilmente un file per verificare la configurazione PHP; 3) mediawiki, una directory che sembra contenere un'installazione di MediaWiki.

parallels@ubuntu-linux-22-04-02-desktop:~$ ls /var/www/html index.html  info.php  mediawiki

Accedi all’interfaccia web: Info.pngErrore nell'uso di un URL nel terminaleIl comando http://localhost/mediawiki è 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 No such file or directory. Per accedere all'URL, aprilo in un browser web.

parallels@ubuntu-linux-22-04-02-desktop:~$ http://localhost/mediawiki bash: http://localhost/mediawiki: No such file or directory

Se MediaWiki non è installato, scaricalo: Info.pngScaricamento ed estrazione di MediaWikiI comandi scaricano ed estraggono MediaWiki nella directory del server web. 1) wget https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.0.tar.gz scarica l'archivio di MediaWiki versione 1.39.0. 2) tar -xvzf mediawiki-1.39.0.tar.gz -C /var/www/html/ estrae i file nella directory /var/www/html/. Questo rende i file di MediaWiki disponibili per la configurazione tramite il server Apache.

wget https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.0.tar.gz tar -xvzf mediawiki-1.39.0.tar.gz -C /var/www/html/

7. Connessione a MediaWiki locale

  • Descrizione: Verifica che il setup MediaWiki sia funzionante e collegato a MySQL.
  • Azioni:

* Configurazione del file LocalSettings.php per collegare MediaWiki al database MySQL.


Test tramite browser:

http://localhost/mediawiki.

Controlla il file LocalSettings.php: Info.pngErrore: LocalSettings.php non trovatoIl comando cat /var/www/html/mediawiki/LocalSettings.php cerca di visualizzare il file LocalSettings.php di MediaWiki, ma restituisce l'errore No such file or directory. 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.

parallels@ubuntu-linux-22-04-02-desktop:~$ cat /var/www/html/mediawiki/LocalSettings.php cat: /var/www/html/mediawiki/LocalSettings.php: No such file or directory


Testa la connessione al database dal terminale: Info.pngErrore di connessione a MySQLIl comando mysql -u mediawiki_user -p tenta di accedere al server MySQL con l'utente mediawiki_user, ma restituisce l'errore Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'. Questo errore può essere causato da: 1) Il server MySQL non è in esecuzione. Verifica con sudo systemctl status mysql. 2) Il file socket /var/run/mysqld/mysqld.sock non esiste. Controlla i log in /var/log/mysql/error.log. 3) Problemi di configurazione. Assicurati che MySQL sia configurato correttamente.

parallels@ubuntu-linux-22-04-02-desktop:~$ mysql -u mediawiki_user -p

Enter password:

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

Se il file di configurazione non è presente, esegui la configurazione web da: Info.pngErrore nell'uso di un URL nel terminaleIl comando http://localhost/mediawiki è stato digitato nel terminale Bash, ma gli URL devono essere aperti in un browser web. L'errore No such file or directory indica che Bash ha cercato un file o una directory con quel nome. Per accedere al sito, inserisci l'URL http://localhost/mediawiki nella barra degli indirizzi di un browser.

parallels@ubuntu-linux-22-04-02-desktop:~$ http://localhost/mediawiki bash: http://localhost/mediawiki: No such file or directory

8. Connessione a Masticationpedia

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


* Configurazione delle chiavi API di Masticationpedia (se applicabile). Verifica della sincronizzazione tra MediaWiki locale e Masticationpedia per esportare contenuti e configurazioni.



Verifica eventuali log per errori di sincronizzazione: Info.pngMonitoraggio dei log di errore di ApacheIl comando tail -f /var/log/apache2/error.log consente di monitorare in tempo reale i log di errore di Apache. L'output mostra: 1) Spegnimenti e riavvii di Apache con segnali SIGWINCH. 2) Messaggi di configurazione relativi al comando /usr/sbin/apache2. 3) Errori che indicano che il file /var/www/html/mediawiki/info.php non è stato trovato, con dettagli sugli indirizzi client (10.211.55.2) e le porte utilizzate. Questo comando è utile per diagnosticare problemi e monitorare l'attività del server.

parallels@ubuntu-linux-22-04-02-desktop:~$ tail -f /var/log/apache2/error.log

[Fri Jan 03 23:26:35.868057 2025] [mpm_prefork:notice] [pid 59969] AH00170: caught SIGWINCH, shutting down gracefully

[Fri Jan 03 23:26:36.294041 2025] [mpm_prefork:notice] [pid 61322] AH00163: Apache/2.4.52 (Ubuntu) configured -- resuming normal operations

[Fri Jan 03 23:26:36.294086 2025] [core:notice] [pid 61322] AH00094: Command line: '/usr/sbin/apache2'

[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

[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

[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

[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

[Sat Jan 04 18:02:48.256484 2025] [mpm_prefork:notice] [pid 61322] AH00170: caught SIGWINCH, shutting down gracefully

[Sat Jan 04 18:02:49.535547 2025] [mpm_prefork:notice] [pid 149151] AH00163: Apache/2.4.52 (Ubuntu) configured -- resuming normal operations

[Sat Jan 04 18:02:49.535593 2025] [core:notice] [pid 149151] AH00094: Command line: '/usr/sbin/apache2'



---


da fare

9. Risoluzione dei problemi

  • Descrizione: Gestione degli errori durante il processo.
  • Azioni:

* Errori di MySQL (e.g., auth_socket non caricato).

Permessi della directory /var/run/mysqld.

Modifiche ai file di configurazione come my.cnf e LocalSettings.php.

---

10. Testing finale

  • Descrizione: Verifica che l’intera infrastruttura funzioni correttamente.
  • Azioni:

Test di MySQL tramite comandi SQL e connessioni al database.

Test dell’interfaccia MediaWiki tramite browser.

Connessione a Masticationpedia per la gestione collaborativa.


Se hai bisogno di ulteriori dettagli su uno specifico step o di personalizzare qualcosa, fammi sapere!


Revisione Ubunto



1. Avvio e gestione del servizio MySQL

sudo systemctl start mysql

sudo systemctl stop mysql

sudo systemctl status mysql


  • **Esito:**

* Il servizio inizialmente non si avviava correttamente (rimaneva in "Starting").

* Successivamente è stato avviato con successo e risulta ora **attivo**.

---

2. Creazione e gestione della directory per il socket

  • **Problema rilevato:**

* Errore: `Directory '/var/run/mysqld' for UNIX socket file don't exist.`

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
  • **Dettagli directory:**

* **Directory create:** `/var/run/mysqld` * **Permessi assegnati:** * Utente: `mysql` * Gruppo: `mysql`

  • **Esito:**

* Directory creata correttamente per il file socket.

---

3. Avvio MySQL in modalità `--skip-grant-tables`

sudo mysqld_safe --skip-grant-tables --skip-networking &
  • **Motivo:**

* Superare il problema dei privilegi per accedere al database con root senza password.

  • **Esito:**

* MySQL avviato con questa modalità.

---

4. Modifica della password di root

  • **Problemi incontrati:**

* Non è stato possibile utilizzare `ALTER USER` perché il server era in modalità `--skip-grant-tables`.

* Errore di sintassi nei tentativi iniziali.

UPDATE mysql.user SET authentication_string='Rosa!01011925' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
  • **Esito:**

* La password di root è stata aggiornata.

---

5. Problema con il plugin `auth_socket`

  • **Errore rilevato:**
ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
  • **Analisi:**

* 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.

---

6. Diagnostica del plugin per root

  • **Comando tentato (senza successo):**
SELECT User, Host, plugin FROM mysql.user WHERE User='root';

* **Errore:**

* `SELECT: command not found` perché il comando è stato eseguito fuori dal terminale MySQL.

---

7. Comandi in sospeso

  • **Risolvere il problema di `auth_socket`:**

1. Avviare MySQL con `--skip-grant-tables`.

2. Modificare il plugin di autenticazione di root:

UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
  • **Controllare i plugin disponibili:**
SELECT plugin FROM mysql.plugin;
  • **Verifica del login con root:**
mysql -u root -p

---

Schema delle directory principali coinvolte

  • **Directory socket:** `/var/run/mysqld`

* **Stato:** Creato. * **Permessi:** `mysql:mysql`.

  • **File di configurazione principale:**

* `/etc/mysql/my.cnf` * **Modifica effettuata:** `bind-address` impostato a `0.0.0.0`.

  • **Log degli errori:**

* `/var/log/mysql/error.log`

---

Se preferisci rappresentare queste informazioni in un diagramma grafico o hai bisogno di ulteriori chiarimenti, fammi sapere!