Difference between revisions of "Ubuntu"

42,913 bytes added ,  5 months ago
no edit summary
 
(25 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.
 
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.
 
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)==
==1. Sistema operativo (Ubuntu 22.04 LTS)==


Line 26: Line 42:
<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.}}}}
<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>  
'''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>[sudo] password for parallels:</small>  


Line 89: Line 105:


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




'''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))
Line 99: Line 116:
   
   


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


<small>● mysql.service - MySQL Community Server</small>
<small>● mysql.service - MySQL Community Server</small>
Line 111: 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 129: Line 146:


'''Se MySQL non è installato, usa:'''<blockquote>
'''Se MySQL non è installato, usa:'''<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 147: Line 164:
==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 158: 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>'''Controlla il file di configurazione di MySQL:''' <blockquote><small>'''parallels@ubuntu-linux-22-04-02-desktop:'''~$ cat /etc/mysql/my.cnf</small>
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>[mysqld]</small>


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


<small># The MySQL database server configuration file.</small>
<small># The MySQL database server configuration file.</small>
Line 195: Line 211:


'''Prova a connetterti a MySQL:'''<blockquote>
'''Prova a connetterti a MySQL:'''<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>


<small>Enter password:</small>  
<small>Enter password:</small>  
Line 202: Line 218:




'''Se non riesci a connetterti, verifica:'''<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ sudo mysqld_safe --skip-grant-tables --skip-networking</small>
'''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>[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.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.}}}} ===
<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.}}}} ===
Line 223: Line 234:


==4. Installazione di PHP==
==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>.
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>
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.}}}}===
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.}}}}===
Line 406: Line 408:


Descrizione''': Connessione al server di Masticationpedia partendo dall’installazione locale.'''
Descrizione''': Connessione al server di Masticationpedia partendo dall’installazione locale.'''
Azioni''':'''
Azioni''':'''<blockquote>* Configurazione delle chiavi API di Masticationpedia (se applicabile).
 
 
<blockquote>* Configurazione delle chiavi API di Masticationpedia (se applicabile).
 
Verifica della sincronizzazione tra MediaWiki locale e Masticationpedia per esportare contenuti e configurazioni.</blockquote>
 
 


 
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.}}}}
 
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>
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:~$ tail -f /var/log/apache2/error.log</small>
Line 439: Line 432:
<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.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>
<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:'''
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>'''bind-address = 0.0.0.0'''</small>
 
<small>#</small>
 
<small># The MySQL database server configuration file.</small>
 
<small>#</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>#</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>#</small>
 
<small># For explanations see</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>#   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/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>
 
<small>xmlwriter</small>
 
<small>xsl</small>
 
<small>Zend OPcache</small>
 
<small>zlib</small>
 
<small>[Zend Modules]</small>
 
<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>
 
<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>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>[Sun Jan 05 11:48:55.676063 2025] [mpm_prefork:notice] '''[pid 149151]''' AH00170: caught SIGWINCH, shutting down gracefully</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>[Sun Jan 05 11:48:56.032352 2025] [core:notice] '''[pid 184298]''' AH00094: Command line: '/usr/sbin/apache2'</small></blockquote>


=Installazione e configurazione MadiaWiki=


==Scarica la versione 1.43:==


---






{{Rosso inizio}}da fare {{Rosso Fine}}
Usa il comando <code>wget</code> per scaricare la versione indicata:
===9. Risoluzione dei problemi===


*'''Descrizione''': Gestione degli errori durante il processo.
<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>
*'''Azioni''':


<blockquote>* Errori di MySQL (e.g., <code>auth_socket</code> non caricato).
<small>--2025-01-05 15:51:19--  <nowiki>https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.0.tar.gz</nowiki></small>


Permessi della directory <code>/var/run/mysqld</code>.
<small>Resolving releases.wikimedia.org (releases.wikimedia.org)... 185.15.58.224</small>


Modifiche ai file di configurazione come <code>my.cnf</code> e <code>LocalSettings.php</code>.</blockquote>
<small>Connecting to releases.wikimedia.org (releases.wikimedia.org)|185.15.58.224|:443... connected.</small>


---
<small>HTTP request sent, awaiting response... 200 OK</small>


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


===10. Testing finale===
<small>Saving to: ‘mediawiki-1.43.0.tar.gz’</small>


*'''Descrizione''': Verifica che l’intera infrastruttura funzioni correttamente.
<small>mediawiki-1.43.0.tar.gz                      100%[==============================================================================================>]  87.69M  5.41MB/s    in 18s     </small>
*'''Azioni''':


<blockquote>Test di MySQL tramite comandi SQL e connessioni al database.
<small>2025-01-05 15:51:37 (4.89 MB/s) - ‘mediawiki-1.43.0.tar.gz’ saved [91947888/91947888]</small></blockquote>


Test dell’interfaccia MediaWiki tramite browser.
'''Estrai l'archivio scaricato''': Questo creerà una directory chiamata <code>'''mediawiki-1.43.0'''</code>.


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




Se hai bisogno di ulteriori dettagli su uno specifico step o di personalizzare qualcosa, fammi sapere!
 
llels@ubuntu-linux-22-04-02-desktop:'''~$ tar -xvzf mediawiki-1.43.0.tar.gz'''
 
 
 
 
 
 
 
Sostituisci la directory esistente:
 
<blockquote><small>parallels@ubuntu-linux-22-04-02-desktop:'''~$ sudo mv /var/www/html/mediawiki /var/www/html/mediawiki_old'''</small>
 
<small>sudo mv mediawiki-1.43.0 /var/www/html/mediawiki</small>
 
<small>[sudo] password for parallels:</small> </blockquote>
 
'''Verifica i permessi''': Assicurati che Apache possa accedere ai file:
 
 
ffffffff
 
 
==2. Configurazione del database==
 
<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>
 
fffff
 
<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.}}
 
 
 
Passaggi fondamentali:
 
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:                                                                                                        ----
 
 
#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'''    ----
 
 
<small>
 
<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


'''sudo systemctl stop mysql'''
    Process: 178773 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)


'''sudo systemctl status mysql'''</blockquote>
   Main PID: 178781 (mysqld)


     Status: "Server is operational"


* <nowiki>**Esito:**</nowiki>
      Tasks: 38 (limit: 2258)


<nowiki>*</nowiki> Il servizio inizialmente non si avviava correttamente (rimaneva in "Starting").  
     Memory: 366.2M


<nowiki>*</nowiki> Successivamente è stato avviato con successo e risulta ora **attivo**.
        CPU: 1min 49.336s


---
     CGroup: /system.slice/mysql.service


===2. Creazione e gestione della directory per il socket===
             └─178781 /usr/sbin/mysqld


*<nowiki>**Problema rilevato:**</nowiki>
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.


<nowiki>*</nowiki> Errore: `Directory '/var/run/mysqld' for UNIX socket file don't exist.`
=== '''2. Apri il browser e accedi all'installazione''' ===
Vai al browser e digita l'indirizzo:


<syntaxhighlight lang="bash">
<nowiki>:</nowiki>
sudo mkdir -p /var/run/mysqld
==Installazione e Configurazione del 'Localsetting.php'==
sudo chown mysql:mysql /var/run/mysqld
==Cosa Fare Ora==
</syntaxhighlight>
Se devi modificare il file di configurazione di MediaWiki, il percorso corretto è:


*<nowiki>**Dettagli directory:**</nowiki>
<code>/var/www/html/mediawiki/LocalSettings.php</code>


<nowiki>*</nowiki> **Directory create:** `/var/run/mysqld`
Puoi aprirlo per modificarlo con un editor di testo, ad esempio:
<nowiki/>* **Permessi assegnati:**
<nowiki/>* Utente: `mysql`
<nowiki/>* Gruppo: `mysql`


*<nowiki>**Esito:**</nowiki>
===Usando nano===
<code>sudo nano /var/www/html/mediawiki/LocalSettings.php</code>


<nowiki>*</nowiki> Directory creata correttamente per il file socket.
===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>


===3. Avvio MySQL in modalità `--skip-grant-tables`===
==Nota==
<syntaxhighlight lang="bash">
*Assicurati di avere i permessi necessari per modificare il file. Se non sei sicuro, utilizza <code>sudo</code> come mostrato sopra.
sudo mysqld_safe --skip-grant-tables --skip-networking &
*Prima di apportare modifiche, è consigliabile eseguire un backup del file:
</syntaxhighlight>
<code>sudo cp /var/www/html/mediawiki/LocalSettings.php /var/www/html/mediawiki/LocalSettings.php.bak</code>


*<nowiki>**Motivo:**</nowiki>
Se hai bisogno di aiuto per modificare o configurare il file, fammi sapere!


<nowiki>*</nowiki> Superare il problema dei privilegi per accedere al database con root senza password.


*<nowiki>**Esito:**</nowiki>


<nowiki>*</nowiki> MySQL avviato con questa modalità.
== 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'''


===4. Modifica della password di root===
[sudo] password for parallels: Rosa01011925


*<nowiki>**Problemi incontrati:**</nowiki>


<nowiki>*</nowiki> Non è stato possibile utilizzare `ALTER USER` perché il server era in modalità `--skip-grant-tables`.
<?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/>* Errore di sintassi nei tentativi iniziali.
<nowiki>#</nowiki> =============================================================================


<syntaxhighlight lang="sql">
<nowiki>#</nowiki> **PROTEZIONE CONTRO ACCESSI NON AUTORIZZATI**
UPDATE mysql.user SET authentication_string='Rosa!01011925' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>  


*<nowiki>**Esito:**</nowiki>
<nowiki>#</nowiki> =============================================================================


<nowiki>*</nowiki> La password di root è stata aggiornata.
if ( !defined( 'MEDIAWIKI' ) ) {


---
    exit;


===5. Problema con il plugin `auth_socket`===
}


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


* <nowiki>**Analisi:**</nowiki>
<nowiki>#</nowiki> **CONFIGURAZIONE DEL SITO**


<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.
<nowiki>#</nowiki> =============================================================================


---
$wgSitename = "Masticationpedia";


=== 6. Diagnostica del plugin per root===
<nowiki>#</nowiki> URL base del sito e directory degli script


*<nowiki>**Comando tentato (senza successo):**</nowiki>
$wgScriptPath = "";
<syntaxhighlight lang="sql">
SELECT User, Host, plugin FROM mysql.user WHERE User='root';
</syntaxhighlight>


<nowiki>*</nowiki> **Errore:**
$wgServer = "<nowiki>http://10.211.55.3</nowiki>";


$wgResourceBasePath = $wgScriptPath;


<nowiki/>* `SELECT: command not found` perché il comando è stato eseguito fuori dal terminale MySQL.
<nowiki>#</nowiki> Configurazione del logo


---
$wgLogos = [


===7. Comandi in sospeso===
    '1x' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",


*<nowiki>**Risolvere il problema di `auth_socket`:**</nowiki>
    'icon' => "$wgResourceBasePath/resources/assets/change-your-logo-icon.svg",


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


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


<nowiki>#</nowiki> **CONFIGURAZIONE EMAIL**


2. Modificare il plugin di autenticazione di root:
<nowiki>#</nowiki> =============================================================================


<syntaxhighlight lang="sql">
$wgEnableEmail = true;
UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>


*<nowiki>**Controllare i plugin disponibili:**</nowiki>
$wgEnableUserEmail = true; # UPO (User Preference Option)
<syntaxhighlight lang="sql">
SELECT plugin FROM mysql.plugin;
</syntaxhighlight>


*<nowiki>**Verifica del login con root:**</nowiki>
$wgEmergencyContact = "";  # Email di emergenza
<syntaxhighlight lang="bash">
mysql -u root -p
</syntaxhighlight>


---
$wgPasswordSender = "";    # Mittente delle email di sistema


===Schema delle directory principali coinvolte===
<nowiki>#</nowiki> Notifiche email


*<nowiki>**Directory socket:** `/var/run/mysqld`</nowiki>
$wgEnotifUserTalk = false; # Notifiche sulle discussioni utente


<nowiki>*</nowiki> **Stato:** Creato.
$wgEnotifWatchlist = false; # Notifiche sulla watchlist
<nowiki/>* **Permessi:** `mysql:mysql`.
 
$wgEmailAuthentication = true; # Richiesta autenticazione per email
* <nowiki>**File di configurazione principale:**</nowiki>
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **CONFIGURAZIONE DATABASE**
 
<nowiki>#</nowiki> =============================================================================
 
$wgDBtype = "mysql";          # Tipo di database
 
$wgDBserver = "localhost";    # Server database
 
$wgDBname = "mediawiki_db";   # Nome del database
 
$wgDBuser = "root";           # Utente del database
 
$wgDBpassword = "Rosa!01011925"; # Password del database
 
<nowiki>#</nowiki> Opzioni specifiche per MySQL
 
$wgDBprefix = "Wiki";         # Prefisso per le tabelle
 
$wgDBssl = false;             # SSL disabilitato per il database
 
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary"; # Opzioni per le tabelle
 
<nowiki>#</nowiki> Tabelle condivise
 
$wgSharedTables[] = "actor";
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **PRESTAZIONI E CACHE**
 
<nowiki>#</nowiki> =============================================================================
 
$wgMainCacheType = CACHE_NONE; # Nessuna cache abilitata
 
$wgMemCachedServers = [];      # Nessun server di memorizzazione configurato
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **CONFIGURAZIONE DEI FILE E RISORSE**
 
<nowiki>#</nowiki> =============================================================================
 
$wgEnableUploads = false;     # Caricamenti disabilitati
 
<nowiki>#</nowiki>$wgUseImageMagick = true;    # Abilitare ImageMagick (commentato)
 
<nowiki>#</nowiki>$wgImageMagickConvertCommand = "/usr/bin/convert"; # Percorso di ImageMagick
 
<nowiki>#</nowiki> InstantCommons
 
$wgUseInstantCommons = false; # Disabilita utilizzo immagini da Commons
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **LINGUA E FUSO ORARIO**
 
<nowiki>#</nowiki> =============================================================================
 
$wgLanguageCode = "it";       # Lingua del sito
 
$wgLocaltimezone = "Europe/Berlin"; # Fuso orario
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **SICUREZZA E CHIAVI DI CONFIGURAZIONE**
 
<nowiki>#</nowiki> =============================================================================
 
$wgSecretKey = "2157bf3f06ccf1cd0be352687f133e3fe15a7ba6a5f951bcce3ed74d18964259"; # Chiave segreta
 
$wgAuthenticationTokenVersion = "1";  # Versione del token di autenticazione
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **LICENZE E DIRITTI**
 
<nowiki>#</nowiki> =============================================================================
 
$wgRightsPage = "";           # Pagina Wiki con informazioni sulla licenza
 
$wgRightsUrl = "";            # URL della licenza
 
$wgRightsText = "";           # Testo sulla licenza
 
$wgRightsIcon = "";           # Icona della licenza
 
<nowiki>#</nowiki> =============================================================================
 
<nowiki>#</nowiki> **SKINS (TEMI GRAFICI)**
 
<nowiki>#</nowiki> =============================================================================
 
$wgDefaultSkin = "vector-2022"; # Skin predefinita
 
<nowiki>#</nowiki> Skin abilitati
 
wfLoadSkin( 'MinervaNeue' );
 
wfLoadSkin( 'MonoBook' );
 
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,492

edits