Ubuntu

Revision as of 12:13, 9 January 2025 by Gianni (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Go to top

Progetto di configurazione per MediaWiki e Masticationpedia:

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 sudo apt update e sudo apt upgrade. 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 lsb_release -a, 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 sudo apt install mysql-server abbiamo avviato il processo di installazione. Subito dopo, sono emersi i primi ostacoli: problemi legati ai permessi e alla directory /var/run/mysqld. Dopo diverse verifiche e correzioni, come l'utilizzo di sudo chown mysql:mysql /var/run/mysqld, siamo riusciti a risolverli e a far funzionare correttamente il servizio MySQL, verificando il suo stato con sudo systemctl status mysql.

La configurazione di MySQL si è rivelata un passo cruciale. Abbiamo modificato il file /etc/mysql/my.cnf per consentire connessioni da qualsiasi indirizzo IP, impostando il parametro bind-address = 0.0.0.0. Per risolvere problemi di accesso e password, abbiamo avviato MySQL in modalità sicura con sudo mysqld_safe --skip-grant-tables --skip-networking. Questo approccio ci ha permesso di reimpostare password e configurazioni, superando ostacoli legati al plugin auth_socket.

Con MySQL pronto, ci siamo concentrati su PHP, indispensabile per far funzionare l'interfaccia di MediaWiki. L'installazione è stata semplice grazie al comando sudo apt install php php-mysql. Abbiamo poi verificato che il modulo mysqli fosse attivo usando php -m | grep mysqli. Questi passaggi hanno garantito la piena compatibilità tra PHP e MySQL.

Successivamente, Apache è stato configurato come server web. Dopo averlo installato con sudo apt install apache2, abbiamo abilitato il modulo mod_rewrite con sudo a2enmod rewrite e riavviato Apache. Questo passaggio era essenziale per ospitare MediaWiki e renderlo accessibile tramite browser. Abbiamo confermato che Apache fosse attivo e funzionante utilizzando sudo systemctl status apache2.

Con il server web pronto, siamo passati all'installazione di MediaWiki. Abbiamo scaricato l'ultima versione disponibile con wget https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.0.tar.gz e l'abbiamo estratta nella directory di Apache /var/www/html. La configurazione iniziale di MediaWiki è stata effettuata tramite l'interfaccia web, accessibile all'indirizzo http://localhost/mediawiki. Questo passaggio ha richiesto la creazione del file LocalSettings.php, 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 tail -f /var/log/apache2/error.log 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.

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.


Controlla la versione di Ubuntu:

parallels@ubuntu-linux-22-04-02-desktop:~$ lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 22.04.5 LTS

Release: 22.04 

 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. Assicurati che il sistema sia aggiornato:

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

[sudo] password for parallels:

Get:1 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.

 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.

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.


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:

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

 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.


Se MySQL non è installato, usa:

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.

 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.

3. Configurazione di MySQL

Descrizione: Personalizzazione del server MySQL per la gestione del database

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:

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/

 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

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

Prova a connetterti a MySQL:

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)

 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.


Se non riesci a connetterti, verifica:

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

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

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

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'

== =Revisione e modifiche= 1. Verifica la connessione di rete: Info.pngVerifica connessione con pingIl comando ping -c 4 google.com verifica la connessione al server google.com inviando 4 pacchetti ICMP. L'output mostra: 1) Indirizzo IP risolto (142.251.209.14). 2) Risposte ricevute con dettagli come ttl (time to live) e time (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. ==

parallels@ubuntu-linux-22-04-02-desktop:~$ ping -c 4 google.com

PING google.com (142.251.209.14) 56(84) bytes of data.

64 bytes from mil04s50-in-f14.1e100.net (142.251.209.14): icmp_seq=1 ttl=128 time=20.5 ms

64 bytes from mil04s50-in-f14.1e100.net (142.251.209.14): icmp_seq=2 ttl=128 time=17.4 ms

64 bytes from mil04s50-in-f14.1e100.net (142.251.209.14): icmp_seq=3 ttl=128 time=20.4 ms

64 bytes from mil04s50-in-f14.1e100.net (142.251.209.14): icmp_seq=4 ttl=128 time=18.8 ms

--- google.com ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3004ms

rtt min/avg/max/mdev = 17.444/19.270/20.462/1.254 ms

Controlla i log di apt: Info.pngLog di manutenzione del sistemaIl log mostra operazioni di manutenzione del sistema con la rimozione di pacchetti kernel. 1) linux-modules-extra-5.19.0-50-generic e linux-modules-5.19.0-50-generic 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 2025-01-04 09:43:38 e il 2025-01-04 09:43:55. Questi log documentano l'aggiornamento o la pulizia del sistema.

parallels@ubuntu-linux-22-04-02-desktop:~$ cat /var/log/apt/term.log | less

Log started: 2025-01-04  09:43:38

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

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

Removing linux-modules-5.19.0-50-generic (5.19.0-50.50) ...

Log ended: 2025-01-04  09:43:55

Aggiorna la lista dei pacchetti con un mirror alternativo: Info.pngFile di configurazione dei repository APTIl file /etc/apt/sources.list definisce i repository da cui il sistema scarica pacchetti e aggiornamenti. Contiene: 1) Repository principali (main e restricted), per software supportato ufficialmente. 2) Repository universe e multiverse per software comunitario o non libero. 3) Repository backports per pacchetti aggiornati non inclusi nel rilascio originale. 4) Repository security per aggiornamenti critici. Questo file è fondamentale per gestire i pacchetti software su Ubuntu.

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

2. Problemi con MySQL

Errore comune: Can't connect to local MySQL server through socket.

Controlla lo stato del servizio MySQL: Info.pngStato del servizio MySQLIl comando sudo systemctl status mysql 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 (activating), con lo stato "Server startup in progress". 3) Il processo principale mysqld ha il PID 172943. 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.

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

● mysql.service - MySQL Community Server

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

     Active: activating (start) since Sun 2025-01-05 10:42:35 CET; 1min 11s ago

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

   Main PID: 172943 (mysqld)

     Status: "Server startup in progress"

      Tasks: 12 (limit: 2258)

     Memory: 255.1M

        CPU: 477ms

     CGroup: /system.slice/mysql.service

             └─172943 /usr/sbin/mysqld

Verifica il log degli errori di MySQL: Info.pngErrore di blocco del file InnoDBIl comando sudo tail -n 50 /var/log/mysql/error.log mostra che MySQL non riesce a bloccare il file ibdata1, con l'errore [MY-012574] Unable to lock ./ibdata1 error: 11. 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 ps aux

parallels@ubuntu-linux-22-04-02-desktop:~$ sudo tail -n 50 /var/log/mysql/error.log

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

2025-01-05T09:45:58.238366Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.

2025-01-05T09:45:58.261113Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11

2025-01-05T09:45:59.262471Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11

2025-01-05T09:46:00.275078Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11

2025-01-05T09:46:01.302288Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11

2025-01-05T09:46:02.303078Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11

.................

Controlla i processi in esecuzione: Info.pngProcessi relativi a MySQLIl comando ps aux

parallels@ubuntu-linux-22-04-02-desktop:~$ ps aux | grep mysqld

root      114399  0.0  0.2  14352  5120 pts/0    S    05:25   0:00 sudo mysqld_safe --skip-grant-tables --skip-networking

root      114400  0.0  0.0  14352  1464 pts/1    Ss+  05:25   0:00 sudo mysqld_safe --skip-grant-tables --skip-networking

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

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

root      118991  0.0  0.2  13908  4992 pts/0    T    05:49   0:00 sudo mysqld_safe --skip-grant-tables --skip-networking

mysql     174116  0.9 14.3 734504 288512 ?       Ssl  10:49   0:00 /usr/sbin/mysqld

paralle+  174237  0.0  0.1   9212  2432 pts/0    S+   10:49   0:00 grep --color=auto mysqld

Nota di risoluzione importante:

 Info.pngGestione dei processi MySQL in modalità sicuraL'analisi dei processi MySQL mostra:1) **Processi root**: sudo mysqld_safe --skip-grant-tables --skip-networking, 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**:/usr/sbin/mysqld in modalità sicura con opzioni --skip-grant-tables e --skip-networking disabilita l'autenticazione e le connessioni standard richieste da MediaWiki.**Azioni consigliate**: 1) **Identifica i processi attivi**: Usa ps aux

Termina i processi di root duplicati:

parallels@ubuntu-linux-22-04-02-desktop:~$ sudo kill -9 114399

sudo kill -9 114400

sudo kill -9 114401

[sudo] password for parallels: *******

[1]-  Killed                  sudo mysqld_safe --skip-grant-tables --skip-networking

Termina il processo MySQL in modalità sicura:












parallels@ubuntu-linux-22-04-02-desktop:~$ sudo kill -9 114585

Conclusioni di pulitora:

parallels@ubuntu-linux-22-04-02-desktop:~$ ps aux | grep mysql


root      118991  0.0  0.2  13908  4992 pts/0    T    05:49   0:00 sudo mysqld_safe --skip-grant-tables --skip-networking


mysql     178025  2.2 19.6 1783964 393068 ?      Ssl  11:11   0:03 /usr/sbin/mysqld


paralle+  178472  0.0  0.1   9212  2432 pts/0    S+   11:13   0:00 grep --color=auto mysql

Riavvia MySQL in modalità normale

Dopo aver terminato i processi problematici, riavvia il servizio MySQL in modalità standard:

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

3. Problemi con la configurazione del file MySQL

Errore comune: Parametro bind-address mal configurato.




Verifica il contenuto del file di configurazione:  Info.pngConfigurazione di MySQL

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/

Controlla eventuali file inclusi: Info.pngFile di configurazione aggiuntivi di MySQLLa directory /etc/mysql/conf.d/ contiene configurazioni aggiuntive per MySQL, tra cui: 1) mysql.cnf, un file per configurazioni generali. 2) mysqldump.cnf, per configurare il comportamento del comando mysqldump.

parallels@ubuntu-linux-22-04-02-desktop:~$ ls /etc/mysql/conf.d/ mysql.cnf  mysqldump.cnf

4. Problemi con PHP

Errore comune: Moduli mancanti o versioni non compatibili.




Controlla la versione di PHP installata: Info.pngInformazioni sulla versione di PHPIl comando php -v mostra che PHP versione 8.1.2-1ubuntu2.20 con supporto CLI è installato. Utilizza Zend Engine v4.1.2 e ha il modulo Zend OPcache abilitato per ottimizzare le prestazioni.

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

Verifica i moduli PHP disponibili: Info.pngElenco dei moduli PHP attiviIl comando php -m elenca i moduli PHP attivi, tra cui: 1) Moduli di base come Core, mbstring, e json. 2) Moduli per database come mysqli e PDO. 3) Moduli di rete e sicurezza come openssl e sockets. Inoltre, il modulo Zend Zend OPcache è attivo per migliorare le prestazioni.

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

[PHP Modules]

calendar

Core

ctype

date

dom

exif

FFI

fileinfo

filter

ftp

gettext

hash

iconv

intl

json

libxml

mbstring

mysqli

mysqlnd

openssl

pcntl

pcre

PDO

pdo_mysql

Phar

posix

readline

Reflection

session

shmop

SimpleXML

sockets

sodium

SPL

standard

sysvmsg

sysvsem

sysvshm

tokenizer

xml

xmlreader

xmlwriter

xsl

Zend OPcache

zlib

[Zend Modules]

Zend OPcache

Verifica se mysqli è abilitato: Info.pngVerifica del modulo mysqliIl comando php -m

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

Installa i moduli mancanti: Info.pngVerifica del modulo php-mysqlIl comando sudo apt install php-mysql conferma che il modulo php-mysql è già installato nella versione più recente (2:8.1+92ubuntu1), permettendo a PHP di connettersi a database MySQL. Nessuna modifica è stata effettuata sul sistema.

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

[sudo] password for parallels:

Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

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

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

5. Problemi con Apache

Errore comune: Apache non attivo o moduli disabilitati.




Controlla lo stato del servizio Apache: Info.pngStato del servizio ApacheIl comando sudo systemctl status apache2 conferma che Apache è attivo (active (running)) da 17 ore. Il processo principale ha il PID 149151, utilizza 6 task e 13 MB di memoria. È stato avviato correttamente il 4 gennaio e ricaricato il 5 gennaio.

parallels@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 Sat 2025-01-04 18:02:49 CET; 17h ago

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

    Process: 149146 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)

    Process: 164284 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)

   Main PID: 149151 (apache2)

      Tasks: 6 (limit: 2258)

     Memory: 13.0M

        CPU: 1.109s

     CGroup: /system.slice/apache2.service

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

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

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

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

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

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

Jan 04 18:02:49 ubuntu-linux-22-04-02-desktop systemd[1]: Starting The Apache HTTP Server...

Jan 04 18:02:49 ubuntu-linux-22-04-02-desktop systemd[1]: Started The Apache HTTP Server.

Jan 05 09:58:35 ubuntu-linux-22-04-02-desktop systemd[1]: Reloading The Apache HTTP Server...

Jan 05 09:58:35 ubuntu-linux-22-04-02-desktop systemd[1]: Reloaded The Apache HTTP Server.

Verifica i log degli errori di Apache: Info.pngLog di ApacheIl comando sudo tail -n 50 /var/log/apache2/error.log mostra che Apache (versione 2.4.52) è configurato correttamente e ha ripreso le operazioni normali. Il processo principale (PID 149151) è stato avviato con il comando /usr/sbin/apache2.

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

[Sun Jan 05 09:58:35.733627 2025] [mpm_prefork:notice] [pid 149151] AH00163: Apache/2.4.52 (Ubuntu) configured -- resuming normal operations

[Sun Jan 05 09:58:35.733655 2025] [core:notice] [pid 149151] AH00094: Command line: '/usr/sbin/apache2'

Riavvia Apache:

parallels@ubuntu-linux-22-04-02-desktop:~$ sudo systemctl restart apache2

Abilita i moduli richiesti:

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

6. Problemi con MediaWiki

Errore comune: Mancanza del file LocalSettings.php.




Controlla la directory di MediaWiki: Info.pngContenuto della directory di MediaWikiLa directory /var/www/html/mediawiki/ contiene file e directory essenziali per MediaWiki: 1) File principali come index.php, api.php, e rest.php. 2) Directory per estensioni, immagini, e risorse (extensions, images, skins). 3) File di documentazione come README.md e INSTALL. Il file LocalSettings.php, necessario per la configurazione, sembra mancare.

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

api.php             composer.json               docker-compose.yml  HISTORY       index.php    load.php             README.md           SECURITY           thumb.php

autoload.php        composer.local.json-sample  docs                images        INSTALL      maintenance          RELEASE-NOTES-1.39  skins              UPGRADE

cache               COPYING                     extensions          img_auth.php  jsduck.json  mw-config            resources           tests              vendor

CODE_OF_CONDUCT.md  CREDITS                     FAQ                 includes      languages    opensearch_desc.php  rest.php            thumb_handler.php

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: Info.pngLog in tempo reale di ApacheIl comando sudo tail -f /var/log/apache2/error.log mostra eventi importanti: 1) Apache (2.4.52) è configurato e operativo (PID 149151). 2) Apache è stato arrestato con il segnale SIGWINCH e riavviato correttamente con un nuovo PID (184298). Questi eventi indicano una gestione ordinata del servizio.

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

[Sun Jan 05 09:58:35.733627 2025] [mpm_prefork:notice] [pid 149151] AH00163: Apache/2.4.52 (Ubuntu) configured -- resuming normal operations

[Sun Jan 05 09:58:35.733655 2025] [core:notice] [pid 149151] AH00094: Command line: '/usr/sbin/apache2'

[Sun Jan 05 11:48:55.676063 2025] [mpm_prefork:notice] [pid 149151] AH00170: caught SIGWINCH, shutting down gracefully

[Sun Jan 05 11:48:56.032307 2025] [mpm_prefork:notice] [pid 184298] AH00163: Apache/2.4.52 (Ubuntu) configured -- resuming normal operations

[Sun Jan 05 11:48:56.032352 2025] [core:notice] [pid 184298] AH00094: Command line: '/usr/sbin/apache2'

Installazione e configurazione MadiaWiki

Scarica la versione 1.43:

Usa il comando wget per scaricare la versione indicata:

parallels@ubuntu-linux-22-04-02-desktop:~$ wget https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.0.tar.gz

--2025-01-05 15:51:19--  https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.0.tar.gz

Resolving releases.wikimedia.org (releases.wikimedia.org)... 185.15.58.224

Connecting to releases.wikimedia.org (releases.wikimedia.org)|185.15.58.224|:443... connected.

HTTP request sent, awaiting response... 200 OK

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

Saving to: ‘mediawiki-1.43.0.tar.gz’

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

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

Estrai l'archivio scaricato: Questo creerà una directory chiamata mediawiki-1.43.0.



llels@ubuntu-linux-22-04-02-desktop:~$ tar -xvzf mediawiki-1.43.0.tar.gz




Sostituisci la directory esistente:

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:

Verifica i permessi: Assicurati che Apache possa accedere ai file:


ffffffff


2. Configurazione del database

Verifica la connessione al database: MediaWiki 1.43 dovrebbe essere compatibile con il database esistente. Accedi al database per verificare: parallels@ubuntu-linux-22-04-02-desktop:~$ mysql -u root -p Enter password: Errore

fffff

ERROR 1698 (28000): Access denied for user 'root'@'localhost'Desccrizione errore e risoluzione Errore "Access denied for user 'root'@'localhost"L'errore si verifica quando MySQL nega l'accesso all'utente root. Cause comuni includono: 1) Autenticazione tramite auth_socket, 2) Password errata, 3) Privilegi insufficienti. Soluzione: Accedi con sudo mysql, cambia il metodo di autenticazione con ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'nuova_password';, oppure resetta la password avviando MySQL in modalità sicura (mysqld_safe --skip-grant-tables). 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: ----


  1. 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 ----
  2. parallels@ubuntu-linux-22-04-02-desktop:~$ mysql -u root -p Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost' ----
  3. 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. ----
  4. 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; ----
  5. 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
  6. parallels@ubuntu-linux-22-04-02-desktop:~$ cd /var/www/html/mediawiki ----
  7. parallels@ubuntu-linux-22-04-02-desktop:/var/www/html/mediawiki$ ls -l ----


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





   


A questo punto hai già scaricato e configurato i file di MediaWiki nella directory /var/www/html/mediawiki. Ora, il prossimo passaggio è completare l'installazione e configurazione di MediaWiki tramite il browser

1. Verifica che Apache e MySQL siano in esecuzionee

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: https://httpd.apache.org/docs/2.4/

    Process: 184294 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)

   Main PID: 184298 (apache2)

      Tasks: 6 (limit: 2258)

     Memory: 12.1M

        CPU: 837ms

     CGroup: /system.slice/apache2.service

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

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

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

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

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

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

Jan 05 11:48:55 ubuntu-linux-22-04-02-desktop systemd[1]: Starting The Apache HTTP Server...

Jan 05 11:48:55 ubuntu-linux-22-04-02-desktop systemd[1]: Started The Apache HTTP Server.

● mysql.service - MySQL Community Server

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

     Active: active (running) since Sun 2025-01-05 11:15:31 CET; 6h ago

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

   Main PID: 178781 (mysqld)

     Status: "Server is operational"

      Tasks: 38 (limit: 2258)

     Memory: 366.2M

        CPU: 1min 49.336s

     CGroup: /system.slice/mysql.service

             └─178781 /usr/sbin/mysqld

Jan 05 11:15:30 ubuntu-linux-22-04-02-desktop systemd[1]: Starting MySQL Community Server...

Jan 05 11:15:31 ubuntu-linux-22-04-02-desktop systemd[1]: Started MySQL Community Server.

2. Apri il browser e accedi all'installazione

Vai al browser e digita l'indirizzo:

:

Installazione e Configurazione del 'Localsetting.php'

Cosa Fare Ora

Se devi modificare il file di configurazione di MediaWiki, il percorso corretto è:

/var/www/html/mediawiki/LocalSettings.php

Puoi aprirlo per modificarlo con un editor di testo, ad esempio:

Usando nano

sudo nano /var/www/html/mediawiki/LocalSettings.php

Usando vim

sudo vim /var/www/html/mediawiki/LocalSettings.php

Per verificare rapidamente il contenuto

cat /var/www/html/mediawiki/LocalSettings.php

Nota

  • Assicurati di avere i permessi necessari per modificare il file. Se non sei sicuro, utilizza sudo come mostrato sopra.
  • Prima di apportare modifiche, è consigliabile eseguire un backup del file:

sudo cp /var/www/html/mediawiki/LocalSettings.php /var/www/html/mediawiki/LocalSettings.php.bak

Se hai bisogno di aiuto per modificare o configurare il file, fammi sapere!


Per iniziare a settare il Mediawiki

Per entrare nella directory del MediaWiki in Ubuntu: parallels@ubuntu-linux-22-04-02-desktop:~$ cd /var/www/html/mediawiki

Per modifica necessita di un editor: parallels@ubuntu-linux-22-04-02-desktop:/var/www/html/mediawiki$ sudo nano /var/www/html/mediawiki/LocalSettings.php

[sudo] password for parallels: Rosa01011925


<?php

# This file was automatically generated by the MediaWiki 1.43.0 installer.

# Manual changes should be tracked in case you need to recreate them.

# =============================================================================

# **PROTEZIONE CONTRO ACCESSI NON AUTORIZZATI**

# =============================================================================

if ( !defined( 'MEDIAWIKI' ) ) {

    exit;

}

# =============================================================================

# **CONFIGURAZIONE DEL SITO**

# =============================================================================

$wgSitename = "Masticationpedia";

# URL base del sito e directory degli script

$wgScriptPath = "";

$wgServer = "http://10.211.55.3";

$wgResourceBasePath = $wgScriptPath;

# Configurazione del logo

$wgLogos = [

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

    'icon' => "$wgResourceBasePath/resources/assets/change-your-logo-icon.svg",

];

# =============================================================================

# **CONFIGURAZIONE EMAIL**

# =============================================================================

$wgEnableEmail = true;

$wgEnableUserEmail = true; # UPO (User Preference Option)

$wgEmergencyContact = "";  # Email di emergenza

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

# Notifiche email

$wgEnotifUserTalk = false; # Notifiche sulle discussioni utente

$wgEnotifWatchlist = false; # Notifiche sulla watchlist

$wgEmailAuthentication = true; # Richiesta autenticazione per email

# =============================================================================

# **CONFIGURAZIONE DATABASE**

# =============================================================================

$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

# 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

# Tabelle condivise

$wgSharedTables[] = "actor";

# =============================================================================

# **PRESTAZIONI E CACHE**

# =============================================================================

$wgMainCacheType = CACHE_NONE; # Nessuna cache abilitata

$wgMemCachedServers = [];      # Nessun server di memorizzazione configurato

# =============================================================================

# **CONFIGURAZIONE DEI FILE E RISORSE**

# =============================================================================

$wgEnableUploads = false;     # Caricamenti disabilitati

#$wgUseImageMagick = true;    # Abilitare ImageMagick (commentato)

#$wgImageMagickConvertCommand = "/usr/bin/convert"; # Percorso di ImageMagick

# InstantCommons

$wgUseInstantCommons = false; # Disabilita utilizzo immagini da Commons

# =============================================================================

# **LINGUA E FUSO ORARIO**

# =============================================================================

$wgLanguageCode = "it";       # Lingua del sito

$wgLocaltimezone = "Europe/Berlin"; # Fuso orario

# =============================================================================

# **SICUREZZA E CHIAVI DI CONFIGURAZIONE**

# =============================================================================

$wgSecretKey = "2157bf3f06ccf1cd0be352687f133e3fe15a7ba6a5f951bcce3ed74d18964259"; # Chiave segreta

$wgAuthenticationTokenVersion = "1";  # Versione del token di autenticazione

# =============================================================================

# **LICENZE E DIRITTI**

# =============================================================================

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

$wgRightsUrl = "";            # URL della licenza

$wgRightsText = "";           # Testo sulla licenza

$wgRightsIcon = "";           # Icona della licenza

# =============================================================================

# **SKINS (TEMI GRAFICI)**

# =============================================================================

$wgDefaultSkin = "vector-2022"; # Skin predefinita

# Skin abilitati

wfLoadSkin( 'MinervaNeue' );

wfLoadSkin( 'MonoBook' );

wfLoadSkin( 'Timeless' );

wfLoadSkin( 'Vector' );

# =============================================================================

# **ALTRE CONFIGURAZIONI**

# =============================================================================

# Aggiungere configurazioni personalizzate qui sotto.

# End of automatically generated settings.

# Add more configuration options below.


Ordine temporale per costruire un sito MediaWiki

ORDINE TEMPORALE PER COSTRUIRE IL SITO MEDIAWIKI

  1. Installazione di MediaWiki e configurazione del database
  2. Personalizzazione del file LocalSettings.php
  3. Creazione della struttura del sito e menu principale
  4. Gestione dei permessi degli utenti
  5. Configurazione delle immagini e dei file multimediali
  6. Aggiunta del supporto a LaTeX per le formule matematiche
  7. Installazione di temi (skins) e personalizzazione grafica
  8. Installazione e configurazione di estensioni utili
  9. Ottimizzazione del server e del database
  10. Testing e debugging


APPROFONDIMENTO PER OGNI FASE


1. Installazione di MediaWiki e configurazione del database

  • Cosa fare:
    1. Verifica che il tuo server (locale o remoto) abbia i requisiti necessari: PHP, MySQL/MariaDB, Apache o Nginx.
    2. Scarica l’ultima versione di MediaWiki dal sito ufficiale.
    3. Segui la procedura guidata per configurare il database:
      • Nome database: ad esempio, mediawiki_db.
      • Utente database: ad esempio, root (preferibile creare un utente dedicato).
    4. Genera il file LocalSettings.php durante l’installazione guidata.
  • Output atteso:
    • MediaWiki accessibile all’indirizzo locale, ad esempio: http://localhost/mediawiki.
  • Conferma il completamento prima di passare al passo successivo.

http://10.211.55.3/index.php/Pagina_principale


2. Personalizzazione del file LocalSettings.php

Cosa fare:

Apri il file LocalSettings.php (si trova nella directory principale di MediaWiki).

Aggiungi o modifica le seguenti configurazioni:

Abilita il caricamento delle immagini: $wgEnableUploads = true;

Configura il supporto per formule matematiche (da aggiungere in un secondo momento): $wgMathValidModes = [ "png", "mathml" ];

Imposta il nome del tuo sito: $wgSitename = "Masticationpedia";

Salva e testa le modifiche.

Output atteso:

Funzionalità base configurate correttamente.


3. Creazione della struttura del sito e menu principale

  • Cosa fare:
    1. Vai su MediaWiki:Sidebar per configurare il menu principale.
    2. Aggiungi le voci principali e i sotto-menu. Esempio:
    3. * navigation ** mainpage|Home ** scientific-community|Scientific Community ** book-index|Index of the Book ** donate|Donate ** contact|Contact
  • Approfondimenti:
    • Ogni voce del menu deve puntare a una pagina esistente. Creale prima di aggiungerle al menu.
  • Output atteso:
    • Un menu principale funzionante e ben organizzato.


4. Gestione dei permessi degli utenti

  • Cosa fare:
  • Configura i permessi degli utenti nel database o nel file LocalSettings.php.
  • Aggiungi l’utente amministratore:

php maintenance/createAndPromote.php --bureaucrat --sysop NomeUtente

  • Imposta ruoli specifici, ad esempio per caricare file o modificare l’interfaccia:

$wgGroupPermissions['sysop']['editinterface'] = true;

$wgGroupPermissions['user']['upload'] = true;

  • Output atteso:
    • Gli utenti hanno i permessi appropriati per le loro funzioni.



5. Configurazione delle immagini e dei file multimediali

  • Cosa fare:
    1. Crea la directory /images e assicurati che sia scrivibile:

sudo chmod -R 755 /var/www/html/mediawiki/images

sudo chown -R www-data:www-data /var/www/html/mediawiki/images

  • Abilita il caricamento delle immagini e configura i formati supportati in LocalSettings.php:

$wgFileExtensions = [ 'png', 'jpg', 'jpeg', 'gif', 'pdf' ];

  • Output atteso:
    • Caricamento delle immagini funzionante.

6. Aggiunta del supporto a LaTeX per le formule matematiche

  • Cosa fare:
    1. Installa LaTeX sul server:

sudo apt install texlive texlive-latex-extra

    1. Configura il supporto in LocalSettings.php:

wfLoadExtension( 'Math' );

$wgDefaultUserOptions['math'] = "mathml";

  • Output atteso:
    • Formule matematiche renderizzate correttamente.



7. Installazione di temi (skins) e personalizzazione grafica

  • Cosa fare:
    1. Installa e attiva i temi che preferisci (ad esempio Vector o Timeless):

wfLoadSkin( 'Vector' );

$wgDefaultSkin = "vector";

  1. Personalizza il layout con MediaWiki:Common.css.
  • Output atteso:
    • Grafica personalizzata e uniforme.



8. Installazione e configurazione di estensioni utili

  • Cosa fare:
    1. Installa estensioni come:
      • VisualEditor per la modifica visuale.
      • ParserFunctions per logiche avanzate.
    2. Segui le istruzioni per configurarle nel file LocalSettings.php.
  • Output atteso:
    • Funzionalità avanzate abilitate.


9. Ottimizzazione del server e del database

  • Cosa fare:
    1. Abilita la cache per migliorare le prestazioni:

$wgMainCacheType = CACHE_ACCEL;

  1. Programma backup regolari del database.
  • Output atteso:
    • Sito stabile e performante.


10. Testing e debugging

  • Cosa fare:
    1. Testa tutte le funzionalità configurate.
    2. Abilita il debug per individuare eventuali errori:

$wgShowExceptionDetails = true;

$wgShowSQLErrors = true;

  • Output atteso:
    • Nessun errore riscontrato.







1. Impostazioni Generali

Questo blocco di codice configura le impostazioni di base per il tuo wiki, incluse la gestione degli errori, la protezione contro accessi diretti, i percorsi delle risorse, le impostazioni di email e notifica, e le configurazioni principali del database. Assicurati di adeguare questi parametri alle specifiche del tuo ambiente server per garantire il corretto funzionamento del wiki.


2. Configurazioni della Base di Dati

Questa sezione del file LocalSettings.php gestisce le configurazioni relative al database di MediaWiki. Qui definisci il tipo di database, il server, il nome del database, l'utente e la password per accedere al database, oltre alle impostazioni specifiche per la gestione delle tabelle e per eventuali configurazioni di database condivisi. Modifica questi parametri in base alle tue necessità e al tuo ambiente di hosting.


3. Email e Notifiche

Questo blocco di configurazioni permette di gestire tutte le funzionalità legate all'invio di email da parte del wiki, inclusi i dettagli per la configurazione SMTP, le preferenze degli utenti relative alle notifiche via email e le impostazioni di sicurezza per l'autenticazione email. Le impostazioni SMTP qui descritte sono particolarmente importanti se il wiki invia un volume significativo di email, come notifiche di modifiche o email di conferma per le nuove registrazioni.


4. Autorizzazioni e Sicurezza

Questo blocco configura le restrizioni di base per l'editing e l'accesso al sito, le capacità degli amministratori e dei burocrati, e mette in atto misure di sicurezza per prevenire l'abuso della piattaforma da parte di utenti malintenzionati o attraverso l'uso di reti anonime come Tor. Le impostazioni includono anche la sicurezza dei cookie e misure contro script e CSS personalizzati che potrebbero essere utilizzati per attività dannose.


5. Estensioni

Questo script include l'attivazione di estensioni essenziali come VisualEditor, Echo e Scribunto, insieme a configurazioni specifiche per l'editing, la sicurezza e l'accessibilità utente. Se hai bisogno di ulteriori personalizzazioni o chiarimenti, fammi sapere!


6. Skin e Personalizzazioni dell'Interfaccia

Il tuo script per la configurazione delle skin e delle personalizzazioni in MediaWiki è ben strutturato. Qui ci sono alcuni commenti e suggerimenti:


7. Caching

Le impostazioni di caching che hai mostrato sono configurazioni per una piattaforma di gestione di contenuti come MediaWiki, che è il software dietro progetti come Wikipedia. Ecco una spiegazione dettagliata di ciascuna delle impostazioni:


8. Performance e Scalabilità

Questo script contiene configurazioni avanzate per migliorare la scalabilità, le prestazioni e la gestione del carico in un'installazione di MediaWiki. Ecco una spiegazione dettagliata delle sezioni principali:


9. Internazionalizzazione e Localizzazione

Ecco uno script chiaro e strutturato per configurare la lingua principale e le funzionalità multilingua in MediaWiki. Di seguito una breve spiegazione per ogni blocco

Configurazione revisionata per Masticationpedia locale


Dopo una descrizine dettagliata si è giunti ad una revisione e generazione di un nuovo localsetting da usare per Masticationpedia locale.

<?php

# Protect against web entry

if ( !defined( 'MEDIAWIKI' ) ) {

   exit;

}

# Error reporting (optional, uncomment for debugging)

# error_reporting( -1 );

# ini_set( 'display_errors', 1 );

# ===============================

General Settings: Configura le impostazioni fondamentali, come il nome del sito, l'URL e la lingua predefinita.

# ===============================

# Configurazioni generali per il sito, incluso il nome, l'URL di base e la lingua.

$wgSitename = "Masticationpedia"; # Nome del sito

$wgMetaNamespace = "Masticationpedia"; # Namespace principale del sito

$wgScriptPath = ""; # Path dello script del sito (es. /wiki)

$wgServer = "https://www.masticationpedia.org"; # URL del server

$wgResourceBasePath = $wgScriptPath; # Path per le risorse statiche

$wgLogos = [ '1x' => "$wgResourceBasePath/images/8/89/Logo2.png" ]; # Path del logo

$wgLanguageCode = "en"; # Lingua predefinita del sito

$wgLocaltimezone = "Europe/Berlin"; # Fuso orario locale

# ===============================

Email Settings: Gestisce le notifiche email e i contatti di emergenza.

# ===============================

# Configurazioni relative alle email inviate dal sito.

$wgEnableEmail = true; # Abilita le email

$wgEnableUserEmail = true; # Permette agli utenti di inviare email

$wgEmergencyContact = "tech@masticationpedia.org"; # Contatto di emergenza

$wgPasswordSender = "accounts@masticationpedia.org"; # Email del mittente per recupero password

$wgUsersNotifiedOnAllChanges = [ 'Demetrio_Manfrin' ]; # Utenti notificati su tutte le modifiche

$wgEmailAuthentication = true; # Richiede autenticazione email

# ===============================

Database Settings:  Definisce i parametri di connessione al database, inclusi nome e credenziali.

# ===============================

# Configurazioni per il database, inclusi nome, utente e password.

$wgDBtype = "mysql"; # Tipo di database

$wgDBserver = "localhost"; # Server del database

$wgDBname = "masticationpedia"; # Nome del database

$wgDBuser = "masticationpedia"; # Utente del database

$wgDBpassword = "!Masticationpedia1234"; # Password del database

$wgDBprefix = "mpw"; # Prefisso per le tabelle

$wgSharedDB = 'masticationpedia'; # Database condiviso

$wgSharedTables = [ 'user', 'user_properties', 'user_groups', 'actor' ]; # Tabelle condivise

# ===============================

Caching Settings: Ottimizza le prestazioni utilizzando diverse tecniche di cache.

# ===============================

# Configurazioni per migliorare le performance utilizzando la cache.

$wgMainCacheType = CACHE_ACCEL; # Tipo di cache principale

$wgMemCachedServers = []; # Server memcached

$wgUseFileCache = true; # Abilita la cache su file

$wgFileCacheDirectory = "$IP/cache"; # Directory della cache su file

# ===============================

Upload Settings: Configura le opzioni per il caricamento dei file, inclusa la dimensione massima e i tipi di file consentiti.

# ===============================

# Configurazioni per la gestione degli upload di file.

$wgEnableUploads = true; # Abilita gli upload

$wgUploadSizeWarning = 10737418240; # Avviso per dimensioni superiori (in byte)

$wgMaxUploadSize = 10737418240; # Dimensione massima upload (in byte)

$wgUseImageMagick = true; # Usa ImageMagick per la manipolazione delle immagini

$wgImageMagickConvertCommand = "/usr/bin/convert"; # Comando ImageMagick

$wgFileExtensions = array_merge(

   $wgFileExtensions, [ 'pdf', 'ppt', 'jp2', 'webp', 'doc', 'docx', 'xls', 'xlsx', 'avi', 'mp3', 'mp4', 'svg', 'mov' ]

); # Estensioni consentite per i file

# ===============================

Permissions and Groups: Controlla i diritti degli utenti anonimi e registrati, specificando i privilegi per gruppi diversi.

# ===============================

# Configurazioni sui permessi e i gruppi utente.

$wgGroupPermissions['*']['edit'] = false; # Disabilita le modifiche per gli utenti anonimi

$wgGroupPermissions['*']['read'] = true; # Permette la lettura a tutti

$wgGroupPermissions['user']['edit'] = false; # Disabilita modifiche per utenti registrati

$wgGroupPermissions['editor']['edit'] = true; # Permette modifiche agli editor

$wgGroupPermissions['sysop']['edit'] = true; # Permette modifiche agli amministratori

$wgGroupPermissions['sysop']['editinterface'] = true; # Permette modifiche all'interfaccia

$wgGroupPermissions['sysop']['editsitecss'] = true; # Permette modifiche ai CSS del sito

$wgGroupPermissions['sysop']['editsitejs'] = true; # Permette modifiche ai JS del sito

# ===============================

Extensions: Elenca e descrive le estensioni abilitate per estendere le funzionalità del sito.

# ===============================

# Caricamento delle estensioni abilitate con descrizioni.

wfLoadExtension( 'CategoryTree' ); # Abilita una rappresentazione ad albero per le categorie.

wfLoadExtension( 'Cite' ); # Consente l'uso di citazioni nei contenuti delle pagine.

wfLoadExtension( 'CodeEditor' ); # Fornisce un editor di codice avanzato per le pagine di script.

wfLoadExtension( 'Gadgets' ); # Permette agli utenti di attivare piccoli strumenti opzionali.

wfLoadExtension( 'ImageMap' ); # Abilita mappe cliccabili sulle immagini.

wfLoadExtension( 'Interwiki' ); # Gestisce collegamenti a wiki interni o esterni.

wfLoadExtension( 'MultimediaViewer' ); # Migliora la visualizzazione dei file multimediali.

wfLoadExtension( 'ParserFunctions' ); # Aggiunge funzioni logiche avanzate per i template.

wfLoadExtension( 'PdfHandler' ); # Consente l'anteprima e l'uso dei file PDF.

wfLoadExtension( 'Renameuser' ); # Permette agli amministratori di rinominare utenti.

wfLoadExtension( 'ReplaceText' ); # Consente di cercare e sostituire testo su tutto il sito.

wfLoadExtension( 'Scribunto' ); # Abilita l'uso del linguaggio Lua nei template.

wfLoadExtension( 'SpamBlacklist' ); # Blocca l'uso di link a siti nella blacklist dello spam.

wfLoadExtension( 'SyntaxHighlight_GeSHi' ); # Aggiunge evidenziazione della sintassi per il codice.

wfLoadExtension( 'TemplateData' ); # Migliora la documentazione dei template.

wfLoadExtension( 'TextExtracts' ); # Estrae automaticamente testo da una pagina.

wfLoadExtension( 'TitleBlacklist' ); # Impedisce la creazione di pagine con titoli non consentiti.

wfLoadExtension( 'VisualEditor' ); # Fornisce un editor visuale WYSIWYG per gli utenti.

wfLoadExtension( 'WikiEditor' ); # Abilita un'interfaccia avanzata per l'editing delle pagine.

# ===============================

Skins:  Presenta i temi visivi disponibili e imposta quello predefinito.

# ===============================

# Skins disponibili per il sito.

wfLoadSkin( 'MonoBook' ); # Skin classica semplice.

wfLoadSkin( 'Timeless' ); # Skin moderna e responsive.

wfLoadSkin( 'Vector' ); # Skin predefinita per molte installazioni MediaWiki.

wfLoadSkin( 'Medik' ); # Skin ottimizzata per contenuti medici.

wfLoadSkin( 'MinervaNeue' ); # Skin ottimizzata per dispositivi mobili.

$wgDefaultSkin = "minerva"; # Skin predefinita

# ===============================

Debugging and Development: Abilita strumenti di debug e configura i log per la risoluzione dei problemi.

# ===============================

# Configurazioni per il debug e lo sviluppo.

$wgShowExceptionDetails = true; # Mostra dettagli delle eccezioni

$wgShowSQLErrors = true; # Mostra errori SQL

$wgDebugToolbar = true; # Abilita la toolbar di debug

$wgDevelopmentWarnings = true; # Mostra avvisi di sviluppo

$wgDebugLogFile = "$IP/logs/debug.log"; # File di log per il debug

# Add more custom configurations below as necessary