From c00f2f8c980c6177eaa3784b073e8e55da056de1 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 21 Jun 2022 03:10:06 -0700 Subject: [PATCH 01/24] New translations database_mariadb-server.md (Italian) --- .../database/database_mariadb-server.it.md | 75 +++++++++++++++---- 1 file changed, 61 insertions(+), 14 deletions(-) diff --git a/docs/guides/database/database_mariadb-server.it.md b/docs/guides/database/database_mariadb-server.it.md index 197546641a..ecff0e27ba 100644 --- a/docs/guides/database/database_mariadb-server.it.md +++ b/docs/guides/database/database_mariadb-server.it.md @@ -1,3 +1,13 @@ +--- +title: Server di Database MariaDB +author: Steven Spencer +contributors: Ezequiel Bruni, William Perron, Franco Colussi +tested with: 8.5, 8.6, 9.0 +tags: + - database + - mariadb +--- + # Server di Database MariaDB ## Prerequisiti @@ -34,18 +44,29 @@ Poi, eseguite questo comando: `mysql_secure_installation` -Questo porta a una finestra di dialogo: +!!! hint "Suggerimento" + + La versione di mariadb-server che viene abilitata per impostazione predefinita in Rocky Linux 8.5 è la 10.3.32. È possibile installare 10.5.13 abilitando il modulo: + + ``` + dnf module enable mariadb:10.5 + ``` + + + E poi installare `mariadb`. Dalla versione 10.4.6 di MariaDB, sono disponibili comandi specifici MariaDB che puoi usare al posto dei vecchi comandi `mysql` prefissati. Questi includono il precedentemente menzionato `mysql_secure_installation` che ora può essere chiamato con la versione MariaDB `mariadb-secure-installation`. + +Viene visualizzata una finestra di dialogo: ``` NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! -In order to log into MariaDB to secure it, we'll need the current -password for the root user. If you've just installed MariaDB, and -you haven't set the root password yet, the password will be blank, -so you should just press enter here. +Per poter accedere a MariaDB per proteggerlo, abbiamo bisogno della password +corrente per l'utente root. Se hai appena installato MariaDB, e +non hai ancora impostato la password di root, la password sarà vuota, +quindi dovresti semplicemente premere invio qui. -Enter current password for root (enter for none): +Enter current password for root (enter for none): ``` Poiché questa è una nuova installazione, non c'è una password di root impostata. Quindi basta premere invio qui. @@ -58,13 +79,13 @@ OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. -Set root password? [Y/n] +Set root password? [Y/n] ``` -È' assolutamente _necessario_ avere una password di root impostata. Dovrete capire cosa dovrebbe essere e documentarlo in un gestore di password da qualche parte in modo da poterlo richiamare se necessario. Iniziate premendo 'Invio' per accettare il valore predefinito "Y". Questo farà apparire la finestra di dialogo della password: +È' assolutamente _necessario_ avere una password di root impostata. Ti consigliamo di capire cosa dovrebbe essere e documentarlo in un gestore di password da qualche parte in modo da poterlo estrarre se necessario. Iniziate premendo 'Invio' per accettare il valore predefinito "Y". Questo farà apparire la finestra di dialogo della password: ``` -New password: +New password: Re-enter new password: ``` @@ -85,7 +106,7 @@ them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. -Remove anonymous users? [Y/n] +Remove anonymous users? [Y/n] ``` La risposta qui è "Y", quindi basta premere 'Invio' per accettare l'impostazione predefinita. @@ -113,7 +134,7 @@ By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. -Remove test database and access to it? [Y/n] +Remove test database and access to it? [Y/n] ``` Di nuovo, la risposta qui è quella predefinita, quindi basta premere 'Invio' per rimuoverla. @@ -129,7 +150,7 @@ Infine, la finestra di dialogo ti chiede se vuoi ricaricare i privilegi: Reloading the privilege tables will ensure that all changes made so far will take effect immediately. -Reload privilege tables now? [Y/n] +Reload privilege tables now? [Y/n] ``` Anche in questo caso, basta premere 'Invio' per farlo. Se tutto va bene, dovreste ricevere questo messaggio: @@ -147,7 +168,33 @@ Thanks for using MariaDB! MariaDB dovrebbe ora essere pronto all'uso. -## Conclusione +### Modifiche in Rocky Linux 9.0 + +Rocky Linux 9.0 utilizza `mariadb-server-10.5.13-2` come versione predefinita di mariadb-server. A partire dalla versione 10.4.3, un nuovo plugin è abilitato automaticamente nel server che cambia la finestra di dialogo `mariadb-secure-installation`. Quel plugin è l'autenticazione `unix-socket`. [Questo articolo](https://mariadb.com/kb/en/authentication-plugin-unix-socket/) spiega bene la nuova funzione. Essenzialmente, utilizzando `unix-socket` l'autenticazione utilizza le credenziali dell'utente loggato per accedere al database. Fa in modo che se l'utente root, ad esempio, accede e quindi utilizza `mysqladmin` per creare o eliminare un database (o qualsiasi altra funzione) non viene richiesta alcuna password per l'accesso. Stesso funzionamento con `mysql`. Ciò significa anche che non c'è una password da compromettere in remoto. Questo dipende dalla sicurezza della configurazione degli utenti sul server per tutta la protezione del database. + +La seconda finestra di dialogo durante `mariadb-secure-installation` dopo l'impostazione della password per l'utente amministrativo è: + +``` +Switch to unix_socket authentication Y/n +``` -Un server di database, come _mariadb-server_, può essere usato per molti scopi. A causa della popolarità del CMS Wordpress, si trova spesso sui server web. Prima di eseguire il database in produzione, tuttavia, è una buona idea rafforzare la sua sicurezza. +Ovviamente, qui il valore predefinito è "Y", ma anche se rispondi "n", con il plugin abilitato, non è richiesta alcuna password per l'utente, almeno non dall'interfaccia a riga di comando. È possibile specificare password o nessuna password e entrambi funzionano: + +``` +mysql + +MariaDB [(none)]> +``` + +``` +mysql -p +Inserire la password: + +MariaDB [(none)]> +``` + +Per ulteriori informazioni su questa funzione, fare riferimento al link qui sopra. C'è un modo per disattivare questo plugin e tornare ad avere la password come campo obbligatorio, che è anche dettagliato all'interno di tale collegamento. + +## Conclusione +Un server di database, come _mariadb-server_, può essere usato per molti scopi. A causa della popolarità del CMS Wordpress, si trova spesso sui server web. Prima di eseguire il database in produzione, tuttavia, è una buona idea rafforzare la sua sicurezza. From a38915c1545dd8ba56448d854bce4c18f360ae67 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 21 Jun 2022 09:09:27 -0700 Subject: [PATCH 02/24] New translations 8_6.md (Italian) --- docs/release_notes/8_6.it.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release_notes/8_6.it.md b/docs/release_notes/8_6.it.md index 0184f75690..6723221301 100644 --- a/docs/release_notes/8_6.it.md +++ b/docs/release_notes/8_6.it.md @@ -17,7 +17,7 @@ Di seguito sono riportati alcuni punti salienti. ### Sicurezza * `fapolicyd`: aggiornato alla versione 1.1. Include la possibilità di utilizzare le directory `/rules.d` e `/trust.d`, la possibilità di utilizzare script `fagenrules`, e nuove opzioni per il comando `fapolicyd-cli`. - * Il server OpenSSH ora supporta le configurazioni drop in. Ciò significa che puoi usare la direttiva `Include` in `sshd_config` simile a quella ora disponibile per `ssh_config`. + * Il server OpenSSH ora supporta le configurazioni drop-in. Ciò significa che puoi usare la direttiva `Include` in `sshd_config` simile a quella ora disponibile per `ssh_config`. * pacchetto `pcsc-lite` : ribasato sulla versione upstream 1.9.5 con nuovi miglioramenti e correzioni di bug. * SELinux: Ora è possibile verificare le versioni dei moduli di policy installati utilizzando l'opzione `--checksum` con il comando `semodule`. * Pacchetti SCAP Security Guide (SSG): ribasati sulla versione 0.1.60 e i pacchetti OpenSCAP sono stati ribasati sulla versione 1.3.6. From b48bf795fcd485eae464814f5ba3c070bdc97349 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 21 Jun 2022 14:32:23 -0700 Subject: [PATCH 03/24] New translations developer_start2.md (Italian) --- .../package_management/developer_start2.it.md | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 docs/guides/package_management/developer_start2.it.md diff --git a/docs/guides/package_management/developer_start2.it.md b/docs/guides/package_management/developer_start2.it.md new file mode 100644 index 0000000000..e9f31795ac --- /dev/null +++ b/docs/guides/package_management/developer_start2.it.md @@ -0,0 +1,146 @@ +# Tutorial Sullo Sviluppo + +- [Scarica Rocky Devtools](#1-download-rocky-devtools) +- [Installa Rocky Devtools](#2-install-rocky-devtools) +- [Scarica i sorgenti RPM (rockyget)](#3-use-rocky-devtools-rockyget-to-search-for-and-download-source-rpms-srpms) +- [Costruzione dei pacchetti (rockybuild)](#4-use-rocky-devtools-rockybuild-to-build-a-new-package-for-the-rocky-os) +- [Problemi di compilazione dei pacchetti](#5-debugging-a-failed-package-build) + + +** Work in progress ** + +Rocky Devtools si riferisce a un insieme di script e utilità create dai membri della comunità Rocky Linux per aiutare il sourcing, la creazione, il branding, il patching e la creazione di pacchetti software distribuiti con il sistema operativo Rocky Linux. Rocky devtools è composto da `rockyget`, `rockybuild`, `rockypatch`, e `rockyprep`. + +A basso livello Rocky Devtools è un wrapper per l'esecuzione di alcuni programmi personalizzati e tradizionali, utilizzati per varie attività di gestione dei pacchetti. Rocky Devtools si basa molto su [`srpmproc`](https://github.com/mstg/srpmproc), `go`, `git`, e `rpmbuild`. + +Per installare e utilizzare Rocky devtools è necessario un sistema Linux moderno basato su RPM. + +Vediamo uno scenario tipico di installazione e utilizzo di devtools. + +## 1. Scarica Rocky Devtools + +Scaricare il sorgente zippato di devtools dal seguente URL: + +https://github.com/rocky-linux/devtools/archive/refs/heads/main.zip + +Qui usiamo il comando `curl`: + +``` +curl -OJL https://github.com/rocky-linux/devtools/archive/refs/heads/main.zip +``` + +Ora dovresti avere un archivio zippato chiamato `devtools-main.zip` + + +## 2. Installa Rocky Devtools + +Individuare e decomprimere l'archivio devtools che hai appena scaricato. + +Qui useremo l'utilità a riga di comando `unzip`: + +``` +unzip devtools-main.zip +``` + +Cambiate la vostra directory di lavoro nella nuova directory dei sorgenti di devtool appena creata: + +``` +cd devtools-main +``` + +Eseguire `make` per configurare e compilare devtools: + +``` +make +``` + +Installare i devtools: + +``` +sudo make install +``` + +## 3. Usare Rocky Devtools (rockyget) per cercare e scaricare i sorgenti RPM (SRPM) + +Una volta installata, l'utilità principale per trovare e scaricare gli SRPM è l'utilità `rockyget`. + +Usiamo `rockyget` per scaricare l'SRPM del popolare pacchetto `sed`: + +``` +rockyget sed +``` +La prima volta che rockyget viene eseguito, crea automaticamente una struttura di directory che imita approssimativamente la struttura dei repository dei server di compilazione di Rocky. Ad esempio, la cartella `~/rocky/rpms` verrà creata automaticamente. + +Per il nostro esempio corrente di sed, i suoi sorgenti saranno memorizzati nella seguente cartella gerarchica di esempio: + +``` +~rocky/rpms/sed/ +└── r8 + ├── SOURCES + │   ├── sed-4.2.2-binary_copy_args.patch + │   ├── sed-4.5.tar.xz + │   ├── sedfaq.txt + │   ├── sed-fuse.patch + │   └── sed-selinux.patch + └── SPECS + └── sed.spec +``` + +### SUGGERIMENTO : +Una volta che si hanno i sorgenti originali, potrebbe essere un buon momento per esaminare il file SPECs (`~rocky/rpms/sed/SPECS/specs.spec`) per cercare potenziali opportunità di debranding in un dato pacchetto. Il debranding può comprendere la sostituzione di grafica/loghi a monte e così via. + +### SUGGERIMENTO +Se state cercando altri pacchetti Rocky da compilare e sperimentare, potete consultare l'elenco dei pacchetti che attualmente non funzionano nell'ambiente di compilazione automatica di Rocky [qui](https://kojidev.rockylinux.org/koji/builds?state=3&order=-build_id) - https://kojidev.rockylinux.org/koji/builds?state=3&order=-build_id + + +## 4. Utilizzare Rocky Devtools (rockybuild) per creare un nuovo pacchetto per il sistema operativo Rocky + +Sotto il cofano, `rockybuild` chiama le utility `rpmbuild` e `mock` per costruire il pacchetto sorgente in un ambiente chroot per l'applicazione specificata nella riga di comando. Si basa sui sorgenti dell'applicazione e sul file RPM SPEC scaricato automaticamente tramite il comando `rockyget`. + +Usare `rockybuild` per creare l'utilità sed: + +``` +rockybuild sed +``` + +Il tempo necessario per completare il processo/fase di compilazione dipende dalle dimensioni e dalla complessità dell'applicazione che si sta cercando di compilare. + +Al termine dell'esecuzione di `rockybuild`, un output simile a quello qui riportato indica che la compilazione è stata completata con successo. + +``` +.......... ++ exit 0 +Finish: rpmbuild sed-4.5-2.el8.src.rpm +Finish: build phase for sed-4.5-2.el8.src.rpm +INFO: Done(~/rocky/rpms/sed/r8/SRPMS/sed-4.5-2.el8.src.rpm) Config(baseos) 4 minutes 34 seconds +INFO: Results and/or logs in: /home/centos/rocky/builds/sed/r8 +........ +``` + + +Se tutto va bene, si dovrebbe ottenere un file SRPM pronto per Rocky nella directory `~/rocky/builds/sed/r8`. + +`~/rocky/rpms/sed/r8/SRPMS/sed-4.5-2.el8.src.rpm` + + + +## 5. Debug di una compilazione di un pacchetto fallita + +Il processo rockybuild precedente genera alcuni file di log che possono essere utilizzati per il debug delle applicazioni fallite. I risultati e/o i registri del processo di compilazione sono memorizzati nella cartella `~/rocky/builds//r8`. Per esempio `~/rocky/builds/sed/r8` + + +``` +~/rocky/builds/sed/r8 +├── build.log +├── hw_info.log +├── installed_pkgs.log +├── root.log +├── sed-4.5-2.el8_3.src.rpm +├── sed-4.5-2.el8_3.x86_64.rpm +├── sed-debuginfo-4.5-2.el8_3.x86_64.rpm +├── sed-debugsource-4.5-2.el8_3.x86_64.rpm +└── state.log +``` + +I file principali in cui cercare indizi sulle cause degli errori sono build.log e root.log. Il file build.log dovrebbe riportare tutti gli errori di compilazione e il file root.log conterrà informazioni sui processi di configurazione e rimozione dell'ambiente chroot. A parità di condizioni, la maggior parte del processo di debug/troubleshooting della compilazione può essere eseguito con il contenuto del file build.log. + From a592529b25635ad19149857418bf6f08d2d39a84 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 21 Jun 2022 22:37:20 -0700 Subject: [PATCH 04/24] New translations 8_6.md (Italian) --- docs/release_notes/8_6.it.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release_notes/8_6.it.md b/docs/release_notes/8_6.it.md index 6723221301..33f8ba9ce2 100644 --- a/docs/release_notes/8_6.it.md +++ b/docs/release_notes/8_6.it.md @@ -1,5 +1,5 @@ --- -title: Release 8.6 +title: Current Release 8.6 tags: - 8.6 - 8.6 release From 4601e006f3af72944b22a01e9ac4250efed9bc92 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 00:38:57 -0700 Subject: [PATCH 05/24] New translations package_dev_start.md (Italian) --- .../package_dev_start.it.md | 147 ++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 docs/guides/package_management/package_dev_start.it.md diff --git a/docs/guides/package_management/package_dev_start.it.md b/docs/guides/package_management/package_dev_start.it.md new file mode 100644 index 0000000000..c21b6b184d --- /dev/null +++ b/docs/guides/package_management/package_dev_start.it.md @@ -0,0 +1,147 @@ +--- +title: Guida al Packaging per Sviluppatori +--- + +# Guida iniziale sul Packaging per sviluppatori + + +Rocky Devtools si riferisce a un insieme di script e utilità create dai membri della comunità Rocky Linux per aiutare il sourcing, la creazione, il branding, il patching e la creazione di pacchetti software distribuiti con il sistema operativo Rocky Linux. Rocky devtools è composto da `rockyget`, `rockybuild`, `rockypatch`, e `rockyprep`. + +A basso livello Rocky Devtools è un wrapper per l'esecuzione di alcuni programmi personalizzati e tradizionali, utilizzati per varie attività di gestione dei pacchetti. Rocky Devtools si basa molto su [`srpmproc`](https://github.com/mstg/srpmproc), `go`, `git`, e `rpmbuild`. + +Per installare e utilizzare Rocky devtools è necessario un sistema Linux moderno basato su RPM. + +Vediamo uno scenario tipico di installazione e utilizzo di devtools. + +## Dipendenze +Sono necessari diversi pacchetti sul sistema prima di poter iniziare a usare i devtools. Questi comandi sono stati testati su Rocky Linux ma dovrebbero funzionare anche su CentOS 8 / RHEL 8 +``` +dnf install git make golang +``` + +## 1. Scarica Rocky Devtools + +Scaricare il sorgente zippato di devtools dal seguente URL: + +https://github.com/rocky-linux/devtools/archive/refs/heads/main.zip + +Qui usiamo il comando `curl`: + +``` +curl -OJL https://github.com/rocky-linux/devtools/archive/refs/heads/main.zip +``` + +Ora dovresti avere un archivio zippato chiamato `devtools-main.zip` + + +## 2. Installa Rocky Devtools + +Individuare e decomprimere l'archivio devtools che hai appena scaricato. + +Qui useremo l'utilità a riga di comando `unzip`: + +``` +unzip devtools-main.zip +``` + +Cambiate la vostra directory di lavoro nella nuova directory dei sorgenti di devtool appena creata: + +``` +cd devtools-main +``` + +Eseguire `make` per configurare e compilare devtools: + +``` +make +``` + +Installare i devtools: + +``` +sudo make install +``` + +## 3. Usare Rocky Devtools (rockyget) per cercare e scaricare i sorgenti RPM (SRPM) + +Una volta installata, l'utilità principale per trovare e scaricare gli SRPM è l'utilità `rockyget`. + +Usiamo `rockyget` per scaricare l'SRPM del popolare pacchetto `sed`: + +``` +rockyget sed +``` +La prima volta che rockyget viene eseguito, crea automaticamente una struttura di directory che imita approssimativamente la struttura dei repository dei server di compilazione di Rocky. Ad esempio, la cartella `~/rocky/rpms` verrà creata automaticamente. + +Per il nostro esempio corrente di sed, i suoi sorgenti saranno memorizzati nella seguente cartella gerarchica di esempio: + +``` +~rocky/rpms/sed/ +└── r8 + ├── SOURCES + │   ├── sed-4.2.2-binary_copy_args.patch + │   ├── sed-4.5.tar.xz + │   ├── sedfaq.txt + │   ├── sed-fuse.patch + │   └── sed-selinux.patch + └── SPECS + └── sed.spec +``` + +### SUGGERIMENTO : +Una volta che si hanno i sorgenti originali, potrebbe essere un buon momento per esaminare il file SPECs (`~rocky/rpms/sed/SPECS/specs.spec`) per cercare potenziali opportunità di debranding in un dato pacchetto. Il debranding può comprendere la sostituzione di grafica/loghi a monte e così via. + +### SUGGERIMENTO +Se state cercando altri pacchetti Rocky da compilare e sperimentare, potete consultare l'elenco dei pacchetti che attualmente non funzionano nell'ambiente di compilazione automatica di Rocky [qui](https://kojidev.rockylinux.org/koji/builds?state=3&order=-build_id) - https://kojidev.rockylinux.org/koji/builds?state=3&order=-build_id + + +## 4. Utilizzare Rocky Devtools (rockybuild) per creare un nuovo pacchetto per il sistema operativo Rocky + +Sotto il cofano, `rockybuild` chiama le utility `rpmbuild` e `mock` per costruire il pacchetto sorgente in un ambiente chroot per l'applicazione specificata nella riga di comando. Si basa sui sorgenti dell'applicazione e sul file RPM SPEC scaricato automaticamente tramite il comando `rockyget`. + +Usare `rockybuild` per creare l'utilità sed: + +``` +rockybuild sed +``` + +Il tempo necessario per completare il processo/fase di compilazione dipende dalle dimensioni e dalla complessità dell'applicazione che si sta cercando di compilare. + +Al termine dell'esecuzione di `rockybuild`, un output simile a quello qui riportato indica che la compilazione è stata completata con successo. + +``` +.......... ++ exit 0 +Finish: rpmbuild sed-4.5-2.el8.src.rpm +Finish: build phase for sed-4.5-2.el8.src.rpm +INFO: Done(~/rocky/rpms/sed/r8/SRPMS/sed-4.5-2.el8.src.rpm) Config(baseos) 4 minutes 34 seconds +INFO: Results and/or logs in: /home/centos/rocky/builds/sed/r8 +........ +``` + + +Se tutto va bene, si dovrebbe ottenere un file SRPM pronto per Rocky nella directory `~/rocky/builds/sed/r8`. + +`~/rocky/rpms/sed/r8/SRPMS/sed-4.5-2.el8.src.rpm` + + + +## 5. Debug di una compilazione di un pacchetto fallita + +Il processo rockybuild precedente genera alcuni file di log che possono essere utilizzati per il debug delle applicazioni fallite. I risultati e/o i registri del processo di compilazione sono memorizzati nella cartella `~/rocky/builds//r8`. Per esempio `~/rocky/builds/sed/r8` + + +``` +~/rocky/builds/sed/r8 +├── build.log +├── hw_info.log +├── installed_pkgs.log +├── root.log +├── sed-4.5-2.el8_3.src.rpm +├── sed-4.5-2.el8_3.x86_64.rpm +├── sed-debuginfo-4.5-2.el8_3.x86_64.rpm +├── sed-debugsource-4.5-2.el8_3.x86_64.rpm +└── state.log +``` + +I file principali in cui cercare indizi sulle cause degli errori sono build.log e root.log. Il file build.log dovrebbe riportare tutti gli errori di compilazione e il file root.log conterrà informazioni sui processi di configurazione e rimozione dell'ambiente chroot. A parità di condizioni, la maggior parte del processo di debug/troubleshooting della compilazione può essere eseguito con il contenuto del file build.log. From 8a6f54eb28a235554e9a7c311e74e6b093d77a2a Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 02:06:04 -0700 Subject: [PATCH 06/24] New translations package_build_troubleshooting.md (Italian) --- .../package_build_troubleshooting.it.md | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 docs/guides/package_management/package_build_troubleshooting.it.md diff --git a/docs/guides/package_management/package_build_troubleshooting.it.md b/docs/guides/package_management/package_build_troubleshooting.it.md new file mode 100644 index 0000000000..c7b9b2b2df --- /dev/null +++ b/docs/guides/package_management/package_build_troubleshooting.it.md @@ -0,0 +1,45 @@ +--- +title: Creazione del Pacchetto & Risoluzione dei Problemi +--- + +# Per prima cosa, familiarizzare con lo strumento di costruzione Mock: + +Una volta superata, la pagina tecnica e introduttiva più importante per il nostro sforzo di debug dei pacchetti è questa: + +https://wiki.rockylinux.org/en/team/development/Mock_Build_Howto + +Stiamo usando il programma "mock" per eseguire le nostre build, proprio come farà la vera infrastruttura Rocky. Dovreste installarlo e abituarvi ad usarlo. Utilizzate questa guida per iniziare, e spiegare un po' cosa speriamo di ottenere e perché dobbiamo costruire tutti questi pacchetti in un ordine specifico. + +Leggeteli con attenzione e magari immergetevi nell'argomento alimentando il vostro mock con uno o due SRPM e compilando alcune cose. + +Mock è davvero ottimo, in quanto è un programma facile da richiamare che costruisce un intero sistema all'interno di una chroot per eseguire la compilazione, per poi ripulirlo in seguito. + +Se si vuole un riferimento per i file di configurazione Mock da guardare o con cui giocare, ce ne sono alcuni pubblicati qui (che corrispondono ai "Build Passes" che vengono fatti per testare le build dei pacchetti): https://rocky.lowend.ninja/RockyDevel/mock_configs/ + +Una volta acquisita familiarità con Mock (e soprattutto con i suoi log di output), abbiamo un elenco di pacchetti che non funzionano e per i quali dobbiamo indagare e trovare spiegazioni e/o correzioni. + + + +## Introduzione - Cosa occorre fare + +L'area in cui abbiamo più bisogno di aiuto in questo momento, e il modo più semplice per contribuire, è quello di aiutare a risolvere i problemi di compilazione dei pacchetti che falliscono. + +Stiamo ricostruendo CentOS 8.3 come "pratica", in modo da poter risolvere in anticipo eventuali problemi che si presentano con la build ufficiale di Rocky. Stiamo documentando tutti gli errori riscontrati nei pacchetti e come correggerli (per farli compilare). Questa documentazione aiuterà il nostro team di progettazione dei rilasci quando sarà il momento di realizzare le build ufficiali. + +## Contribuire al lavoro di debug: + +Una volta acquisita familiarità con Mock e soprattutto con il debug del suo output, si può iniziare a esaminare i pacchetti che falliscono. Alcune di queste informazioni sono anche nella pagina Mock HowTo mostrata sopra. + +Trovate un pacchetto non funzionante nella pagina dei fallimenti del build pass più recente (attualmente il Build Pass 10: https://wiki.rockylinux.org/en/team/development/Build_Order/Build_Pass_10_Failure) + +Assicurarsi che il pacchetto non sia già stato esaminato e/o corretto: https://wiki.rockylinux.org/en/team/development/Package_Error_Tracking + +Fai sapere agli altri debugger a cosa stai lavorando! Non vogliamo duplicare gli sforzi. Salta su chat.rockylinux.org (canale #dev/packaging) e facci sapere! + +Impostate il vostro programma di simulazione con le configurazioni più recenti che stiamo usando (linkate sopra). Si può usare per provare la compilazione nello stesso modo in cui la facciamo noi (con dipendenze esterne, repository extra, ecc.) + +Indagare sugli errori: si può usare il proprio mock, così come i file di log di quando la compilazione non è andata a buon fine, che si trovano qui: https://rocky.lowend.ninja/RockyDevel/MOCK_RAW/ + +Capire cosa sta succedendo e come risolverlo. Può assumere la forma di impostazioni speciali di mock o di una patch aggiunta al programma + specfile. Segnalate le vostre scoperte al canale #Dev/Packaging e qualcuno le registrerà nella pagina Wiki Package_Error_Tracking linkata sopra. + +L'idea è di ridurre la pagina Build Failures e di aumentare la pagina Package_Error_Tracking. Se necessario, verranno apportate delle correzioni di build al nostro repo di patch per i diversi pacchetti, che si trova qui: https://git.rockylinux.org/staging/patch. From 84471d17850c5f8f4ec5563ee306d3c799991d99 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 02:06:12 -0700 Subject: [PATCH 07/24] New translations package_debranding.md (Italian) --- .../package_debranding.it.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docs/guides/package_management/package_debranding.it.md diff --git a/docs/guides/package_management/package_debranding.it.md b/docs/guides/package_management/package_debranding.it.md new file mode 100644 index 0000000000..2917aafdec --- /dev/null +++ b/docs/guides/package_management/package_debranding.it.md @@ -0,0 +1,21 @@ +--- +title: Debranding dei Pacchetti +--- + +# Come fare il debranding del pacchetto Rocky + +Questo spiega come eseguire il debrand di un pacchetto per la distribuzione Rocky Linux. + + +Istruzioni Generali + +In primo luogo, identificare i file nel pacchetto che devono essere cambiati. Possono essere file di testo, file di immagine, o altri. È possibile identificare i file scavando in git.centos.org/rpms/PACKAGE/ + +Sviluppare dei sostituti per questi file, ma utilizzando invece il marchio Rocky. Per alcuni tipi di testo possono essere necessari anche file diff/patch, a seconda del contenuto da sostituire. + +I file di sostituzione si trovano in https://git.rockylinux.org/patch/PACKAGE/ROCKY/_supporting/ Il file di configurazione (che specifica come applicare le patch) in https://git.rockylinux.org/patch/PACKAGE/ROCKY/CFG/*.cfg + +Nota: Usa spazi, non tabulazioni. Quando srpmproc importerà il pacchetto in Rocky, si vedrà il lavoro svolto in https://git.rockylinux.org/patch/PACKAGE e applicherà le patch di debranding memorizzate leggendo i file di configurazione sotto ROCKY/CFG/*.cfg + + +da https://wiki.rockylinux.org/en/team/development/debranding/how-to From 2dcc6ad001f442ea7650f4c15a68b80fd743fc53 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 07:46:08 -0700 Subject: [PATCH 08/24] New translations package_signing.md (Italian) --- docs/guides/package_management/package_signing.it.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 docs/guides/package_management/package_signing.it.md diff --git a/docs/guides/package_management/package_signing.it.md b/docs/guides/package_management/package_signing.it.md new file mode 100644 index 0000000000..752c44f2f7 --- /dev/null +++ b/docs/guides/package_management/package_signing.it.md @@ -0,0 +1,10 @@ +--- +title: Firma del pacchetto & Testing +--- + +# Firma e testing dei pacchetti + + +Gli RPM prodotti da noi dovrebbero essere firmati crittograficamente con una chiave di Rocky Linux, che garantisce agli utenti che il pacchetto è stato compilato dal progetto Rocky Linux. + +Il pacchetto dovrà anche essere sottoposto ad alcuni test - preferibilmente automatizzati. La natura dei test deve ancora essere determinata, ma vorremo fare almeno qualche controllo di correttezza prima di rilasciarlo nel mondo. (Questo pacchetto è installabile? Abbiamo perso accidentalmente dei file? Causa conflitti di dipendenze in dnf/yum? etc.) From 7cbc5af8fe4a091cfd1bd2691669632d6e012849 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 09:01:22 -0700 Subject: [PATCH 09/24] New translations basic_network_configuration.md (Italian) --- .../network/basic_network_configuration.it.md | 307 +++++++++++++----- 1 file changed, 219 insertions(+), 88 deletions(-) diff --git a/docs/guides/network/basic_network_configuration.it.md b/docs/guides/network/basic_network_configuration.it.md index 7ab0e2c033..fdfae8235e 100644 --- a/docs/guides/network/basic_network_configuration.it.md +++ b/docs/guides/network/basic_network_configuration.it.md @@ -1,16 +1,23 @@ --- title: Configurazione della Rete +author: unknown +contributors: Steven Spencer, Franco Colussi +tested with: 8.5 +tags: + - networking + - configuration + - network --- # Configurazione della Rete ## Prerequisiti -* Una certa comodità nell'operare dalla linea di comando +* Una certa comodità nell'operare dalla riga di comando * Privilegi elevati o amministrativi sul sistema (per esempio root, sudo e così via) * Opzionale: familiarità con i concetti di rete -# Introduzione +## Introduzione Oggi un computer senza connettività di rete è quasi inutile da solo. Sia che abbiate bisogno di aggiornare i pacchetti su un server o semplicemente di navigare su siti Web esterni dal vostro portatile - avrete bisogno di un accesso alla rete! @@ -20,44 +27,49 @@ Questa guida mira a fornire agli utenti di Rocky Linux le conoscenze di base su A livello utente, lo stack di rete è gestito da *NetworkManager*. Questo strumento funziona come un servizio, e potete controllare il suo stato con il seguente comando: - systemctl status NetworkManager +```bash +systemctl status NetworkManager +``` ### File di configurazione -NetworkManager applica semplicemente una configurazione letta dai file trovati in `/etc/sysconfig/network-scripts/ifcfg-`. Ogni interfaccia di rete ha il suo file di configurazione. L'esempio seguente nella configurazione predefinita per un server: - - TYPE=Ethernet - PROXY_METHOD=none - BROWSER_ONLY=no - BOOTPROTO=none - DEFROUTE=yes - IPV4_FAILURE_FATAL=no - IPV6INIT=no - NAME=ens18 - UUID=74c5ccee-c1f4-4f45-883f-fc4f765a8477 - DEVICE=ens18 - ONBOOT=yes - IPADDR=192.168.0.1 - PREFIX=24 - GATEWAY=192.168.0.254 - DNS1=192.168.0.254 - DNS2=1.1.1.1 - IPV6_DISABLED=yes - -Il nome dell'interfaccia è **ens18** quindi il nome di questo file sarà `/etc/sysconfig/network-scripts/ifcfg-ens18`. - -**Suggerimento:** -Ci sono alcuni modi o meccanismi con cui si possono assegnare ai sistemi le loro informazioni di configurazione IP. I 2 metodi più comuni sono: schema di **configurazione IP statico** e schema di **configurazione IP dinamico**. - -Lo schema di configurazione IP statico è molto popolare nei sistemi o nelle reti di classe server. - -L'approccio IP dinamico è popolare nelle reti domestiche e d'ufficio - o nei sistemi di classe workstation e desktop. Lo schema dinamico di solito ha bisogno di _qualcosa_ in più che sia disponibile localmente e che possa fornire informazioni di configurazione IP adeguate alle workstation e ai desktop richiedenti. Questo _qualcosa_ si chiama Dynamic Host Configuration Protocol (DHCP). +NetworkManager applica semplicemente una configurazione letta dai file trovati in `/etc/sysconfig/network-scripts/ifcfg-`. Ogni interfaccia di rete ha il suo file di configurazione. Di seguito è riportato un esempio di configurazione predefinita di un server: + +```bash +TYPE=Ethernet +PROXY_METHOD=none +BROWSER_ONLY=no +BOOTPROTO=none +DEFROUTE=yes +IPV4_FAILURE_FATAL=no +IPV6INIT=no +NAME=ens18 +UUID=74c5ccee-c1f4-4f45-883f-fc4f765a8477 +DEVICE=ens18 +ONBOOT=yes +IPADDR=192.168.0.1 +PREFIX=24 +GATEWAY=192.168.0.254 +DNS1=192.168.0.254 +DNS2=1.1.1.1 +IPV6_DISABLED=yes +``` + +Il nome dell'interfaccia è **enp1s0** quindi il nome di questo file sarà `/etc/sysconfig/network-scripts/ifcfg-enp1s0`. + +!!! hint "**Suggerimenti:**" + + Ci sono alcuni modi o meccanismi con cui i sistemi possono essere assegnati alle loro informazioni di configurazione IP. I due metodi più comuni sono: lo schema **Configurazione IP statica** e lo schema **Configurazione IP dinamica**. + + Lo schema di configurazione IP statico è molto popolare nei sistemi o nelle reti di classe server. + + L'approccio IP dinamico è popolare nelle reti domestiche e d'ufficio - o nei sistemi di classe workstation e desktop. Lo schema dinamico di solito ha bisogno di _qualcosa_ in più che sia disponibile localmente e che possa fornire informazioni di configurazione IP adeguate alle stazioni di lavoro e ai desktop richiedenti. Questo _qualcosa_ si chiama Dynamic Host Configuration Protocol (DHCP). Molto spesso, gli utenti di casa/ufficio non devono preoccuparsi o conoscere il DHCP. Questo perché qualcuno o qualcos'altro se ne sta occupando automaticamente in background. L'unica cosa che l'utente finale deve fare è connettersi fisicamente o senza fili alla rete giusta (e naturalmente assicurarsi che i suoi sistemi siano accesi)! -#### Indirizzo IP +#### Indirizzi IP -Nel precedente elenco `/etc/sysconfig/network-scripts/ifcfg-ens18`, vediamo che il valore del parametro o chiave `BOOTPROTO` è impostato su `none`. Questo significa che il sistema che si sta configurando è impostato su uno schema di indirizzo IP statico. +Nel precedente elenco `/etc/sysconfig/network-scripts/ifcfg-enp1s0`, vediamo che il valore del parametro o chiave `BOOTPROTO` è impostato su `none`. Questo significa che il sistema che si sta configurando è impostato su uno schema di indirizzo IP statico. Se invece volete configurare il sistema per usare uno schema di indirizzo IP dinamico, dovrete cambiare il valore del parametro `BOOTPROTO` da `none` a `dhcp` e rimuovere anche le linee `IPADDR`, `PREFIX` e `GATEWAY`. Questo è necessario perché tutte queste informazioni saranno ottenute automaticamente da qualsiasi server DHCP disponibile. @@ -76,49 +88,135 @@ Per ottenere una corretta risoluzione del nome, devono essere impostati i seguen * DNS1: indirizzo IP del nameserver principale * DNS2: l'indirizzo IP del nameserver secondario +#### Controllo della configurazione -### Applicare la configurazione - -Per applicare la configurazione della rete, si può usare il comando `nmcli`: +Potete controllare che la configurazione sia stata applicata correttamente con il seguente comando `nmcli`: - nmcli connection up ens18 +```bash +[user@server ~]$ sudo nmcli device show enp1s0 +``` -Per ottenere lo stato della connessione, usate semplicemente +che dovrebbe darvi il seguente output: - nmcli connection show +```conf +GENERAL.DEVICE: enp1s0 +GENERAL.TYPE: ethernet +GENERAL.HWADDR: 6E:86:C0:4E:15:DB +GENERAL.MTU: 1500 +GENERAL.STATE: 100 (connecté) +GENERAL.CONNECTION: enp1s0 +GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1 +WIRED-PROPERTIES.CARRIER: marche +IP4.ADDRESS[1]: 10.0.0.10/24 +IP4.GATEWAY: 10.0.0.1 +IP4.ROUTE[1]: dst = 10.0.0.0/24, nh = 0.0.0.0, mt = 100 +IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 10.0.0.1, mt = 100 +IP4.DNS[1]: 10.0.0.1 +IP4.DNS[2]: 1.1.1.1 +IP6.GATEWAY: -- +``` + +### CLI + +La funzione primaria di NetworkManager è quella di gestire le "connessioni" che mappano un dispositivo fisico a componenti di rete più logici come un indirizzo IP e impostazioni DNS. Per visualizzare le connessioni esistenti mantenute da NetworkManager, è possibile eseguire `nmcli connection show`. + +```bash +[user@server ~]$ sudo nmcli connection show +NAME UUID TYPE DEVICE +enp1s0 625a8aef-175d-4692-934c-2c4a85f11b8c ethernet enp1s0 +``` + +Dall'output precedente, possiamo determinare che NetworkManager gestisce una connessione (`NAME`) chiamata `enp1s0` che si riferisce al dispositivo fisico (`DEVICE`) `enp1s0`. + +!!! hint "Nome connessione" + + In questo esempio, sia la connessione che il dispositivo condividono lo stesso nome, ma questo potrebbe non essere sempre il caso. È comune vedere una connessione chiamata `System eth0` che viene mappata su un dispositivo chiamato `eth0`, per esempio. + +Ora che conosciamo il nome della nostra connessione, possiamo visualizzare le sue impostazioni. Per fare questo, usa il comando `nmcli connection show [connection]`, che stamperà tutte le impostazioni di NetworkManager registrate per la connessione specificata. + +```bash +[user@server ~]$ sudo nmcli connection show enp1s0 +... +ipv4.method: auto +ipv4. ns: -- +ipv4. ns-search: -- +ipv4. ns-options: -- +ipv4. ns-priority: 0 +ipv4. ddresses: -- +ipv4. ateway: -- +ipv4. outes: -- +ipv4. oute-metric: -1 +ipv4. oute-table: 0 (unspec) +ipv4. outing-rules: -- +ipv4. gnore-auto-routes: no +ipv4. gnore-auto-dns: no +ipv4. hcp-client-id: -- +ipv4. hcp-iaid: -- +ipv4. hcp-timeout: 0 (predefinito) +ipv4. hcp-send-hostname: sì +... +``` + +Lungo la colonna di sinistra, vediamo il nome dell'impostazione e giù a destra vediamo il valore. + +Ad esempio, possiamo vedere che il metodo `ipv4.method` qui è attualmente impostato su `auto`. Ci sono molti valori consentiti per l'impostazione `ipv4.method` , ma i due principali che molto probabilmente vedrai sono: + +* `auto`: per l'interfaccia viene utilizzato il metodo automatico appropriato (DHCP, PPP, ecc.) e la maggior parte delle altre proprietà possono essere lasciate non impostate. +* `manual`: viene utilizzato un indirizzamento IP statico e almeno un indirizzo IP deve essere indicato nella proprietà 'addresses'. + +Se invece si desidera configurare il sistema in modo che utilizzi uno schema di indirizzi IP statici, è necessario modificare il valore di `ipv4.method` in `manual` e specificare anche `ipv4.gateway` e `ipv4.addresses`. + +Per modificare un'impostazione, è possibile utilizzare il comando nmcli `nmcli connection modify [connection] [setting] [value]`. + +```bash +# set 10.0.0.10 as the static ipv4 address +[user@server ~]$ sudo nmcli connection modify enp1s0 ipv4.addresses 10.0.0.10 + +# set 10.0.0.1 as the ipv4 gateway +[user@server ~]$ sudo nmcli connection modify enp1s0 ipv4.gateway 10.0.0.1 + +# change ipv4 method to use static assignments (set in the previous two commands) +[user@server ~]$ sudo nmcli connection modify enp1s0 ipv4.method manual +``` + +!!!hint "Quando viene aggiornata la connessione?" + + `nmcli connection modify` non modificherà la configurazione *runtime*, ma aggiorna i file di configurazione `/etc/sysconfig/network-scripts` con i valori appropriati in base a quello che hai detto a `nmcli` di configurare. + +Per configurare i server DNS con NetworkManager tramite la CLI, è possibile modificare l'impostazione `ipv4.dns`. + +```bash +# set 10.0.0.1 and 1.1.1.1 as the primary and secondary DNS servers +[user@server ~]$ sudo nmcli connection modify enp1s0 ipv4.dns '10.0.0.1 1.1.1.1' +``` -Puoi anche usare i comandi `ifup` e `ifdown` per portare l'interfaccia su e giù (sono semplici wrapper intorno a `nmcli`): +### Applicare la configurazione - ifup ens18 - ifdown ens18 +Per applicare la configurazione di rete, è possibile utilizzare il comando `nmcli connection up [connection]`. -### Controllo della configurazione +```bash +[user@server ~]$ sudo nmcli connection up enp1s0 +Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2) +``` -Potete controllare che la configurazione sia stata applicata correttamente con il seguente comando `nmcli`: +Per ottenere lo stato della connessione, usate semplicemente: - nmcli device show ens18 +```bash +[user@server ~]$ sudo nmcli connection show +NAME UUID TYPE DEVICE +enp1s0 625a8aef-175d-4692-934c-2c4a85f11b8c ethernet enp1s0 +``` -che dovrebbe darvi il seguente output: +Puoi anche usare i comandi `ifup` e `ifdown` per portare l'interfaccia su e giù (sono semplici wrapper intorno a `nmcli`): - GENERAL.DEVICE: ens18 - GENERAL.TYPE: ethernet - GENERAL.HWADDR: 6E:86:C0:4E:15:DB - GENERAL.MTU: 1500 - GENERAL.STATE: 100 (connecté) - GENERAL.CONNECTION: ens18 - GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1 - WIRED-PROPERTIES.CARRIER: marche - IP4.ADDRESS[1]: 192.168.0.1/24 - IP4.GATEWAY: 192.168.0.254 - IP4.ROUTE[1]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt = 100 - IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.0.254, mt = 100 - IP4.DNS[1]: 192.168.0.254 - IP4.DNS[2]: 1.1.1.1 - IP6.GATEWAY: -- +```bash +[user@server ~]$ sudo ifup enp1s0 +[user@server ~]$ sudo ifdown enp1s0 +``` ## Usare l'utilità ip -Il comando `ip` (fornito dal pacchetto *iproute2* ) è un potente strumento per ottenere informazioni e configurare la rete di un moderno sistema Linux come Rocky Linux. +Il comando `ip` (fornito dal pacchetto *iproute2*) è un potente strumento per ottenere informazioni e configurare la rete di un moderno sistema Linux come Rocky Linux. In questo esempio, assumeremo i seguenti parametri: @@ -131,11 +229,14 @@ In questo esempio, assumeremo i seguenti parametri: Per vedere lo stato dettagliato di tutte le interfacce, usate - ip a +```bash +ip a +``` + +!!! hint "**"Suggerimenti:**" -**Suggerimenti professionali:** -* usare il flag `-c` per ottenere un output colorato più leggibile: `ip -c a`. -* `ip` accetta l'abbreviazione quindi `ip a`, `ip addr` e `indirizzo ip` sono equivalenti + * usare il flag `-c` per ottenere un output colorato più leggibile: `ip -c a`. + * `ip` accetta l'abbreviazione quindi `ip a`, `ip addr` e `ip address` sono equivalenti ### Porta l'interfaccia su o giù @@ -145,38 +246,52 @@ Per portare l'interfaccia *ens19* su, usate semplicemente `ip link set ens19 up` Il comando da usare è della forma: - ip addr add dev +```bash +ip addr add dev +``` Per assegnare i parametri dell'esempio precedente, useremo: - ip a add 192.168.20.10/24 dev ens19 +```bash +ip a add 192.168.20.10/24 dev ens19 +``` Poi, controllando il risultato con: - ip a show dev ens19 +```bash +ip a show dev ens19 +``` produrrà un output: +```bash 3: ens19: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 4a:f2:f5:b6:aa:9f brd ff:ff:ff:ff:ff:ff inet 192.168.20.10/24 scope global ens19 valid_lft forever preferred_lft forever +``` La nostra interfaccia è pronta e configurata, ma manca ancora qualcosa! ### Usare l'utilità ifcfg -Per aggiungere all'interfaccia *ens19* il nostro nuovo indirizzo IP di esempio, usate il seguente comando: +Per aggiungere l'interfaccia *ens19* del nostro nuovo indirizzo IP di esempio, usate il seguente comando: - ifcfg ens19 add 192.168.20.10/24 +```bash +ifcfg ens19 add 192.168.20.10/24 +``` Per rimuovere l'indirizzo: - ifcfg ens19 del 192.168.20.10/24 +```bash +ifcfg ens19 del 192.168.20.10/24 +``` Per disabilitare completamente l'indirizzamento IP su questa interfaccia: - ifcfg ens19 stop +```bash +ifcfg ens19 stop +``` *Si noti che questo non porta l'interfaccia giù, semplicemente rimuove l'assegnazione di tutti gli indirizzi IP dall'interfaccia.* @@ -184,11 +299,15 @@ Per disabilitare completamente l'indirizzamento IP su questa interfaccia: Ora che l'interfaccia ha un indirizzo, dobbiamo impostare il suo percorso predefinito, questo può essere fatto con: - ip route add default via 192.168.20.254 dev ens19 +```bash +ip route add default via 192.168.20.254 dev ens19 +``` La tabella di routing del kernel può essere visualizzata con - ip route +```bash +ip route +``` o `ip r` in breve. @@ -198,33 +317,45 @@ A questo punto, dovreste avere la vostra interfaccia di rete attiva e correttame Facendo *il ping* di un altro indirizzo IP nella stessa rete (useremo `192.168.20.42` come esempio): - ping -c3 192.168.20.42 +```bash +ping -c3 192.168.20.42 +``` Questo comando emetterà 3 *ping* (noto come richiesta ICMP) e aspetterà una risposta. Se tutto è andato bene, dovreste ottenere questo output: - PING 192.168.20.42 (192.168.20.42) 56(84) bytes of data. - 64 bytes from 192.168.20.42: icmp_seq=1 ttl=64 time=1.07 ms - 64 bytes from 192.168.20.42: icmp_seq=2 ttl=64 time=0.915 ms - 64 bytes from 192.168.20.42: icmp_seq=3 ttl=64 time=0.850 ms - - --- 192.168.20.42 ping statistics --- - 3 packets transmitted, 3 received, 0% packet loss, time 5ms - rtt min/avg/max/mdev = 0.850/0.946/1.074/0.097 ms +```bash +PING 192.168.20.42 (192.168.20.42) 56(84) bytes of data. +64 bytes from 192.168.20.42: icmp_seq=1 ttl=64 time=1.07 ms +64 bytes from 192.168.20.42: icmp_seq=2 ttl=64 time=0.915 ms +64 bytes from 192.168.20.42: icmp_seq=3 ttl=64 time=0.850 ms + +--- 192.168.20.42 ping statistics --- +3 packets transmitted, 3 received, 0% packet loss, time 5ms +rtt min/avg/max/mdev = 0.850/0.946/1.074/0.097 ms +``` Poi, per assicurarsi che la vostra configurazione di routing sia a posto, provate a *fare un ping* a un host esterno, come questo noto resolver DNS pubblico: - ping -c3 8.8.8.8 +```bash +ping -c3 8.8.8.8 +``` Se la tua macchina ha diverse interfacce di rete e vuoi fare una richiesta ICMP attraverso un'interfaccia specifica, puoi usare la flag `-I`: - ping -I ens19 -c3 192.168.20.42 +```bash +ping -I ens19 -c3 192.168.20.42 +``` Ora è il momento di assicurarsi che la risoluzione DNS funzioni correttamente. Come promemoria, la risoluzione DNS è un meccanismo utilizzato per convertire i nomi delle macchine a misura d'uomo nei loro indirizzi IP e viceversa (reverse DNS). Se il file `/etc/resolv.conf` indica un server DNS raggiungibile, allora il seguente dovrebbe funzionare: - host rockylinux.org +```bash +host rockylinux.org +``` Il risultato dovrebbe essere: - rockylinux.org has address 76.76.21.21 +```bash +rockylinux.org has address 76.76.21.21 +``` From 396cf835736c9d1a5643bcde6dd3bb056cede6e8 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 09:58:49 -0700 Subject: [PATCH 10/24] New translations basic_network_configuration.md (Italian) --- docs/guides/network/basic_network_configuration.it.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/network/basic_network_configuration.it.md b/docs/guides/network/basic_network_configuration.it.md index fdfae8235e..dd67228d46 100644 --- a/docs/guides/network/basic_network_configuration.it.md +++ b/docs/guides/network/basic_network_configuration.it.md @@ -179,7 +179,7 @@ Per modificare un'impostazione, è possibile utilizzare il comando nmcli `nmcli [user@server ~]$ sudo nmcli connection modify enp1s0 ipv4.method manual ``` -!!!hint "Quando viene aggiornata la connessione?" +!!! hint "Quando viene aggiornata la connessione?" `nmcli connection modify` non modificherà la configurazione *runtime*, ma aggiorna i file di configurazione `/etc/sysconfig/network-scripts` con i valori appropriati in base a quello che hai detto a `nmcli` di configurare. From 44114a553ebb1b832fa2baa5daf7855a0e14332c Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 12:26:12 -0700 Subject: [PATCH 11/24] New translations micro.md (Italian) --- docs/guides/editors/micro.it.md | 85 +++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 docs/guides/editors/micro.it.md diff --git a/docs/guides/editors/micro.it.md b/docs/guides/editors/micro.it.md new file mode 100644 index 0000000000..dcdd4a1a11 --- /dev/null +++ b/docs/guides/editors/micro.it.md @@ -0,0 +1,85 @@ +--- +title: micro +author: Ezequiel Bruni +contributors: Steven Spencer, Franco Colussi +tested version: 8.5 +tags: + - editor + - editors + - micro +--- + +# Installare micro su Rocky Linux + +## Introduzione + +*[micro](https://micro-editor.github.io)* è un piccolo e fantastico editor di testo basato su terminale che si colloca tra *nano* e *vim* in termini di complessità. Ha un flusso di lavoro semplice e facilmente riconoscibile, con diverse caratteristiche straordinarie: + +* Tutti i consueti comandi "Control-C", "Control-V" e "Control-F" funzionano come in un editor di testo basato su desktop. Naturalmente, tutte le associazioni di tasti possono essere reimpostate. +* Supporto del mouse — fare clic e trascinare per selezionare il testo, fare doppio clic per selezionare le parole, fare triplo clic per selezionare le righe. +* Oltre 75 lingue supportate con evidenziazione della sintassi per impostazione predefinita. +* Cursori multipli per modificare più righe alla volta. +* Include un sistema di plugin. +* Pannelli multipli. + +Ed ecco come appare nel mio terminale: + +![Una schermata del editor di testo micro](images/micro-text-editor.png) + +!!! Note "Nota" + + È possibile installare micro tramite un'applicazione snap. Se si utilizza già snap sulla macchina... Voglio dire... perché no? Ma io preferisco prenderlo direttamente dalla fonte. + +## Prerequisiti + +* Qualsiasi macchina o contenitore Rocky Linux connesso a Internet. +* Conoscenza di base della riga di comando e desiderio di modificare il proprio testo. +* Alcuni comandi dovranno essere eseguiti come root o con `sudo`. + +### Come Installare micro + +Questa è forse la guida più semplice che ho scritto finora, con esattamente tre comandi. Per prima cosa, ci si assicura che *tar* e *curl* siano installati. Questo dovrebbe essere rilevante solo se si sta eseguendo un'installazione minimale di Rocky o se lo si esegue all'interno di un contenitore. + +```bash +sudo dnf install tar curl +``` + +Successivamente, è necessario il programma di installazione dal sito web di *micro*. Il seguente comando otterrà il programma di installazione e lo eseguirà nella directory in cui si sta lavorando. So che di solito non consigliamo di copiare e incollare i comandi dai siti web, ma questo non mi ha mai dato problemi. + +```bash +curl https://getmic.ro | bash +``` + +Per installare l'applicazione a livello di sistema (in modo da poter semplicemente digitare "micro" per aprirla), si può eseguire lo script come root all'interno di `/usr/bin/`. Tuttavia, se volete prima controllare e procedere con cautela, potete installare *micro* in qualsiasi cartella vogliate, per poi spostare l'applicazione in un secondo momento: + +```bash +sudo mv micro /usr/bin/ +``` + +E questo è quanto! Buon editing del testo. + +### Il Modo Più Semplice + +Ho creato uno script semplicissimo che in pratica esegue tutti questi comandi. Potete trovarlo nel mio [gist di Github](https://gist.github.com/EzequielBruni/0e29f2c0a63500baf6fe9e8c51c7b02f) e copiare/incollare il testo in un file sul vostro computer, oppure scaricarlo con `wget`. + +## Disinstallazione di micro + +Andate nella cartella in cui avete installato *micro* e (usando i vostri poteri divini di root, se necessario) eseguite: + +```bash +rm micro +``` + +Inoltre, *micro* lascerà alcuni file di configurazione nella vostra home directory (e nelle home directory di ogni utente che lo ha eseguito). È possibile eliminarli con: + +```bash +rm -rf /home/[nomeutente]/.config/micro +``` + +## Conclusione + +Se volete una guida completa all'uso di *micro*, consultate il [sito web principale](https://micro-editor.github.io) e la documentazione nella [repo di Github](https://github.com/zyedidia/micro/tree/master/runtime/help). È anche possibile premere "Control-G" per aprire il file di guida principale all'interno dell'applicazione stessa. + +probabilmente*micro* non soddisferà le esigenze di coloro che si sono dedicati all'esperienza di *vim* o *emacs*, ma è perfetto per le persone come me. Ho sempre desiderato l'esperienza del vecchio Sublime Text nel terminale e ora ho qualcosa di *veramente* vicino. + +Provate e vedete se funziona per voi. From 93fb8b897cb07b4b722eceecfb4783231d6f8f97 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 13:57:02 -0700 Subject: [PATCH 12/24] New translations index.md (Italian) --- .../web/apache_hardened_webserver/index.it.md | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/docs/guides/web/apache_hardened_webserver/index.it.md b/docs/guides/web/apache_hardened_webserver/index.it.md index e9a6876a04..28e9bc1ee9 100644 --- a/docs/guides/web/apache_hardened_webserver/index.it.md +++ b/docs/guides/web/apache_hardened_webserver/index.it.md @@ -1,6 +1,17 @@ -# Irrobustire il Webserver Apache +--- +title: Rinforzare il Webserver Apache +author: Steven Spencer +contributors: Ezequiel Bruni, Franco Colussi +tested with: 8.5 +tags: + - apache + - web + - security +--- -## Prerequisiti e presupposti +# Rinforzare il Webserver Apache + +## Prerequisiti e Presupposti * Un web server Rocky Linux con in esecuzione Apache * Un livello di comfort elevato con l'immissione di comandi dalla riga di comando, registri di visualizzazione e altri compiti generali di amministratore di sistema @@ -26,7 +37,7 @@ Si potrebbe scegliere di utilizzare un paio di questi strumenti, e non gli altri * Un Web based Application Firewall (WAF), con regole _mod\_security_ [Rafforzamento Apache Web Server - mod_security](modsecurity.md) * Rootkit Hunter (rkhunter): uno strumento di scansione che controlla i malware di Linux [Rafforzammento Apache Web Server - rkhunter](rkhunter.md) * Sicurezza del database (qui stiamo usando _mariadb-server_) [Server database MariaDB](../../database/database_mariadb-server.md) -* Un server FTP o SFTP sicuro (qui stiamo usando _vsftpd_) [Server FTP Secure - vsftpd](../../file_sharing/secure_ftp_server_vsftpd.md) +* Un server FTP o SFTP sicuro (stiamo usando _vsftpd_ qui) [Server FTP Secure - vsftpd](../../file_sharing/secure_ftp_server_vsftpd.md) ma abbiamo anche _sftp_ e procedure di blocco SSH [qui](../../file_sharing/sftp.md) Questa procedura non sostituisce l'impostazione [Impostazione Multi-Sito Apache](../apache-sites-enabled.md), ma aggiunge semplicemente questi elementi di sicurezza. Se non lo hai letto, prenditi del tempo per guardarlo prima di procedere. @@ -36,7 +47,7 @@ Alcuni degli strumenti delineati qui hanno l'opzione sia gratuita che a pagament Sappiate anche che la maggior parte di queste opzioni possono essere acquistate come apparecchiature hardware. Se preferisci non preoccuparti d'installare e mantenere il tuo sistema, ci sono altre opzioni disponibili oltre a quelle descritte qui. -Questo documento usa un firewall _iptables_ diretto e richiede [questa procedura su Rocky Linux per disabilitare firewalld e abilitare i servizi iptables](../../security/enabling_iptables_firewall.md). +Questo documento usa un firewall _iptables_ diretto e richiede [questa procedura su Rocky Linux per disabilitare firewalld e abilitare i servizi iptables](../../security/enabling_iptables_firewall.md). Da quando questo documento è stato scritto per la prima volta, abbiamo ora un paio di eccellenti guide su _firewalld_; una che permette a chi ha già una conoscenza di _iptables_ di trasferire ciò che sa a _firewalld_ [qui](../../security/firewalld.md), e una più dedicata ai principianti [qui](../../security/firewalld-beginners.md). Se preferisci usare _firewalld_, salta semplicemente questo passaggio e applica le regole necessarie. Il firewall nei nostri esempi qui, non ha bisogno di catene OUTPUT o FORWARD, solo INPUT. Le tue esigenze possono essere diverse! @@ -49,7 +60,7 @@ Spiegare ciò richiede di approfondire nel firewall hardware mostrato di seguito ## Convenzioni * **Indirizzi IP:** Qui stiamo simulando l'indirizzo IP pubblico con un blocco privato: 192.168.1.0/24 e stiamo usando il blocco di indirizzi IP della LAN come 10.0.0.0/24 In altre parole, non può essere instradato su Internet. In realtà, nessuno dei due blocchi IP può essere instradato su Internet perché sono entrambi riservati all'uso privato, ma non c'è un buon modo per simulare il blocco IP pubblico, senza usare un indirizzo IP reale che è assegnato a qualche azienda. Basta ricordare che per i nostri scopi, il blocco 192.168.1.0/24 è il blocco IP "pubblico" e il 10.0.0.0/24 è il blocco IP "privato". -* **Hardware Firewall:** Questo è il firewall che controlla l'accesso ai vostri dispositivi della sala server dalla vostra rete fidata. Questo non è lo stesso del nostro firewall _iptables_, anche se potrebbe essere un'altra istanza di _iptables_ in esecuzione su un'altra macchina. Questo dispositivo permetterà a ICMP (ping) e SSH (shell sicura) di utilizzare i nostri dispositivi affidabili. La definizione di questo dispositivo non rientra nel campo di applicazione del presente documento. L'autore ha usato sia [PfSense](https://www.pfsense.org/) che [OPNSense](https://opnsense.org/) e installato su hardware dedicato a questo dispositivo con grande successo. Questo dispositivo avrà due indirizzi IP assegnati. Uno che si collegherà all'IP pubblico simulato del router Internet (192.168.1.2) e uno che si collegherà alla nostra rete locale, 10.0.0.1. +* **Hardware Firewall:** Questo è il firewall che controlla l'accesso ai vostri dispositivi della sala server dalla vostra rete fidata. Questo non è lo stesso del nostro firewall _iptables_, anche se potrebbe essere un'altra istanza di _iptables_ in esecuzione su un'altra macchina. Questo dispositivo permetterà a ICMP (ping) e SSH (shell sicura) di utilizzare i nostri dispositivi affidabili. La definizione di questo dispositivo non rientra nel campo di applicazione del presente documento. L'autore ha usato sia [PfSense](https://www.pfsense.org/) che [OPNSense](https://opnsense.org/) e installato su hardware dedicato a questo dispositivo con grandi risultati. Questo dispositivo avrà due indirizzi IP assegnati. Uno che si collegherà all'IP pubblico simulato del router Internet (192.168.1.2) e uno che si collegherà alla nostra rete locale, 10.0.0.1. * **Internet Router IP:** Lo stiamo simulando con 192.168.1.1/24 * **Web Server IP:** Questo è l'indirizzo IP "pubblico" assegnato al nostro server web. Ancora una volta, stiamo simulando questo con l'indirizzo IP privato 192.168.1.10/24 @@ -80,8 +91,7 @@ e il contenuto sarà: # Unless specified, the defaults for OUTPUT is ACCEPT # The default for FORWARD and INPUT is DROP # -echo " clearing any existing rules and setting default policy.." -iptables -F INPUT +echo " clearing any existing rules and setting default policy.." iptables -F INPUT iptables -P INPUT DROP iptables -A INPUT -p tcp -m tcp -s 192.168.1.2 --dport 22 -j ACCEPT iptables -A INPUT -p icmp -m icmp --icmp-type 8 -s 192.168.1.2 -j ACCEPT @@ -129,7 +139,7 @@ Dobbiamo eseguire /etc/firewall.conf: `/etc/firewall.conf` -Se aggiungiamo nuove regole al file /etc/firewall.conf, basta eseguirlo di nuovo per rendere quelle regole attive. Tenete a mente che con una politica DROP di default per la catena INPUT, se fate un errore, potreste chiudervi fuori da remoto. +È sempre possibile risolvere questo problema, tuttavia, dalla console sul server. Tenete a mente che con una politica DROP di default per la catena INPUT, se fate un errore, potreste chiudervi fuori da remoto. È sempre possibile risolvere questo problema, tuttavia, dalla console sul server. Poiché il servizio _iptables_ è abilitato, un riavvio ripristinerà tutte le regole che sono state aggiunte con `/etc/firewall.conf`. From 08d54de0b8aecae39d1d721f1f52d8dcacd65702 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 13:57:04 -0700 Subject: [PATCH 13/24] New translations modsecurity.md (Italian) --- .../modsecurity.it.md | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/guides/web/apache_hardened_webserver/modsecurity.it.md b/docs/guides/web/apache_hardened_webserver/modsecurity.it.md index 94ed391913..5ee5f5f209 100644 --- a/docs/guides/web/apache_hardened_webserver/modsecurity.it.md +++ b/docs/guides/web/apache_hardened_webserver/modsecurity.it.md @@ -1,10 +1,22 @@ +--- +title: Firewall applicativo basato sul web (WAF) +author: Steven Spencer +contributors: Ezequiel Bruni, Franco Colussi +tested with: 8.5 +tags: + - web + - security + - apache + - nginx +--- + # Applicazione Firewall basato sul Web (WAF) ## Prerequisiti * Un Rocky Linux con in esecuzione un Web Server Apache * Competenza con un editor a riga di comando (stiamo usando _vi_ in questo esempio) -* Un livello di comfort elevato con l'immissione di comandi dalla riga di comando, registri di visualizzazione e altri compiti generali di amministratore di sistema +* Un livello di comfort elevato con l'immissione di comandi dalla riga di comando, la visualizzazione dei log e altri compiti generali di amministratore di sistema * Una comprensione che l'installazione di questo strumento richiede anche il monitoraggio delle azioni e la messa a punto del vostro ambiente * Un account sul sito WAF di Comodo * Tutti i comandi sono eseguiti come utente root o sudo @@ -25,7 +37,7 @@ Per installare il pacchetto base, utilizzare questo comando che installerà le d `dnf install mod_security wget` -## Impostazione del tuo account Comodo +## Impostazione del Tuo Account Comodo Per impostare il tuo account gratuito, vai al [sito WAF di Comodo](https://waf.comodo.com/), e clicca sul link "Signup" nella parte superiore della pagina. Vi sarà richiesto di impostare le informazioni del nome utente e della password, ma non sarà effettuata alcuna fatturazione con carta di credito o altro. @@ -57,7 +69,7 @@ Questo estrarrà il programma di installazione e inizierà il processo, con un'e `No web host management panel found, continue in 'standalone' mode? [y/n]:` -Digita "y" e lascia che lo script continui. +Puoi anche ricevere questa nota: Puoi anche ricevere questa nota: @@ -188,12 +200,12 @@ Ora salva le tue modifiche (con vi è `SHIFT+:+wq!`) e riavvia httpd: `systemctl restart httpd` -Se httpd inizia OK, allora sei pronto per iniziare a usare _mod\_security_ con il CWAF. +Se httpd si avvia OK, allora sei pronto per iniziare a usare _mod\_security_ con il CWAF. ## Conclusione -_mod\_security_ con CWAF è un altro strumento che può essere utilizzato per rendere più robusto un server web Apache. Perché le password di CWAF richiedono punteggiatura e perché l'installazione standalone non invia la punteggiatura correttamente, la gestione delle regole CWAF richiede l'accesso al sito CWAF e il download di regole e modifiche. +_mod\_security_ con CWAF è un altro strumento che può essere utilizzato per rendere più robusto un server web Apache. Poichè le password di CWAF richiedono punteggiatura e perché l'installazione standalone non invia la punteggiatura correttamente, la gestione delle regole CWAF richiede l'accesso al sito CWAF e il download di regole e modifiche. _mod\_security_, come altri strumenti di rinforzo, ha il potenziale di risposte false-positive, così si deve essere pronti a sintonizzare questo strumento per la vostra installazione. -Come altre soluzioni menzionate nella guida [Irrobustire Apache Web Server](index.md), ci sono altre soluzioni gratuite e a pagamento per le regole _mod\_security_, e per questo, altre applicazioni WAF disponibili. Puoi dare un'occhiata a uno di questi sul sito di [_Atomicorp_ mod\_security](https://atomicorp.com/atomic-modsecurity-rules/). +Come altre soluzioni menzionate nella guida [Rinforare Apache Web Server](index.md), ci sono altre soluzioni gratuite e a pagamento per le regole _mod\_security_, e per questo, altre applicazioni WAF disponibili. Puoi dare un'occhiata a uno di questi sul sito di [Atomicorp_ mod\_security_](https://atomicorp.com/atomic-modsecurity-rules/). From 7d86ae9bee73aa63806291ca776f1f7989255212 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 13:57:08 -0700 Subject: [PATCH 14/24] New translations php.md (Italian) --- docs/guides/web/php.it.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/guides/web/php.it.md b/docs/guides/web/php.it.md index f3d229c994..26cc0aad1e 100644 --- a/docs/guides/web/php.it.md +++ b/docs/guides/web/php.it.md @@ -2,7 +2,11 @@ title: PHP e PHP-FPM author: Antoine Le Morvan contributors: Steven Spencer, Franco Colussi -update: 09-Feb-2022 +tested with: 8.5 +tags: + - web + - php + - php-fpm --- # PHP e PHP-FPM From 9830e7f3433dc9e718ba0cc2dcdecb737ce1be69 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 13:57:10 -0700 Subject: [PATCH 15/24] New translations ossec-hids.md (Italian) --- .../web/apache_hardened_webserver/ossec-hids.it.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/guides/web/apache_hardened_webserver/ossec-hids.it.md b/docs/guides/web/apache_hardened_webserver/ossec-hids.it.md index 482061c45c..b4d9f682cc 100644 --- a/docs/guides/web/apache_hardened_webserver/ossec-hids.it.md +++ b/docs/guides/web/apache_hardened_webserver/ossec-hids.it.md @@ -1,7 +1,13 @@ --- -title: Host-based Intrustion Detection System (HIDS) -author: Steven Spencer -contributors: Ezequiel Bruni, Franco Colussi update: Feb-28-2022 +title: Intrustion Detection System (HIDS) basato sull'host +author: Steven Spencer +contributors: Ezequiel Bruni, Franco Colussi +tested with: 8.5 +tags: + - web + - security + - ossec-hids + - hids --- # Sistema Intrusion Detection System (HIDS) basato sull'Host @@ -142,7 +148,7 @@ Una volta fatte tutte le modifiche di configurazione necessarie, basta abilitare `systemctl enable ossec-hids` -E quindi: +E poi: `systemctl start ossec-hids` From 446941b82c9a5251b9e8d9146943f2f63d453e56 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 22 Jun 2022 22:42:16 -0700 Subject: [PATCH 16/24] New translations index.md (Italian) --- docs/guides/package_management/index.it.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 docs/guides/package_management/index.it.md diff --git a/docs/guides/package_management/index.it.md b/docs/guides/package_management/index.it.md new file mode 100644 index 0000000000..ae6708b3cd --- /dev/null +++ b/docs/guides/package_management/index.it.md @@ -0,0 +1,11 @@ +--- +title: Introduzione +--- + +# Introduzione + +Questa sezione della documentazione è dedicata alla compilazione dei pacchetti. + +!!! caution + + I documenti in questa sezione sono più vecchi e probabilmente hanno bisogno di una riscrittura. Se usi queste istruzioni e hai problemi, segnala i problemi in modo che questi documenti possano essere modificati correttamente. Puoi segnalare qualsiasi problema [qui](https://chat.rockylinux.org/rocky-linux/channels/documentation). From e8d141f47b70f1ad37c99c0506c409bce1a1aa6c Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 23 Jun 2022 01:46:08 -0700 Subject: [PATCH 17/24] New translations rkhunter.md (Italian) --- .../apache_hardened_webserver/rkhunter.it.md | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/docs/guides/web/apache_hardened_webserver/rkhunter.it.md b/docs/guides/web/apache_hardened_webserver/rkhunter.it.md index 7d4cfd991b..e800f71d06 100644 --- a/docs/guides/web/apache_hardened_webserver/rkhunter.it.md +++ b/docs/guides/web/apache_hardened_webserver/rkhunter.it.md @@ -1,10 +1,21 @@ +--- +title: Rootkit Hunter +author: Steven Spencer +contributors: Ezequiel Bruni, Franco Colussi +tested with: 8.5 +tags: + - server + - security + - rkhunter +--- + # Rootkit Hunter ## Prerequisiti * Un Rocky Linux con in esecuzione un Web Server Apache * Competenza con un editor a riga di comando (stiamo usando _vi_ in questo esempio) -* Un livello di comfort elevato con l'immissione di comandi dalla riga di comando, registri di visualizzazione e altri compiti generali di amministratore di sistema +* Un livello di comfort elevato con l'immissione di comandi dalla riga di comando, la visualizzazione dei log e altri compiti generali di amministratore di sistema * È utile una comprensione di ciò che può innescare una risposta ai file modificati sul file system (come gli aggiornamenti dei pacchetti) * Tutti i comandi sono eseguiti come utente root o sudo @@ -40,11 +51,11 @@ Rimuovi il commento qui e cambia il me@mydomain.com per rispecchiare il tuo indi Quindi cambia root@mydomain in root@whatever_the_server_name_is. -Potrebbe anche essere necessario impostare [Postfix Email for Reporting](../../email/postfix_reporting.md) per far funzionare correttamente la sezione e-mail. +Potrebbe anche essere necessario impostare [Email Postfix per la Segnalazione](../../email/postfix_reporting.md) per far funzionare correttamente la sezione e-mail. ## Eseguire rkhunter -_rkhunter_ può essere eseguito digitandolo alla riga di comando. C'è un cron job installato per te in `/etc/cron.daily`, ma se vuoi automatizzare la procedura su una programmazione diversa, guarda la guida [Automating cron jobs](../../automation/cron_jobs_howto.md). +_rkhunter_ può essere eseguito digitandolo alla riga di comando. C'è un cron job installato per te in `/etc/cron.daily`, ma se vuoi automatizzare la procedura su una programmazione diversa, guarda la guida [Automatizzare i lavori di cron](../../automation/cron_jobs_howto.md). Avrai anche bisogno di spostare lo script da qualche parte diversa da `/etc/cron.daily`, come `/usr/local/sbin` e poi chiamarlo dal tuo cron job personalizzato. Il metodo più semplice, naturalmente, è quello di lasciare intatta la configurazione predefinita di cron.daily. @@ -56,8 +67,8 @@ Per eseguire _rkhunter_ manualmente: `rkhunter --check` -Questo riecheggerà sullo schermo man mano che i controlli vengono eseguiti, chiedendovi di `[Premere per continuare]` dopo ogni sezione. +Questo ritornerà sullo schermo man mano che vengono eseguiti i controlli, richiedendo di `[Press to continue]` dopo ogni sezione. ## Conclusione -_rkhunter_ è una parte di una strategia server rinforzato che può aiutare a monitorare il file system e a segnalare qualsiasi problema all'amministratore. È forse uno degli strumenti di rafforzamento più facili da installare, configurare ed eseguire. +_rkhunter_ è una parte di una strategia di rinforzo del server che può aiutare a monitorare il file system e a segnalare qualsiasi problema all'amministratore. È forse uno degli strumenti di rafforzamento più facili da installare, configurare ed eseguire. From f0d9f6be9fae78730ca5b5b5eb9799842a1cc62c Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 23 Jun 2022 01:46:10 -0700 Subject: [PATCH 18/24] New translations apache-sites-enabled.md (Italian) --- docs/guides/web/apache-sites-enabled.it.md | 28 +++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/docs/guides/web/apache-sites-enabled.it.md b/docs/guides/web/apache-sites-enabled.it.md index c63e03680f..5fffafedf7 100644 --- a/docs/guides/web/apache-sites-enabled.it.md +++ b/docs/guides/web/apache-sites-enabled.it.md @@ -1,14 +1,24 @@ --- -title: Impostazione Multi-Sito Apache +title: Apache Multisito +author: Steven Spencer +contributors: Ezequiel Bruni, Franco Colussi +tested with: 8.5 +tags: + - web + - apache + - multisite --- -# Configurazione multi-sito del server web Apache +# Configurazione Multi-sito del Server Web Apache ## Cosa ti serve * Un server con Rocky Linux * Conoscenza degli editor di testo a riga di comando (Questo esempio usa *vi*, ma può essere adattato al tuo editor preferito.) - * Se vuoi saperne di più sull'editor di testo vi, [ecco un pratico tutorial](https://www.tutorialspoint.com/unix/unix-vi-editor.htm). + + !!! hint "Suggerimento" + Se vuoi saperne di più sull'editor di testo vi, [ecco un pratico tutorial](https://www.tutorialspoint.com/unix/unix-vi-editor.htm). + * Conoscenze di base sull'installazione e l'esecuzione di servizi web ## Introduzione @@ -17,6 +27,8 @@ Rocky Linux ha molti modi per impostare un sito web. Questo è solo un metodo, u Fatto storico: questa configurazione del server sembra essere iniziata con sistemi basati su Debian, ma è perfettamente adattabile a qualsiasi sistema operativo Linux con Apache. +Per coloro che cercano una configurazione simile per Nginx, date [un'occhiata a questa guida](nginx-multisite.md) + ## Installare Apache Probabilmente avrete bisogno di altri pacchetti per il vostro sito web. Per esempio, una versione di PHP sarà quasi certamente richiesta, e forse anche un database o altri pacchetti saranno necessari. Installando PHP insieme a httpd otterrai l'ultima versione di entrambi dai repository di Rocky Linux. @@ -26,7 +38,7 @@ Ricorda solo che potresti aver bisogno anche di moduli, come forse php-bcmath o ## Aggiungi Directories Extra -Questo metodo usa un paio di directory aggiuntive, ma attualmente non esistono sul sistema. Dobbiamo aggiungere due directory in */etc/httpd/* chiamate "sites-available" e "sites-enabled." +Questo metodo usa un paio di directory aggiuntive, ma attualmente queste non esistono sul sistema. Dobbiamo aggiungere due directory in */etc/httpd/* chiamate "sites-available" e "sites-enabled." * Dalla riga di comando digita `mkdir /etc/httpd/sites-available` e poi `mkdir /etc/httpd/sites-enabled` @@ -41,12 +53,12 @@ I nostri attuali file di configurazione risiederanno in */etc/httpd/sites-availa La ragione qui è abbastanza semplice. Diciamo che avete 10 siti web che girano tutti sullo stesso server su diversi indirizzi IP. Diremo anche, che il sito B ha alcuni importanti aggiornamenti, e si devono apportare modifiche alla configurazione per quel sito. Diciamo anche che c'è qualcosa di sbagliato con le modifiche fatte, quindi quando riavvii httpd per leggere le nuove modifiche, httpd non si avvia. -Non solo il sito su cui stavi lavorando non partirà, ma nemmeno gli altri. Con questo metodo, puoi semplicemente rimuovere il link simbolico per il sito che ha causato il guasto e riavviare httpd. Comincerà a funzionare di nuovo, e si può andare a lavorare, cercando di sistemare la configurazione del sito guasto. +Non solo il sito su cui stavi lavorando non partirà, ma nemmeno gli altri. Con questo metodo, puoi semplicemente rimuovere il link simbolico per il sito che ha causato il guasto e riavviare httpd. Comincerà a funzionare di nuovo, e si può andare a lavorare, cercando di sistemare la configurazione del sito malfunzionante. Sicuramente toglie la pressione, sapendo che il telefono non suonerà con qualche cliente arrabbiato, o un capo arrabbiato, perché un servizio è off-line. ### La Configurazione Del Sito -L'altro vantaggio di questo metodo è che ci permette di specificare completamente tutto al di fuori del file predefinito httpd.conf. Lascia che il file httpd.conf di default carichi le impostazioni predefinite, e lascia che le configurazioni del tuo sito facciano tutto il resto. Bello, vero? Inoltre, di nuovo, rende molto facile risolvere i problemi di configurazione di un sito guasto. +L'altro vantaggio di questo metodo è che ci permette di specificare completamente tutto al di fuori del file predefinito httpd.conf. Lascia che il file httpd.conf di default carichi le impostazioni predefinite, e lascia che le configurazioni del tuo sito facciano tutto il resto. Bello, vero? Inoltre, di nuovo, rende molto facile risolvere i problemi di configurazione di un sito mal funzionante. Ora, diciamo che avete un sito web che carica un wiki. Avrete bisogno di un file di configurazione, che rende il sito disponibile tramite la porta 80. @@ -88,7 +100,7 @@ Nel nostro esempio sopra, il sito wiki è caricato dalla sotto-directory "html" `mkdir -p /var/www/sub-domains/com.ourownwiki.www/html` -... che creerà l'intero percorso con un singolo comando. Successivamente vorremmo installare i nostri file in questa directory che effettivamente eseguirà il sito web. Questo potrebbe essere qualcosa che hai fatto tu stesso, o un'applicazione web installabile (in questo caso un wiki che hai scaricato). +... che creerà l'intero percorso con un singolo comando. Poi vogliamo installare i nostri file in questa directory che servirà a far funzionare il sito web. Questo potrebbe essere qualcosa che hai fatto tu stesso, o un'applicazione web installabile (in questo caso il wiki che hai scaricato). Copia i tuoi file nel percorso sopra: @@ -132,7 +144,7 @@ cp /root/com.wiki.www.csr /var/www/sub-domains/com.ourownwiki.www/ssl/ssl.csr/ cp /root/com.wiki.www.crt /var/www/sub-domains/com.ourownwiki.www/ssl/ssl.crt/ ``` -### Ottenere il Certificato di Let's Encrypt +### La Configurazione del Sito - https Una volta che hai generato le tue chiavi e acquistato il certificato SSL, puoi ora andare avanti con la configurazione del sito web utilizzando le tue nuove chiavi. From e4a1b46e170bcf763f120092b74fee2b1915565d Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 23 Jun 2022 03:05:08 -0700 Subject: [PATCH 19/24] New translations 8-changelog.md (Chinese Simplified) --- docs/release_notes/8-changelog.zh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release_notes/8-changelog.zh.md b/docs/release_notes/8-changelog.zh.md index 682e58f724..42b1a80f5e 100644 --- a/docs/release_notes/8-changelog.zh.md +++ b/docs/release_notes/8-changelog.zh.md @@ -7,7 +7,7 @@ tags: - 变更日志 --- -# Rocky Linux 8 更改日志 +# Rocky Linux 8 变更日志 随着上游的构建和推送自己的版本,Rocky Linux 8 将随着时间的推移逐步接收到增量更新以及次要版本升级。 此页面将提供发生更改时的详细信息。 对于运行着Rocky Linux的系统,可以通过运行`dnf update`命令随时更新他们的系统。 本文档的更新有时可能会延迟, 要检查是否有新的更新,您可以访问邮件列表归档——[Rocky Announce](https://lists.resf.org/archives/list/rocky-announce@lists.resf.org/)。 From c9e06c9187d70fea741701a9161fbc4cdf219ed0 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 23 Jun 2022 05:03:28 -0700 Subject: [PATCH 20/24] New translations nginx-mainline.md (Italian) --- docs/guides/web/nginx-mainline.it.md | 109 +++++++++++++-------------- 1 file changed, 51 insertions(+), 58 deletions(-) diff --git a/docs/guides/web/nginx-mainline.it.md b/docs/guides/web/nginx-mainline.it.md index 718b0e397c..c0a5c785e6 100644 --- a/docs/guides/web/nginx-mainline.it.md +++ b/docs/guides/web/nginx-mainline.it.md @@ -1,18 +1,21 @@ --- title: Nginx author: Ezequiel Bruni -contributors: Antoine Le Morvan, Steven Spencer +contributors: Antoine Le Morvan, Steven Spencer, Franco Colussi tested with: 8.5 +tags: + - nginx + - web --- # Come installare il più recente Nginx su Rocky Linux ## Introduzione -Per dare credito a ciò che è dovuto, non mi è venuto in mente niente di tutto questo. In particolare, questa guida è fortemente basata su [quella di Joshua James](https://www.linuxcapable.com/how-to-install-latest-nginx-mainline-on-rocky-linux-8/) su [LinuxCapable](https://www.linuxcapable.com). Andate a leggere il suo sito qualche volta, c'è un sacco di roba interessante. Adesso, su questa guida (beginner-friendly): - *Nginx* è un server web progettato per essere veloce, efficiente e compatibile con qualsiasi cosa si possa immaginare. Personalmente lo uso un po' e — una volta che ci si prende la mano — è in realtà abbastanza facile da impostare e configurare. Ecco un breve riassunto delle caratteristiche principali; Nginx è/ha/può essere: +Ecco una breve panoramica dei modi in cui Nginx si distingue e delle sue caratteristiche: + * Un server web di base (si spera) * Un reverse proxy per dirigere il traffico verso più siti * Un bilanciatore di carico integrato per gestire il traffico verso più siti web @@ -21,9 +24,7 @@ Per dare credito a ciò che è dovuto, non mi è venuto in mente niente di tutto * Supporto FastCGI * E, naturalmente, IPv6 -È fantastico! Quindi basta `sudo dnf install nginx`, giusto? Beh, non esattamente. **I repository di Rocky Linux non hanno l'ultima versione pronta per la produzione di Nginx.** Poiché l'obiettivo di Rocky Linux è quello di essere compatibile bug per bug con Red Hat Enterprise Linux, si può sempre chiedere a Red Hat di aggiornare i loro repository. O chiedere alla gente di *Nginx* potrebbe funzionare meglio (vedrete cosa intendo). - -Quello che *tu* puoi fare, in questo momento, è installare il ramo "mainline" di Nginx da solo. Ha tutti gli ultimi aggiornamenti e strumenti, e (a mio avviso) una struttura di directory più semplice per i suoi file di configurazione. Ecco come vedere tutto questo da soli: +È fantastico! Quindi basta `sudo dnf install nginx`, giusto? Beh, non esattamente. È sufficiente abilitare prima il modulo giusto, per attivare il ramo "mainline", in modo da avere l'ultima versione di Nginx. !!! Note "Nota" @@ -37,7 +38,7 @@ Quello che *tu* puoi fare, in questo momento, è installare il ramo "mainline" d Ci sarà un tutorial alla fine di questa guida che spiega in dettaglio come abilitare e installare il ramo "stable" con il minimo sforzo. -## Prerequisiti e presupposti +## Prerequisiti e Presupposti Avrai bisogno di: @@ -46,9 +47,7 @@ Avrai bisogno di: * La capacità di eseguire comandi come root, sia come utente root che con `sudo`. * Un editor di testo a tua scelta, sia grafico che a riga di comando. Per questo tutorial, sto usando `nano`. -## Installazione del repository - -Questa parte non è così semplice come lo è di solito l'installazione di un repository extra. Dovremo creare un file repo personalizzato per `dnf` da usare, e scaricare *Nginx* da lì. Tecnicamente, siamo una sorta di repurposing di repository per CentOS che sono stati fatti e ospitati da *Nginx* stesso. Questa soluzione può o non può essere praticabile a lungo termine, ma per ora funziona benissimo. +## Installazione del repository & Attivazione del modulo Per prima cosa, assicuratevi che la vostra macchina sia aggiornata: @@ -56,50 +55,22 @@ Per prima cosa, assicuratevi che la vostra macchina sia aggiornata: sudo dnf update ``` -Ora, assicurati che il pacchetto `dnf-utils` sia installato, e qualsiasi editor di testo a riga di comando tu voglia: - -```bash -sudo dnf install dnf-utils -``` - -Una volta che è tutto installato, apri il tuo editor di testo preferito. Vorrai creare un file chiamato (per semplicità) `nginx.repo`, e metterlo in `/etc/yum.repos.d/`. Potete farlo molto velocemente in questo modo: +Quindi, installare il repository software `epel-release`: ```bash -sudo nano /etc/yum.repos.d/nginx.repo +sudo dnf install epel-release ``` -In quel file, incollate questo pezzo di codice, non modificato: +Quindi abilita il modulo giusto per l'ultima versione di `nginx`. Questo modulo sarà sempre chiamato `nginx:manline`, quindi basta abilitarlo con `dnf` in questo modo: ```bash -[nginx-stable] -name=nginx stable repo -baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ -gpgcheck=1 -enabled=1 -gpgkey=https://nginx.org/keys/nginx_signing.key -module_hotfixes=true - -[nginx-mainline] -name=nginx mainline repo -baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ -gpgcheck=1 -enabled=0 -gpgkey=https://nginx.org/keys/nginx_signing.key -module_hotfixes=true +sudo dnf module enable nginx:mainline ``` -Questo codice fondamentalmente ti permette di usare i repository *Nginx* fatti e ospitati per CentOS, e se vuoi ti permette di usare il ramo "stable" menzionato in precedenza. Voglio dire, non farlo. Ma si potrebbe. - -Salva il file con Control-S (se stai usando `nano`) ed esci con Control-X. +Ti darà il solito "Sei sicuro di volerlo fare? , ma questa non è la seconda edizione D&D con Gary Gygax stesso, quindi sì. Certo che lo fai. Premi y per confermare. ## Installare ed eseguire Nginx -Ora, abilitiamo il file del repository che avete appena fatto con un semplice comando: - -```bash -sudo yum-config-manager --enable nginx-mainline -``` - Poi, installa il pacchetto `nginx` dal repository aggiunto in precedenza: ```bash @@ -108,7 +79,7 @@ sudo dnf install nginx Il terminale ti chiederà se ti va bene installare la chiave GPG del repository. Ne hai bisogno, quindi scegli `Y` per sì. -Una volta che l'installazione è fatta, avviate il servizio `nginx` e abilitatelo per avviarsi automaticamente al riavvio tutto in una volta con: +Una volta che l'installazione è finita, avviate il servizio `nginx` e abilitatelo per avviarsi automaticamente al riavvio tutto in una volta con: ```bash sudo systemctl enable --now nginx @@ -120,9 +91,9 @@ Per verificare che l'ultima versione di *Nginx* sia stata installata, eseguire: nginx -v ``` -Da lì, si potrebbe semplicemente iniziare ad inserire i file HTML nella directory `/usr/share/nginx/html/` per costruire un semplice sito web statico. Il file di configurazione per il sito web/virtual host predefinito si chiama "default.conf" ed è in `/etc/nginx/conf.d/`. +Da lì, si potrebbe semplicemente iniziare ad inserire i file HTML nella directory `/usr/share/nginx/html/` per costruire un semplice sito web statico. Il file di configurazione per il sito web/host virtuale predefinito è chiamato “nginx.conf” ed è in `/etc/nginx/`. Contiene anche una serie di altre configurazioni server Nginx di base, quindi anche se si sceglie di spostare la configurazione del sito web reale in un altro file, si dovrebbe probabilmente lasciare il resto di "nginx. onf" intatto. -## Configurare il firewall +## Configurare il Firewall !!! Note "Nota" @@ -130,7 +101,7 @@ Da lì, si potrebbe semplicemente iniziare ad inserire i file HTML nella directo Se provate a visualizzare una pagina web all'indirizzo IP o al nome di dominio della vostra macchina da un altro computer, probabilmente non otterrete un bel niente. Beh, sarà così finché avrete un firewall attivo e funzionante. -Ora per aprire le porte necessarie per vedere effettivamente le vostre pagine web con `firewalld`, il firewall di default di Rocky Linux con il comando `firewall-cmd`. Ci sono due modi per farlo: quello ufficiale e quello manuale. *In questo caso, il modo ufficiale è il migliore,* ma dovresti conoscerli entrambi per riferimento futuro. +Per aprire le porte necessarie in modo da poter effettivamente "vedere" le pagine web, utilizzeremo il firewall integrato di Rocky Linux, `firewalld`. Il comando `firewalld` per farlo è `firewall-cmd`. Ci sono due modi per farlo: quello ufficiale e quello manuale. *In questo caso, il modo ufficiale è il migliore,* ma dovresti conoscerli entrambi per riferimento futuro. Il modo ufficiale apre il firewall al servizio `http`, che è ovviamente il servizio che gestisce le pagine web. Basta eseguire questo: @@ -144,7 +115,7 @@ Scomponiamo il tutto: * `--zone=public` dice al firewall di accettare connessioni in entrata a questa porta da chiunque. * Infine, `--add-service=http` dice a `firewalld` di lasciar passare tutto il traffico HTTP verso il server. -Ora ecco il modo manuale di farlo. È più o meno la stessa cosa, tranne che stai aprendo specificamente la porta 80, che è quella che usa l'HTTP. +Now here's the manual way to do it. È più o meno la stessa cosa, tranne che stai aprendo specificamente la porta 80, che è quella che usa l'HTTP. ```bash sudo firewall-cmd --permanent --zone=public --add-port=80/tcp @@ -168,7 +139,7 @@ sudo firewall-cmd --reload !!! Note "Nota" - Ora, c'è una piccolissima possibilità che questo non funzioni. In quei rari casi, fai in modo che `firewalld` faccia il suo invito con il vecchio "turn-it-off-and-turn-it-on-again". + Ora, c'è una piccolissima possibilità che questo non funzioni. In quei rari casi, fai in modo che `firewalld` faccia il suo invito con il vecchio turn-it-off-and-turn-it-on-again. ```bash systemctl restart firewalld @@ -207,7 +178,7 @@ curl -I http://[your-ip-address] ## Creare un Utente del server e Cambiare la Cartella Radice del sito Web -Mentre voi *potreste* semplicemente mettere il vostro sito web nella directory predefinita e andare (e questo potrebbe andare bene per *Nginx* quando è in esecuzione all'interno di un container, o su un server di test/sviluppo), non è ciò che noi chiamiamo best practice. Invece, è una buona idea creare un utente Linux specifico sul tuo sistema per il tuo sito web, e mettere i file del tuo sito web in una directory fatta solo per quell'utente. +Mentre voi *potreste* semplicemente mettere il vostro sito web nella directory predefinita e proseguire (e questo potrebbe andare bene per *Nginx* quando è in esecuzione all'interno di un container, o su un server di test/sviluppo), non è ciò che noi chiamiamo best practice. Invece, è una buona idea creare un utente Linux specifico sul tuo sistema per il tuo sito web, e mettere i file del tuo sito web in una directory fatta solo per quell'utente. Se volete costruire più siti web, è effettivamente una buona idea creare più utenti e directory di root, sia per il bene dell'organizzazione che per il bene della sicurezza. @@ -219,9 +190,9 @@ Quindi se stai installando `nginx` direttamente sulla tua macchina, allora vorra Se state eseguendo `nginx` in un contenitore come LXD/LXC, tuttavia, SELinux probabilmente *non* sarà installato, e potete mettere i vostri file dove volete. In questo caso, mi piace mettere tutti i file del sito web di un utente sotto una directory in una normale cartella home, così: `/home/www/`. -Continuerò questa guida come se SELinux fosse installato, comunque. Cambia solo quello che ti serve in base al tuo caso d'uso. Potete anche imparare di più su come funziona SELinux in [la nostra guida sull'argomento](../security/learning_selinux.md). +Continuerò questa guida come se SELinux fosse installato, comunque. Cambia solo quello che ti serve in base alle tue necessità. Potete anche imparare di più su come funziona SELinux in [la nostra guida sull'argomento](../security/learning_selinux.md). -### Creazione dell'utente +### Creazione dell'Utente Per prima cosa, creiamo la cartella che useremo: @@ -260,7 +231,7 @@ Per ora, basta eseguire: sudo nano /etc/nginx/conf.d/default.conf ``` -Quando il file è aperto, cerca la linea che assomiglia a `root /usr/share/nginx/html;`. Cambialo nella cartella principale del tuo sito web scelto, ad esempio. `root /usr/share/nginx/html/www;` (o `/home/www` se stai eseguendo `nginx` in un container come faccio io). Salvate e chiudete il file, poi testate la vostra configurazione `nginx` per assicurarvi di non aver saltato un punto e virgola o altro: +Quando il file è aperto, cerca la linea che assomiglia a `root /usr/share/nginx/html;`. Cambialo nella cartella principale del tuo sito web scelto, ad esempio. `root /usr/share/nginx/html/www;` (o `/home/www` se si esegue `nginx` in contenitori come faccio io). Salvate e chiudete il file, poi testate la vostra configurazione `nginx` per assicurarvi di non aver saltato un punto e virgola o altro: ```bash nginx -t @@ -284,16 +255,16 @@ sudo systemctl reload nginx Nel caso improbabile che il riavvio morbido non funzioni, date un calcio nei pantaloni a `nginx` con: ```bash - sudo systemctl restart nginx + sudo systemctl reload nginx ``` Tutti i file HTML nella tua nuova cartella principale dovrebbero ora essere navigabili da... il tuo browser. ### Cambiare i Permessi ai File -Per assicurarsi che *`nginx` possa leggere, scrivere ed eseguire qualsiasi file nella directory del sito web, i permessi devono essere impostati correttamente. +Per assicurarsi che `nginx` possa leggere, scrivere ed eseguire tutti i file nella directory del sito, i permessi devono essere impostati correttamente. -Per prima cosa, assicuratevi che tutti i file nella cartella principale siano di proprietà dell'utente del server e del suo gruppo di utenti con: +Se si ottiene il seguente messaggio di successo, tutto è andato bene: ```bash sudo chown -R www:www /usr/share/nginx/html/www @@ -308,12 +279,18 @@ sudo find /usr/share/nginx/html/www -type f -exec chmod 444 "{}" \; Questo in pratica dà a tutti il diritto di guardare i file sul server, ma non di modificarli. Solo gli utenti root e del server possono farlo. +## Ottenere certificati SSL per il Vostro Sito + +A partire da ora, la nostra [guida per ottenere certificati SSL con certbot](../security/generating_ssl_keys_lets_encrypt.md) è stata aggiornata con alcune istruzioni di base per `nginx`. Vai a dare un'occhiata, in quanto ha istruzioni complete per l'installazione di certbot, così come la generazione dei certificati. + +Sta per arrivare il momento in cui i browser potrebbero smettere di far vedere i siti senza certificati, quindi assicuratevi di ottenerne uno per ogni sito. + ## Ulteriori Opzioni di Configurazione e Guide * Se vuoi vedere come far funzionare *Nginx* con PHP, e PHP-FPM in particolare, controlla la nostra [guida PHP su Rocky Linux](../web/php.md). -* Le istruzioni sulla configurazione multi-sito sono in arrivo in un'altra guida. Stanno arrivando anche le istruzioni per i certificati SSL, e questa guida sarà aggiornata con i link quando saranno pronti. +* Se vuoi imparare a configurare *Nginx* per più siti Web, ora abbiamo [una guida su questo argomento](nginx-multisite.md). -## Installare il Ramo Stabile dai propri repo di Rocky +## Conclusione Se volete usare il ramo "stable" di `nginx`, anche con le sue limitazioni, ecco come fare. Per prima cosa, assicuratevi che il vostro sistema operativo sia aggiornato: @@ -356,6 +333,22 @@ Poi puoi abilitare il servizio e configurare il tuo server come descritto sopra. Il file di configurazione predefinito, in questo caso, è nella cartella di configurazione base di `nginx` in `/etc/nginx/nginx.conf`. La cartella principale del sito web è la stessa, però. +## Regole SELinux + +Attenzione che quando applicato, le direttive nginx proxy_pass falliranno con "502 Bad Gateway" + +È possibile disattivare setenforce per scopi di sviluppo + +```bash +sudo setenforce 0 +``` + +oppure puoi abilitare `http_d` o altri servizi correlati a nginx in `/var/log/audit/audit.log` + +```bash +sudo setsebool httpd_can_network_connect 1 -P +``` + ## Conclusione L'installazione e la configurazione di base di `nginx` sono facili, anche se è più complicato di quanto dovrebbe essere ottenere l'ultima versione. Ma, basta seguire i passi, e avrete una delle migliori opzioni di server là fuori pronta e funzionante rapidamente. From 4ae2f10feab28febc8bd2429d8839eb247e4b35b Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 23 Jun 2022 14:13:41 -0700 Subject: [PATCH 21/24] New translations rockydocs_formatting.md (Italian) --- .../contribute/rockydocs_formatting.it.md | 59 +++++++++++++++---- 1 file changed, 48 insertions(+), 11 deletions(-) diff --git a/docs/guides/contribute/rockydocs_formatting.it.md b/docs/guides/contribute/rockydocs_formatting.it.md index c8f21fcd60..5d4e16c948 100644 --- a/docs/guides/contribute/rockydocs_formatting.it.md +++ b/docs/guides/contribute/rockydocs_formatting.it.md @@ -2,7 +2,9 @@ title: Formattazione di Rocky Docs author: Steven Spencer contributors: tianci li, Ezequiel Bruni, Franco Colussi -update: 04-mar-2022 +tags: + - contribute + - formatting --- # Formattazione di Rocky Docs - Introduzione @@ -11,6 +13,28 @@ Nell'ultimo anno, molte cose sono cambiate con la documentazione Rocky. Questa g Per essere chiari, un documento può o non può avere bisogno di contenere uno di questi elementi. Se pensate che il vostro documento ne trarrà beneficio, allora questa guida dovrebbe aiutarvi. +!!! note "Una nota sulle Intestazioni" + + Le intestazioni non sono caratteri di formattazione speciali, ma piuttosto la sintassi standard di markdown. Includono una **singola** voce di primo livello: + + ``` + # Questo è il Primo Livello + ``` + + + e un numero qualsiasi di valori di sottovoci, dai livelli 2 a 6: + + ``` + ## Un livello 2 heading + ### Un livello 3 heading + #### Un livello 4 heading + ##### Un livello 5 heading + ###### Un livello 6 heading + ``` + + + La chiave è che si possono utilizzare tutti i titoli dal 2 al 6, ma solo **UNO** di livello 1. Mentre la documentazione viene creata con più di un'intestazione di livello 1, l'indice generato automaticamente per il documento, che appare sul lato destro, **NON** viene visualizzato correttamente (o a volte per niente), con più di un'intestazione. Tienilo a mente quando scrivi i tuoi documenti. + ## Ammonimenti Gli ammonimenti sono speciali "scatole" visive che permettono di richiamare l'attenzione su fatti importanti e di evidenziarli in modo da farli risaltare dal resto del testo. I tipi di ammonimenti sono i seguenti: @@ -34,12 +58,12 @@ Quindi non c'è limite ai tipi di ammonimenti che si possono usare, come indicat Un'ammonimento viene sempre inserito in questo modo: ``` -!!! tipo_ammonimento +!!! admonition_type - testo dell'ammonimento + text of admonition ``` -Il corpo del testo dell'ammonimento deve essere rientrato di quattro (4) spazi dal margine iniziale. È facile vedere dove è in questo caso, perché si allineerà sempre sotto la prima lettera del tipo di ammonimento. La linea extra tra il titolo e il corpo non verrà visualizzata, ma è necessaria al nostro motore di traduzione (Crowdin) per funzionare correttamente. +Il testo del corpo dell'ammonizione deve essere rientrato di quattro (4) spazi rispetto al margine iniziale. È facile vedere dove è in questo caso, perché si allineerà sempre sotto la prima lettera del tipo di ammonimento. La linea extra tra il titolo e il corpo non verrà visualizzata, ma è necessaria al nostro motore di traduzione (Crowdin) per funzionare correttamente. Qui ci sono esempi di ogni tipo di ammonimento e come appariranno nel vostro documento: @@ -47,7 +71,7 @@ Qui ci sono esempi di ogni tipo di ammonimento e come appariranno nel vostro doc testo -!!! caution +!!! danger testo @@ -81,11 +105,11 @@ Qui ci sono esempi di ogni tipo di ammonimento e come appariranno nel vostro doc !!! custom - Un tipo custom 1. Qui abbiamo usato "custom" come nostro tipo di ammonimento. Di nuovo, questo risulterà sempre in blu. + Un tipo custom 1. Qui abbiamo usato "custom" come nostro tipo di ammonimento. Di nuovo, questo risulterà sempre in blu. !!! warning "titolo personalizzato" - Un tipo custom 2. Qui abbiamo modificato il tipo di ammonimento "warning" con un'intestazione personalizzata. Ecco come si presenta: + Un tipo custom 2. Ecco il nostro secondo articolo della lista. Poiché abbiamo usato l'indentazione (sopra), viene visualizzato con la prossima sequenza di numerazione (in altre parole, 2), ma se avessimo inserito l'elemento 1 senza l'indentazione (nel paragrafo successivo e nel codice), allora questo sarebbe apparso di nuovo come elemento 1, che non è ciò che vogliamo. ``` !!! warning "titolo personalizzato" @@ -113,7 +137,7 @@ Se hai bisogno di aggiungere blocchi di codice, linee multiple o anche paragrafi Non puoi usare i tuoi occhi per allinearli sotto l'elemento numerato, tuttavia, poichè questo è uno spazio vuoto. Se stai usando un buon editor di markdown, puoi impostare il valore di tabulazione a quattro (4), che renderà la formattazione del tutto un po' più facile. -Ecco un esempio di una lista numerata a più righe con un blocco di codice buttato dentro per buona norma: +Ed ecco come appare come testo grezzo: 1. Quando si ha a che fare con liste numerate che sono a più righe e includono cose come blocchi di codice, usate l'indentazione spaziale per ottenere ciò che volete. @@ -126,7 +150,7 @@ Ecco un esempio di una lista numerata a più righe con un blocco di codice butta 2. Ecco il nostro secondo articolo della lista. Poiché abbiamo usato l'indentazione (sopra), viene visualizzato con la prossima sequenza di numerazione (in altre parole, 2), ma se avessimo inserito l'elemento 1 senza l'indentazione (nel paragrafo successivo e nel codice), allora questo sarebbe apparso di nuovo come elemento 1, che non è ciò che vogliamo. -Ed ecco come appare come testo grezzo: +Ecco come appare questo esempio nel vostro editor: ```markdown 1. Quando si ha a che fare con liste numerate che sono a più righe e includono cose come blocchi di codice, usate l'indentazione spaziale per ottenere ciò che volete. @@ -173,7 +197,7 @@ I blocchi di citazione sono in realtà progettati per citare testo da altre font > **un altro elemento** - Una descrizione di un altro elemento ``` -Per evitare che le linee si sovrappongano, è necessaria qui la linea extra di "spaziatura". +Che finisce per assomigliare a questo quando la pagina viene visualizzata: Che finisce per assomigliare a questo quando la pagina viene visualizzata: @@ -302,8 +326,21 @@ Si può anche incorporare una tabella o un blocco di citazione (letteralmente qu > **zucchero** se la caffeina non è di tuo gradimento - > **soffrire** se tutto il resto fallisce, concentrarsi di più Ci sono altri esempi, ma credo che abbiate capito che tutto può essere annidato all'interno. Basta ricordare i quattro (4) spazi magici. + > **soffrire** se tutto il resto fallisce, concentrarsi di più Ci sono altri esempi, ma credo che abbiate capito che tutto può essere annidato all'interno. Ci sono altri esempi, ma credo che abbiate capito che tutto può essere annidato all'interno. Basta ricordare i quattro (4) spazi magici. +``` + +## Un ultimo punto: i commenti + +Di tanto in tanto potresti voler aggiungere un commento al tuo markdown che non verrà visualizzato quando renderizzato. Ci sono molti motivi per cui si potrebbe voler fare questo. Per esempio, se vuoi aggiungere un segnaposto per qualcosa che verrà aggiunto più tardi, puoi usare un commento per segnare il tuo posto. + +Il modo migliore per aggiungere un commento al tuo markdown è usare le parentesi quadre "[]" con due barre in avanti "//" seguite da un punto e il contenuto. Il risultato sarebbe il seguente: + +``` + +[//]: Questo è un commento da sostituire in seguito + ``` +Un commento dovrebbe avere una riga vuota prima e dopo il commento. ## Ulteriori Letture From d0ded536f2216bdb87d6febc8ec4b9ad03eb5cb0 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 23 Jun 2022 14:14:34 -0700 Subject: [PATCH 22/24] New translations nginx-multisite.md (Italian) --- docs/guides/web/nginx-multisite.it.md | 364 ++++++++++++++++++++++++++ 1 file changed, 364 insertions(+) create mode 100644 docs/guides/web/nginx-multisite.it.md diff --git a/docs/guides/web/nginx-multisite.it.md b/docs/guides/web/nginx-multisite.it.md new file mode 100644 index 0000000000..eb33e0c1e7 --- /dev/null +++ b/docs/guides/web/nginx-multisite.it.md @@ -0,0 +1,364 @@ +--- +title: Nginx Multisito +author: Ezequiel Bruni +contributors: Steven Spencer, Franco Colussi +tested with: 8.5 +tags: + - web + - nginx + - multisite +--- + +# Come Configurare Nginx per più Siti Web su Rocky Linux + +## Introduzione + +Ecco, la mia guida promessa per le configurazioni multi sito Nginx su Rocky Linux. Inizierò con una nota per i principianti; il resto di voi sa per cosa è qui, quindi continuate a scorrere. + +Hi Newbies! Una delle cose che Nginx fa *molto* bene è dirigere il traffico da un punto centrale a più siti web e applicazioni su un server o su diversi altri server. Questa funzione è chiamata "reverse proxy" e la relativa facilità con cui Nginx la svolge è uno dei motivi per cui ho iniziato a usarlo. + +Qui vi mostrerò come gestire più siti web su una singola installazione di Nginx e come farlo in modo semplice e organizzato, consentendovi di apportare modifiche in modo facile e veloce. + +Per coloro che cercano una configurazione simile per Apache, dare un'occhiata a [questa guida](apache-sites-enabled.md) + +Vi spiegherò *molti* dettagli... ma alla fine, l'intero processo consiste fondamentalmente nell'impostare alcune cartelle e creare alcuni piccoli file di testo. In questa guida non utilizzeremo configurazioni di siti web troppo complicate, quindi rilassatevi con un caffè e divertitevi. Una volta che si sa come fare, ci vorranno solo pochi minuti per farlo ogni volta. Questo è facile.\* + +\* Per i valori dati di "facile". + +## Prerequisiti e presupposti + +Questo è tutto ciò di cui hai bisogno: + +* Un server Rocky Linux collegato a internet, con Nginx già in esecuzione. Se non siete arrivati a questo punto, potete seguire prima la nostra [guida all'installazione di Nginx](nginx-mainline.md). +* Una certa familiarità con le operazioni dalla riga di comando e di un editor di testo basato su terminale come `nano`. + + !!! hint "In un attimo" + ... si potrebbe usare qualcosa come Filezilla o WinSCP - e un normale editor di testo basato su GUI - per replicare la maggior parte di questi passaggi, ma in questo tutorial faremo le cose alla maniera dei nerd. + +* Almeno un dominio puntato sul vostro server per uno dei siti web di prova. È possibile utilizzare un secondo dominio o un sottodominio per l'altro. + + !!! hint "Suggerimento" + Se si esegue tutto questo su un server locale, modificare il file hosts come necessario per creare nomi di dominio simulati. Istruzioni qui sotto. + +* Si presume che Nginx sia in esecuzione su un server bare metal o su un normale VPS e che SELinux sia in esecuzione. Tutte le istruzioni saranno compatibili con SELinux per impostazione predefinita. +* *Tutti i comandi devono essere eseguiti come root,* sia accedendo come utente root, sia usando `sudo`. + +## Impostazione delle Cartelle e dei Siti di Test + +### Le cartelle del sito web +In primo luogo, hai bisogno di un paio di cartelle per i file del tuo sito web. Quando si installa Nginx per la prima volta, tutti i file del sito web "demo" si trovano in `/usr/share/nginx/html`. Questo va bene se state ospitando un solo sito, ma noi ci stiamo sbizzarrendo. Ignorare la cartella `html` per ora e navigare solo nella sua cartella madre: + +```bash +cd /usr/share/nginx +``` + +I domini di prova per questo tutorial saranno `site1.server.test` e `site2.server.test`, e le cartelle dei siti web verranno nominate di conseguenza. Naturalmente, è necessario cambiare questi domini con quelli che si stanno utilizzando. Tuttavia (e questo è un trucco che ho imparato da Smarter PeopleTM), scriveremo i nomi di dominio "al contrario". + +es. "yourwebsite.com" andrebbe in una cartella chiamata `com.yourwebsite`. È chiaro che potete *letteralmente* nominare queste cartelle come volete, ma c'è una buona ragione per questo metodo, che ho illustrato di seguito. + +Per ora, basta creare le cartelle: + +```bash +mkdir -p test.server.site1/html +mkdir -p test.server.site2/html +``` + +Quindi questo comando creerà, per esempio, la cartella `test.server.site1` e metterà al suo interno un'altra cartella chiamata `html`. È qui che si inseriscono i file effettivi che si vogliono servire tramite il server web. (Si potrebbe anche chiamare "webroot" o qualcosa del genere.) + +In questo modo si possono mettere nella directory principale i file relativi al sito web che *non si vogliono rendere pubblici*, pur mantenendo tutto in un unico posto. + +!!! Note "Nota" + + Il flag `-p' indica al comando `mkdir' di creare tutte le cartelle mancanti nel percorso appena definito, in modo da non dover creare ogni cartella una alla volta. + +Per questo test, manteniamo i "siti web" stessi molto semplici. È sufficiente creare un file HTML nella prima cartella con il vostro editor di testo preferito: + +```bash +nano test.server.site1/html/index.html +``` + +Quindi incollare il seguente codice HTML: + +```html + + + + + + + Site 1 + + +

This is Site 1

+ + +``` + +Salvate e chiudete il file, quindi ripetete i passaggi con la cartella `test.server.site2`, cambiando "Sito 1" con "Sito 2" nel codice HTML sopra riportato. Questo per essere sicuri che in seguito tutto funzioni come previsto. + +I siti web di prova sono terminati, andiamo avanti. + +### Le cartelle di configurazione + +Ora andiamo nella cartella delle impostazioni e della configurazione di Nginx, dove lavoreremo per il resto di questa guida: + +```bash +cd /etc/nginx/ +``` + +Se si esegue il comando `ls` per vedere quali file e cartelle si trovano qui, si vedranno un mucchio di cose diverse, la maggior parte delle quali oggi sono irrilevanti. Quelli da notare sono questi: + +* `nginx.conf` è il file che contiene, come avete capito, la configurazione predefinita di Nginx. Lo modificheremo più tardi. +* `conf.d` è una directory in cui si possono inserire i file di configurazione personalizzati. Si *può* usare per i siti web, ma è meglio usarlo per le impostazioni specifiche che si vogliono per tutti i siti web. +* `default.d` è una directory in cui si trova la configurazione del sito web *che potrebbe* gestire un solo sito sul server, o se il server ha un sito web "primario". Per ora lasciate stare. + +Vogliamo creare due nuove cartelle chiamate `sites-available` e `sites-enabled`: + +```bash +mkdir sites-available +mkdir sites-enabled +``` + +Quello che faremo è mettere tutti i file di configurazione del nostro sito web nella cartella `sites-available`. Lì si può lavorare sui file di configurazione per tutto il tempo necessario, finché non si è pronti ad attivare i file con un collegamento simbolico alla cartella `sites-enabled`. + +Vi mostrerò come funziona qui sotto. Per ora, abbiamo finito di creare cartelle. + +!!! Note "Perché (forse) volete scrivere i vostri domini al contrario:" + + In poche parole, si tratta di una funzione organizzativa particolarmente utile quando si utilizza la riga di comando con il completamento delle schede, ma ancora molto utile nelle applicazioni basate sulla GUI. È stato progettato per chi gestisce *molti* siti web o applicazioni su un server. + + In pratica, tutte le cartelle del vostro sito web (e i file di configurazione) verranno organizzati in ordine alfabetico: prima il dominio di primo livello (ad esempio, .com, .org, ecc.), poi il dominio principale e infine gli eventuali sottodomini. Quando si cerca in un lungo elenco di domini, può essere più facile restringere il campo di ricerca in questo modo. + + Inoltre, rende più facile l'ordinamento delle cartelle e dei file di configurazione tramite gli strumenti della riga di comando. Per elencare tutte le cartelle associate a un particolare dominio, si può eseguire: + + ```bash + ls /usr/share/nginx/ | grep com.yoursite* + ``` + + + Che fornirà un risultato simile a: + + ``` + com.yoursite.site1 + com.yoursite.site2 + com.yoursite.site3 + ``` + +## Impostazione dei File di Configurazione + +### Modificare nginx.conf + +Per impostazione predefinita, l'implementazione di Rocky Linux di Nginx è aperta a tutto il traffico HTTP e lo indirizza alla pagina dimostrativa che potreste aver visto nella nostra guida all'installazione di Nginx. Noi non vogliamo questo. Vogliamo che il traffico proveniente dai domini che specifichiamo vada ai siti web che specifichiamo. + +Quindi, dalla cartella `/etc/nginx/`, aprite `nginx.conf` nel vostro editor di testo preferito: + +```bash +nano nginx.conf +``` + +Per prima cosa, trovare la linea che assomiglia a questa: + +``` +include /etc/nginx/conf.d/*.conf; +``` + +E **aggiungere** questo pezzo appena sotto: + +``` +include /etc/nginx/sites-enabled/*.conf; +``` + +Questo caricherà i file di configurazione del nostro sito web quando saranno pronti per la messa in funzione. + +Ora scendete fino alla sezione che appare come questa e **commentatela** con il segno di hash #, oppure cancellatela se preferite: + +``` +server { + listen 80; + listen [::]:80; + server_name _; + root /usr/share/nginx/www/html; + + # Load configuration files for the default server block. + include /etc/nginx/default.d/*.conf; + + error_page 404 /404.html; + location = /404.html { + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + } +} +``` + +Come sarebbe "commentato": + +``` +#server { +# listen 80; +# listen [::]:80; +# server_name _; +# root /usr/share/nginx/www/html; +# +# # Load configuration files for the default server block. +# include /etc/nginx/default.d/*.conf; +# +# error_page 404 /404.html; +# location = /404.html { +# } +# +# error_page 500 502 503 504 /50x.html; +# location = /50x.html { +# } +#} +``` + +Se siete alle prime armi, potreste voler tenere il codice commentato come riferimento, e questo vale anche per il codice HTTPS di esempio, già commentato più avanti nel file. + +Salva e chiudi il file, quindi riavvia il server con: + +```bash +systemctl restart nginx +``` + +Ora nessuno vedrà la pagina demo, almeno. + +### Aggiungere i file di configurazione del sito web + +Ora rendiamo disponibili i siti web di prova sul server. Come già accennato in precedenza, si tratta di collegamenti simbolici, in modo da avere un modo semplice per attivare e disattivare i siti web a piacimento. + +!!! Note "Nota" + + Per i neofiti, i collegamenti simbolici sono fondamentalmente un modo per far sì che i file fingano di trovarsi in due cartelle contemporaneamente. Se si modifica il file originale (o "target"), questo viene modificato ovunque sia collegato. Se si utilizza un programma per modificare il file tramite un link, l'originale viene modificato. + + Tuttavia, se si elimina un collegamento alla destinazione, non succede nulla al file originale. Questo trucco ci permette di mettere i file di configurazione del sito web in una cartella di lavoro (`sites-available`) e poi di "attivarli" collegandosi a quei file da `sites-enabled`. + + +Vi faccio vedere cosa intendo. Creare un file di configurazione per il primo sito web in questo modo: + +```bash +nano sites-available/test.server.site1.conf +``` + +Ora incollate questo codice. Questa è la configurazione di Nginx più semplice che si possa avere e dovrebbe funzionare bene per la maggior parte dei siti web HTML statici: + +``` +server { + listen 80; + listen [::]:80; + + # virtual server name i.e. domain name # + server_name site1.server.test; + + # document root # + root /usr/share/nginx/test.server.site1/html; + + # log files + access_log /var/log/nginx/www_access.log; + error_log /var/log/nginx/www_error.log; + + # Directives to send expires headers and turn off 404 error logging. # + location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { + access_log off; log_not_found off; expires max; + } +} +``` + +E diamine, tutto, dalla radice del documento in giù, è tecnicamente opzionale. Utile e consigliato, ma non strettamente necessario per il funzionamento del sito. + +In ogni caso, salvate e chiudete il file, quindi andate nella directory `sites-enabled`: + +```bash +cd sites-enabled +``` + +Ora, create un collegamento simbolico al file di configurazione appena creato nella cartella `sites-available`: + +```bash +ln -s ../sites-available/test.server.site1.conf +``` + +Verificate la configurazione con il comando `nginx -t` e se ricevete un messaggio che dice che tutto è a posto, ricaricate il server: + +```bash +systemctl restart nginx +``` + +Puntate quindi il browser sul dominio che state usando per questo primo sito (nel mio caso: site1.server.test) e cercate il messaggio "Questo è il sito 1" che abbiamo inserito nel file HTML. Se avete installato `curl` sul vostro sistema, potete eseguire `curl site1.server.test` e vedere se il codice HTML viene caricato nel vostro terminale. + +!!! Note "Nota" + + Alcuni browser (con tutte le migliori intenzioni) obbligano a utilizzare HTTPS quando si digita il dominio del server nella barra degli indirizzi. Se non è configurato l'HTTPS, si otterranno solo errori. + + Assicuratevi di specificare manualmente "http://" nella barra degli indirizzi del browser per evitare questo problema. Se non funziona, cancellate la cache o utilizzate un browser meno esigente per questa parte del test. Io raccomando [Min](https://minbrowser.org). + +Se *tutto* va bene, *ripetete i passaggi precedenti, cambiando man mano i nomi dei file e il contenuto dei file di configurazione*. da "sito1" a "sito2" e così via. Una volta che i file di configurazione e i link simbolici per il sito 1 e il sito 2 sono stati riavviati, Nginx dovrebbe avere questo aspetto: + +![Una schermata dei due siti web di prova affiancati](nginx/images/multisite-nginx.png) + +!!! Note "Nota" + + È anche possibile creare collegamenti dall'esterno della directory abilitata ai siti con la forma lunga del comando `ln -s`. Il risultato sarà `ln -s [file sorgente] [link]`. + + In questo contesto si tratta di: + + ```bash + ln -s /etc/nginx/sites-available/test.server.site1.conf /etc/nginx/sites-enabled/test.server.site1.conf + ``` + +### Disabilitare un sito web + +Se è necessario interrompere uno dei siti web per lavorarci su prima di riprenderlo, è sufficiente eliminare il collegamento simbolico in sites-enabled: + +```bash +rm /etc/nginx/sites-enabled/test.server.site1.conf +``` + +Quindi riavviare Nginx come al solito. Per riportare il sito online, dovrai ricreare il link simbolico e riavviare di nuovo Nginx. + +## Opzionale: Modificare Il Tuo File Hosts + +Questa parte è decisamente per i neofiti. Tutti gli altri possono probabilmente saltare. + +Quindi questa sezione si applica *solo* se state provando questa guida in un ambiente di sviluppo locale. Se cioè il server di prova viene eseguito sulla propria workstation o su un'altra macchina della rete locale domestica o aziendale. + +Poiché puntare i domini esterni alle macchine locali è una seccatura (e potenzialmente pericoloso se non si sa cosa si sta facendo), è possibile impostare alcuni domini "falsi" che funzioneranno bene sulla rete locale e in nessun altro luogo. + +Il modo più semplice per farlo è utilizzare il file hosts del computer. Il file hosts è letteralmente solo un file di testo che può sostituire le impostazioni DNS. In altre parole, è possibile specificare manualmente un nome di dominio da abbinare a qualsiasi indirizzo IP. Tuttavia, funzionerà *solo* su quel computer. + +Su Mac e Linux, il file hosts si trova nella directory `/etc/` e può essere modificato dalla riga di comando con estrema facilità (è necessario l'accesso root). Supponendo di lavorare su una workstation Rocky Linux, basta eseguire: + +```bash +nano /etc/hosts +``` + +Su Windows, il file hosts si trova in `C:\Windows\system32\drivers\etc\hosts` e si può usare qualsiasi editor di testo dell'interfaccia grafica, purché si abbia accesso come amministratore. + +Quindi, se si lavora su un computer Rocky Linux e si esegue il server Nginx sulla stessa macchina, basta aprire il file e definire i domini/indirizzi IP desiderati. Se la workstation e il server di prova sono in esecuzione sulla stessa macchina, è così: + +``` +127.0.0.1 site1.server.test +127.0.0.1 site2.server.test +``` + +Se il server Nginx è in esecuzione su un'altra macchina della rete, è sufficiente utilizzare l'indirizzo di tale macchina, ad es.: + +``` +192.168.0.45 site1.server.test +192.168.0.45 site2.server.test +``` + +A questo punto sarà possibile puntare il browser verso questi domini e il tutto dovrebbe funzionare come previsto. + +## Impostazione dei Certificati SSL per i Vostri Siti + +Consultate [la nostra guida per ottenere certificati SSL con Let's Encrypt e certbot](../security/generating_ssl_keys_lets_encrypt.md). Le istruzioni riportate andranno benissimo. + +## Conclusione + +Ricordate che la maggior parte delle convenzioni per l'organizzazione e la denominazione delle cartelle e dei file sono tecnicamente facoltative. I file di configurazione del sito web devono per lo più andare ovunque all'interno di `/etc/nginx/` e `nginx.conf` deve sapere dove si trovano questi file. + +I file del sito web vero e proprio dovrebbero trovarsi da qualche parte in `/usr/share/nginx/`, e il resto è tutto da scoprire. + +Provatelo, fate un po' di ScienzaTM e non dimenticate di eseguire `nginx -t` prima di riavviare Nginx per assicurarvi di non aver dimenticato un punto e virgola o altro. Vi farà risparmiare molto tempo. From fc3d98009c6a0535172e304176226f2a29f45b11 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 23 Jun 2022 15:17:15 -0700 Subject: [PATCH 23/24] New translations disa_stig_part1.md (Italian) --- docs/books/disa_stig/disa_stig_part1.it.md | 145 +++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 docs/books/disa_stig/disa_stig_part1.it.md diff --git a/docs/books/disa_stig/disa_stig_part1.it.md b/docs/books/disa_stig/disa_stig_part1.it.md new file mode 100644 index 0000000000..7483aedc49 --- /dev/null +++ b/docs/books/disa_stig/disa_stig_part1.it.md @@ -0,0 +1,145 @@ +--- +title: DISA STIG Su Rocky Linux 8 - Parte 1 +author: Scott Shinn +contributors: Steven Spencer, Franco Colussi +tested with: 8.6 +tags: + - DISA + - STIG + - security + - enterprise +--- + +# HOWTO: STIG Rocky Linux 8 Fast - Part 1 + +## Terminologia di riferimento + +* DISA - Agenzia per i Sistemi Informativi della Difesa +* RHEL8 - Red Hat Enterprise Linux 8 +* STIG - Guida all'Implementazione della Tecnica Sicura +* SCAP - Protocollo di Automazione Sicura dei Contenuti +* DoD - Dipartimento della Difesa + +## Introduzione + +In questa guida verrà illustrato come applicare la [DISA STIG per RHEL8](https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/) per una nuova installazione di Rocky Linux. Come serie in più parti, tratteremo anche come testare la conformità STIG, adattare le impostazioni STIG e applicare altri contenuti STIG in questo ambiente. + +Rocky Linux è un derivato bug per bug di RHEL 8 e come tale il contenuto pubblicato per il DISA RHEL8 STIG è in comune per entrambi i sistemi operativi. Una notizia ancora migliore è che l'applicazione delle impostazioni STIG è integrata nel programma di installazione di Rocky Linux 8 anaconda, sotto la voce Profili di Sicurezza. Il tutto è gestito da uno strumento chiamato [OpenSCAP](https://www.open-scap.org/), che consente sia di configurare il sistema in modo che sia conforme alla DISA STIG (velocemente!), sia di testare la conformità del sistema dopo l'installazione. + +Lo farò su una macchina virtuale nel mio ambiente, ma tutto ciò che è riportato qui si applica esattamente allo stesso modo su una macchina reale. + +### Passo 1: Creare la Macchina Virtuale + +* Memoria 2G +* Disco 30G +* 1 core + +![Macchina Virtuale](images/disa_stig_pt1_img1.jpg) + +### Passo 2: Scarica l'ISO Rocky Linux 8 DVD + +[Scarica Rocky Linux DVD](https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.6-x86_64-dvd1.iso). **Nota:** La ISO minimale non contiene il contenuto necessario per applicare la STIG per Rocky Linux 8; è necessario utilizzare il DVD o un'installazione di rete. + +![Scarica Rocky](images/disa_stig_pt1_img2.jpg) + +### Passo 3: Avviare l'Installatore + +![Avvia L'Installatore](images/disa_stig_pt1_img3.jpg) + +### Passo 4: PRIMO Selezionare il Partizionamento + +Questo è probabilmente il passo più complicato dell'installazione, e un requisito per essere conforme al STIG. È necessario partizionare il filesystem del sistema operativo in un modo che probabilmente creerà nuovi problemi. In altre parole: Avrai bisogno di sapere esattamente quali sono i tuoi requisiti di archiviazione. + +!!! tip "Pro-Tip" + + Linux consente di ridimensionare i filesystem, di cui parleremo in un altro articolo. Basti pensare che questo è uno dei problemi più gravi dell'applicazione di DISA STIG su bare iron, che spesso richiede re-installazioni complete per essere risolto, quindi è necessario sovrastimare le dimensioni necessarie. + +![Partizionamento](images/disa_stig_pt1_img4.jpg) + +* Seleziona "Custom e poi "Done" + +![Partizionamento Personalizzato](images/disa_stig_pt1_img5.jpg) + +* Inizia ad Aggiungere Partizioni + +![Aggiungi Partizioni](images/disa_stig_pt1_img6.jpg) + +Schema di partizionamento DISA STIG per un disco 30G. Il mio caso d'uso è un semplice server web: + +* / (10G) +* /boot (500m) +* /var (10G) +* /var/log (4G) +* /var/log/audit (1G) +* /home (1G) +* /tmp (1G) +* /var/tmp (1G) +* Swap (2G) + +!!! tip "Pro-Tip" + + Configurate / per ultimo e assegnategli un numero molto alto; in questo modo tutto lo spazio libero del disco rimarrà su / e non dovrete fare alcun calcolo. + +![Partizione Slash](images/disa_stig_pt1_img7.jpg) + +!!! tip "Pro-Tip" + + Riprendendo il consiglio precedente: SOVRASTIMARE i filesystem, anche se in seguito dovrete farli espandere di nuovo. + +* Clicca su "Done" e "Accept Changes" + +![Conferma Partizionamento](images/disa_stig_pt1_img8.jpg) + +![Accetta Modifiche](images/disa_stig_pt1_img9.jpg) + +### Passo 5: Configura il software per il tuo ambiente: Installazione del Server senza una GUI. + +Questo avrà importanza in **Fase 6**, quindi se si utilizza un'interfaccia utente o una configurazione di workstation il profilo di sicurezza sarà diverso. + +![Selezione Software](images/disa_stig_pt1_img10.jpg) + +### Passo 6: Selezionare Il Profilo Di Sicurezza + +Questo configurerà una serie di impostazioni di sicurezza sul sistema in base al criterio selezionato, sfruttando il framework SCAP. Modificherà i pacchetti selezionati nella **Fase 5**, aggiungendo o rimuovendo i componenti necessari. Se _è stata_ selezionata un'installazione con interfaccia grafica in **Fase 5** e si utilizza STIG non-GUI in questa fase, l'interfaccia grafica verrà rimossa. Regolatevi di conseguenza! + +![Profilo Di Sicurezza](images/disa_stig_pt1_img11.jpg) + +Selezionare DISA STIG per Red Hat Enterprise Linux 8: + +![DISA STIG](images/disa_stig_pt1_img12.jpg) + +Fare clic su "Select Profile" e prendere nota delle modifiche che verranno apportate al sistema. In questo modo si impostano le opzioni sui punti di montaggio, si aggiungono/rimuovono le applicazioni e si apportano altre modifiche alla configurazione: + +![Seleziona Profile_A](images/disa_stig_pt1_img13.jpg) + +![Seleziona_Profilo_B](images/disa_stig_pt1_img14.jpg) + +### Fase 7: fare clic su "Done" e continuare con la Configurazione Finale + +![Completare Il Profilo](images/disa_stig_pt1_img15.jpg) + +### Passo 8: Creare un account utente e impostarlo come amministratore + +Nelle esercitazioni successive potremo unire il tutto a una configurazione aziendale FreeIPA. Per il momento, lo tratteremo come un documento a sé stante. Notate che non sto impostando una password di root, piuttosto diamo l'accesso al nostro utente predefinito `sudo`. + +![Configurazione Utente](images/disa_stig_pt1_img16.jpg) + +### Passo 9: Fare clic su "Done", e poi su "Begin Installation" + +![Inizia L'Installazione](images/disa_stig_pt1_img17.jpg) + +### Passo 10: Una volta completata l'installazione, fate clic su "Reboot System" + +![Reboot](images/disa_stig_pt1_img18.jpg) + +### Fase 11: Accedere al sistema Rocky Linux 8 STIG! + +![Avvertimento DoD](images/disa_stig_pt1_img19.jpg) + +Se tutto è andato bene, si dovrebbe vedere il banner di avviso predefinito del DoD. + +![Schermo Finale](images/disa_stig_pt1_img20.jpg) + +## Informazioni Sull'Autore + +Scott Shinn è il CTO per Atomicorp e fa parte del team Rocky Linux Security. Dal 1995 si occupa di sistemi informativi federali presso la Casa Bianca, il Dipartimento della Difesa e l'Intelligence Community. Parte di questo è stata la creazione degli STIG e l'obbligo di usarli, e mi dispiace molto per questo. From 503f73bd0d68332243f3e65d8ee07b56a3fa6c80 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Fri, 24 Jun 2022 08:55:38 -0700 Subject: [PATCH 24/24] New translations postfix_reporting.md (Italian) --- docs/guides/email/postfix_reporting.it.md | 241 ++++++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 docs/guides/email/postfix_reporting.it.md diff --git a/docs/guides/email/postfix_reporting.it.md b/docs/guides/email/postfix_reporting.it.md new file mode 100644 index 0000000000..b019d30c08 --- /dev/null +++ b/docs/guides/email/postfix_reporting.it.md @@ -0,0 +1,241 @@ +--- +title: Rapporto dei Processi con Postfix +--- + +# Utilizzo di Postfix per l'invio dei rapporti dei processi del server + +## Prerequisiti + +* Completo comfort nell'operare dalla riga di comando su un server Rocky Linux +* Familiarità con un editor di vostra scelta (questo documento utilizza l'editor _vi_, ma potete sostituirlo con il vostro editor preferito) +* Conoscenza del DNS (Domain Name System) e dei nomi host +* La possibilità di assegnare variabili in uno script bash +* Conoscere le funzioni dei comandi _tail_, _more_, _grep_ e _date_ + +## Introduzione + +Molti amministratori di server Rocky Linux scrivono script per eseguire attività specifiche, come i backup o la sincronizzazione dei file, e molti di questi script generano log che contengono informazioni utili e talvolta molto importanti. Tuttavia, il solo fatto di avere i log non è sufficiente. Se un processo si interrompe e viene registrato, ma l'amministratore impegnato non esamina il registro, potrebbe verificarsi una catastrofe. + +Questo documento mostra come utilizzare l'MTA (mail transfer agent) _postfix_ per acquisire i dettagli del log da un particolare processo e inviarli via e-mail. Inoltre, tratta i formati delle date nei log e aiuta a identificare il formato da utilizzare nella procedura di gestione dei rapporti. + +Tenete presente, però, che questa è solo la punta dell'iceberg di ciò che si può fare con la segnalazione tramite postfix. Si noti inoltre che è sempre una buona mossa di sicurezza limitare i processi in esecuzione solo a quelli di cui si ha sempre bisogno. + +Questo documento mostra come attivare postfix solo per le attività di reporting necessarie e poi disattivarlo di nuovo. + +## Definizione di Postfix + +postfix è un demone server utilizzato per l'invio di e-mail. È più sicuro e più semplice di sendmail, un altro MTA che per anni è stato l'MTA predefinito. Può essere utilizzato come parte di un server di posta completo. + +## Installazione di postfix + +Oltre a postfix, avremo bisogno di _mailx_ per testare la nostra capacità di inviare e-mail. Per installare entrambi e le eventuali dipendenze necessarie, inserite quanto segue nella riga di comando del server Rocky Linux: + +`dnf install postfix mailx` + +## Test e Configurazione di Postfix + +### Prima il Test della Posta + +Prima di configurare postfix, dobbiamo scoprire come appare la posta quando lascia il server, perché probabilmente vorremo cambiarla. Per farlo, avviare postfix: + +`systemctl start postfix` + +Quindi testatelo usando il comando mail che è installato con mailx: + +`mail -s "Test dal server" myname@mydomain.com` + +Verrà visualizzata una riga vuota. Digitate qui il vostro messaggio di prova: + +`test dal server` + +Ora premete invio e inserite un singolo punto: + +`.` + +Il sistema risponderà con: + +`EOT` + +Il nostro scopo è quello di verificare come appare la nostra posta all'esterno, cosa che possiamo capire dal maillog che si attiva all'avvio di postfix. + +Utilizzare questo comando per visualizzare l'output del file di log: + +`tail /var/log/maillog` + +Si dovrebbe vedere qualcosa di simile a questo, anche se il file di log potrebbe avere domini diversi per l'indirizzo e-mail, ecc: + +``` +Mar 4 16:51:40 hedgehogct postfix/postfix-script[735]: starting the Postfix mail system +Mar 4 16:51:40 hedgehogct postfix/master[737]: daemon started -- version 3.3.1, configuration /etc/postfix +Mar 4 16:52:04 hedgehogct postfix/pickup[738]: C9D42EC0ADD: uid=0 from= +Mar 4 16:52:04 hedgehogct postfix/cleanup[743]: C9D42EC0ADD: message-id=<20210304165204.C9D42EC0ADD@somehost.localdomain> +Mar 4 16:52:04 hedgehogct postfix/qmgr[739]: C9D42EC0ADD: from=, size=457, nrcpt=1 (queue active) +Mar 4 16:52:05 hedgehogct postfix/smtp[745]: connect to gmail-smtp-in.l.google.com[2607:f8b0:4001:c03::1a]:25: Network is unreachable +Mar 4 16:52:06 hedgehogct postfix/smtp[745]: C9D42EC0ADD: to=, relay=gmail-smtp-in.l.google.com[172.217.212.26] +:25, delay=1.4, delays=0.02/0.02/0.99/0.32, dsn=2.0.0, status=sent (250 2.0.0 OK 1614876726 z8si17418573ilq.142 - gsmtp) +Mar 4 16:52:06 hedgehogct postfix/qmgr[739]: C9D42EC0ADD: removed +``` +L'indirizzo "somehost.localdomain" indica che è necessario apportare alcune modifiche, per cui occorre prima arrestare il demone postfix: + +`systemctl stop postfix` + +## Configurazione di Postfix + +Poiché non stiamo configurando un server di posta completo e perfettamente funzionante, le opzioni di configurazione che utilizzeremo non sono così ampie. La prima cosa da fare è modificare il file _main.cf_ (letteralmente il file di configurazione principale di postfix), quindi prima facciamo un backup: + +`cp /etc/postifix/main.cf /etc/postfix/main.cf.bak` + +Quindi modificarlo: + +`vi /etc/postfix/main.cf` + +Nel nostro esempio, il nome del server sarà "bruno" e il nome del dominio "ourdomain.com". Trovate la riga nel file: + +`#myhostname = host.domain.tld` + +È possibile rimuovere l'annotazione (#) o aggiungere una nuova riga sotto questa riga. In base al nostro esempio, la riga si dovrebbe leggere: + +`myhostname = bruno.ourdomain.com` + +Quindi, trovare la riga per il nome di dominio: + +`#mydomain = domain.tld` + +Rimuovere l'osservazione e modificarla, oppure aggiungere una nuova riga: + +`mydomain = ourdomain.com` + +Infine, andate in fondo al file e aggiungete questa riga: + +`smtp_generic_maps = hash:/etc/postfix/generic` + +Salvate le modifiche (in vi, sarà `Shift : wq!`) e uscite dal file. + +Prima di continuare a modificare il file generico, dobbiamo vedere come apparirà l'e-mail. In particolare, vogliamo creare il file "generic" a cui abbiamo fatto riferimento nel file _main.cf_ di cui sopra: + +`vi /etc/postfix/generic` + +Questo file indica a postfix come devono apparire le e-mail provenienti da questo server. Ricordate la nostra e-mail di prova e il file di log? È qui che risolviamo tutto questo: + +``` +root@somehost.localdomain root@bruno.ourdomain.com +@somehost.localdomain root@bruno.ourdomain.com +``` +Ora dobbiamo dire a postfix di utilizzare tutte le nostre modifiche. Questo viene fatto con il comando postmap: + +`postmap /etc/postfix/generic` + +Ora avviate postfix e testate di nuovo la vostra email usando la stessa procedura di cui sopra. Ora si dovrebbe vedere che tutte le istanze di "localdomain" sono state cambiate con il dominio effettivo. + +### Il Comando date e una variabile chiamata today + +Non tutte le applicazioni utilizzano lo stesso formato di registrazione della data. Ciò significa che potrebbe essere necessario essere creativi con qualsiasi script scritto per la creazione di rapporti per data. + +Supponiamo di voler esaminare il log di sistema come esempio e di voler estrarre tutto ciò che ha a che fare con dbus-daemon per la data odierna e inviarlo via e-mail a noi stessi. (Probabilmente non è l'esempio migliore, ma vi darà un'idea di come si fa.) + +Nel nostro script dobbiamo usare una variabile che chiameremo "today" e vogliamo che sia correlata all'output del comando "date" e che sia formattata in un modo specifico, in modo da poter ottenere i dati necessari dal nostro registro di sistema (in _/var/log/messages_). Per cominciare, facciamo un po' di lavoro di indagine. + +Per prima cosa, inserite il comando date nella riga di comando: + +`date` + +Questo dovrebbe fornire l'output predefinito della data di sistema, che potrebbe essere qualcosa di simile: + +`Thu Mar 4 18:52:28 UTC 2021` + +Ora controlliamo il log di sistema e vediamo come registra le informazioni. Per farlo, utilizzeremo i comandi "more" e "grep": + +`more /var/log/messages | grep dbus-daemon` + +Il che dovrebbe dare un risultato simile a questo: + +``` +Mar 4 18:23:53 hedgehogct dbus-daemon[60]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher' +Mar 4 18:50:41 hedgehogct dbus-daemon[60]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.1' (uid=0 pid=61 comm="/usr/sbin/NetworkManager --no-daemon " label="unconfined") +Mar 4 18:50:41 hedgehogct dbus-daemon[60]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher +``` + +La data e i log devono essere esattamente uguali nel nostro script, quindi vediamo come formattare la data usando una variabile chiamata "today". + +Per prima cosa, vediamo cosa fare con la data per ottenere lo stesso risultato del log di sistema. È possibile fare riferimento alla pagina [Linux man](https://man7.org/linux/man-pages/man1/date.1.html) o digitare `man date` sulla riga di comando per richiamare la pagina di manuale di date per ottenere le informazioni necessarie. + +Per formattare la data nello stesso modo in cui lo fa _/var/log/messages_, occorre usare le stringhe di formato %b e %e, dove %b è il mese di 3 caratteri e %e è il giorno con spazi. + +### Lo Script + +Per il nostro script bash, possiamo vedere che useremo il comando date e una variabile chiamata "today". (Tenete presente che il termine " today " è arbitrario. Si potrebbe chiamare questa variabile "late_for_dinner" se si vuole!). In questo esempio chiameremo il nostro script test.sh e lo collocheremo in _/usr/local/sbin_: + +`vi /usr/local/sbin/test.sh` + +Cominciamo con, beh, l'inizio del nostro script. Si noti che, anche se il commento nel nostro file dice che stiamo inviando questi messaggi alla posta elettronica, per il momento li stiamo solo inviando a un log output standard, in modo da poterne verificare la correttezza. + +Inoltre, nel nostro primo tentativo, stiamo acquisendo tutti i messaggi per la data corrente, non solo i messaggi di dbus-daemon. Ce ne occuperemo tra poco. + +Un'altra cosa da tenere presente è che il comando grep restituisce il nome del file nell'output, cosa che non vogliamo in questo caso, quindi abbiamo aggiunto l'opzione "-h" a grep per rimuovere il prefisso del nome del file. Inoltre, una volta impostata la variabile "today", dobbiamo cercare l'intera variabile come stringa, quindi dobbiamo metterla tra virgolette: + +``` +#!/bin/bash + +# imposta la stringa di date da far corrispondere /var/log/messages +today=`date +"%b %e"` + +# cattura i messaggi di dbus-daemon e li invia per posta elettronica +grep -h "$today" /var/log/messages +``` + +Per ora è tutto, quindi salvate le modifiche e rendete lo script eseguibile: + +`chmod +x /usr/local/sbin/test.sh` + +E poi testiamolo: + +`/usr/local/sbin/test.sh` + +Se tutto funziona correttamente, si dovrebbe ottenere un lungo elenco di tutti i messaggi di oggi in /var/log/messages, compresi, ma non solo, i messaggi di dbus-daemon. In caso affermativo, il passo successivo è quello di limitare i messaggi ai messaggi di dbus-daemon. Modifichiamo di nuovo il nostro script: + +`vi /usr/local/sbin/test.sh` + +``` +#!/bin/bash + +# imposta la stringa di date da far corrispondere /var/log/messages +today=`date +"%b %e"` + +# cattura i messaggi di dbus-daemon e li invia per posta elettronica +grep -h "$today" /var/log/messages | grep dbus-daemon +``` + +Eseguendo nuovamente lo script, si dovrebbero ottenere solo i messaggi di dbus-daemon e solo quelli che si sono verificati oggi (quando si sta seguendo questa guida). + +C'è però un ultimo passo da fare. Ricordate che è necessario inviare questo documento via e-mail all'amministratore per la revisione. Inoltre, poiché su questo server utilizziamo _postfix_ solo per i rapporti, non vogliamo lasciare il servizio in esecuzione, quindi lo avvieremo all'inizio dello script e lo fermeremo alla fine. Introdurremo qui il comando _sleep_ per fare una pausa di 20 secondi per assicurarci che l'e-mail sia stata inviata prima di spegnere nuovamente _postfix_. Questa modifica finale aggiunge i passaggi stop, start e sleep appena discussi e invia il contenuto all'e-mail dell'amministratore. + +`vi /usr/local/sbin/test.sh` + +E modificare lo script: + +``` +#!/bin/bash + +# avvia postfix +/usr/bin/systemctl start postfix + +# imposta la data da far corrispondere /var/log/messages +today=`date +"%b %e"` + +# cattura i messaggi di dbus-daemon e li invia per posta elettronica +grep -h "$today" /var/log/messages | grep dbus-daemon | mail -s "dbus-daemon messages for today" myname@mydomain.com + +# assicurarsi che l'e-mail sia terminata prima di continuare +sleep 20 + +# fermare postfix +/usr/bin/systemctl stop postfix +``` + +Eseguite nuovamente lo script e dovreste ricevere un'e-mail dal server con il messaggio dbus-daemon. + +È ora possibile utilizzare [un crontab](../automation/cron_jobs_howto.md) per programmare l'esecuzione a un'ora specifica. + +## Conclusione + +L'uso di postfix può aiutare a tenere traccia dei log dei processi che si desidera monitorare. È possibile utilizzarlo insieme allo scripting bash per avere una solida padronanza dei processi di sistema ed essere informati in caso di problemi.