Ubuntu

Revision as of 18:05, 4 January 2025 by Gianni (talk | contribs) (Created page with "==Schema delle operazioni eseguite== <br /> ==Descrizione dettagliata degli step== ===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''': <blockquote>Configurazione iniziale del sistema. Impostazioni di rete e aggiornamenti di sistema con: <code>sudo apt update</code> <code>sudo apt...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Go to top

Schema delle operazioni eseguite


Descrizione dettagliata degli step

1. Sistema operativo (Ubuntu 22.04 LTS)

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

Configurazione iniziale del sistema.

Impostazioni di rete e aggiornamenti di sistema con:

sudo apt update

sudo apt upgrade.


Controllo Ubuntu:

Controlla la versione di Ubuntu:

parallels@ubuntu-linux-22-04-02-desktop:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.5 LTS
Release:	22.04 

Assicurati che il sistema sia aggiornato:

parallels@ubuntu-linux-22-04-02-desktop:~$ sudo apt update && sudo apt upgrade
[sudo] password for parallels: 
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Hit:2 http://us.archive.ubuntu.com/ubuntu jammy InRelease                       
Get:3 http://security.ubuntu.com/ubuntu jammy-security/main amd64 DEP-11 Metadata [43.1 kB]
Get:4 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 DEP-11 Metadata [208 B]
Get:5 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 DEP-11 Metadata [125 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Get:7 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 DEP-11 Metadata [208 B]
Get:8 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
Get:9 http://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 DEP-11 Metadata [103 kB]
Get:10 http://us.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 DEP-11 Metadata [212 B]
Get:11 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 DEP-11 Metadata [356 kB]
Get:12 http://us.archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 DEP-11 Metadata [940 B]
Get:13 http://us.archive.ubuntu.com/ubuntu jammy-backports/main amd64 DEP-11 Metadata [7,016 B]
Get:14 http://us.archive.ubuntu.com/ubuntu jammy-backports/restricted amd64 DEP-11 Metadata [212 B]
Get:15 http://us.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 DEP-11 Metadata [17.7 kB]
Get:16 http://us.archive.ubuntu.com/ubuntu jammy-backports/multiverse amd64 DEP-11 Metadata [212 B]
Fetched 1,038 kB in 2s (607 kB/s)                                     
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 


2. Installazione di MySQL

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

Installazione con il comando:

sudo apt install mysql-server.

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

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

Controllo Ubuntu:

Controlla se MySQL è installato:

parallels@ubuntu-linux-22-04-02-desktop:~$ mysql --version
mysql  Ver 8.0.40-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

Controlla lo stato del servizio MySQL:

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...
parallels@ubuntu-linux-22-04-02-desktop:~$ 

La risposta che hai riportato mostra lo stato del servizio MySQL su un sistema Ubuntu. Ecco un'analisi dettagliata:

Comando eseguito

sudo systemctl status mysql

Questo comando controlla lo stato del servizio MySQL utilizzando systemctl, uno strumento per gestire i servizi di sistema su sistemi basati su systemd.

Richiesta di password

[sudo] password for parallels:

La richiesta di password è normale quando si utilizza sudo, poiché esegue il comando con privilegi amministrativi.

Stato del servizio

● mysql.service - MySQL Community Server

Questo indica che il servizio è relativo al server MySQL Community.

Dettagli dello stato

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

Il servizio è stato caricato correttamente ed è configurato per avviarsi automaticamente al boot del sistema.

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

Lo stato è "activating," il che significa che il servizio MySQL è ancora in fase di avvio. Non è ancora completamente attivo.

Processi e risorse

  • **Processo principale:**
Main PID: 135576 (mysqld)

Il processo principale mysqld è in esecuzione.

  • **Stato del server:**
Status: "Server startup in progress"

Questo messaggio conferma che il server MySQL sta avviandosi ma non è ancora pronto per accettare connessioni.

  • **Risorse utilizzate:**
Tasks: 12 (limit: 2258)
Memory: 256.1M
CPU: 330ms

Questi valori indicano che il processo sta utilizzando 12 task, circa 256 MB di memoria, e 330 ms di CPU fino a quel momento.

Gerarchia del processo

CGroup: /system.slice/mysql.service
        └─135576 /usr/sbin/mysqld

Il processo principale è mysqld ed è collegato al gruppo di controllo /system.slice/mysql.service.

Log di avvio

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

Questo è un messaggio di log che indica che il servizio MySQL è stato avviato.

Conclusione

La risposta indica che il server MySQL è in fase di avvio (activating) ma non è ancora completamente operativo (active). Questo comportamento è normale se:

  • MySQL sta avviando un database di grandi dimensioni.
  • Ci sono operazioni di manutenzione o configurazioni particolari che richiedono tempo al momento dell'avvio.

Cosa fare se il servizio rimane "activating" troppo a lungo

  1. **Verifica ulteriori log:**
sudo journalctl -u mysql.service

Questo comando mostra i log dettagliati del servizio MySQL.

  1. **Controlla i file di configurazione:**

Assicurati che i file di configurazione di MySQL non abbiano errori:

/etc/mysql/mysql.conf.d/mysqld.cnf
  1. **Riavvia il servizio manualmente:**
sudo systemctl restart mysql
  1. **Controlla eventuali errori nel database:**

Puoi eseguire un controllo dei log di MySQL:

sudo tail -n 50 /var/log/mysql/error.log

Se tutto sembra normale e il server diventa "active" dopo un certo tempo, non è necessario intervenire ulteriormente.




3. Configurazione di MySQL

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

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

bind-address = 0.0.0.0.

Avvio di MySQL con:

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

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

---

4. Installazione di PHP

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

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

---

5. Installazione di Apache

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

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


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.

---

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.

---

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.

---


9. Risoluzione dei problemi

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

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

Permessi della directory /var/run/mysqld.

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

---

10. Testing finale

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

Test di MySQL tramite comandi SQL e connessioni al database.

Test dell’interfaccia MediaWiki tramite browser.

Connessione a Masticationpedia per la gestione collaborativa.


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


Revisione Ubunto



1. Avvio e gestione del servizio MySQL

sudo systemctl start mysql

sudo systemctl stop mysql

sudo systemctl status mysql


  • **Esito:**

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

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

---

2. Creazione e gestione della directory per il socket

  • **Problema rilevato:**

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

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

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

  • **Esito:**

* Directory creata correttamente per il file socket.

---

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

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

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

  • **Esito:**

* MySQL avviato con questa modalità.

---

4. Modifica della password di root

  • **Problemi incontrati:**

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

* Errore di sintassi nei tentativi iniziali.

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

* La password di root è stata aggiornata.

---

5. Problema con il plugin `auth_socket`

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

* Questo problema si verifica perché MySQL sta cercando di autenticare l'utente root usando il plugin `auth_socket`, che consente l'accesso solo tramite socket UNIX, ignorando la password.

---

6. Diagnostica del plugin per root

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

* **Errore:**

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

---

7. Comandi in sospeso

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

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

2. Modificare il plugin di autenticazione di root:

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

---

Schema delle directory principali coinvolte

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

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

  • **File di configurazione principale:**

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

  • **Log degli errori:**

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

---

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