Delucidazioni

Nuovo di Arch Linux? Nessun problema, fai qui le tue domande
Rispondi
emme90
Newbie
Messaggi: 2
Iscritto il: 19 marzo 2019, 19:45
Architettura: x86_64 (64bit)

Delucidazioni

Messaggio da emme90 » 24 marzo 2019, 18:58

Salve a tutti! Ho un computer fisso sul quale sto "giocando" con Linux. Vorrei imparare Linux tramite Arch cosí mi sto documentando. Forse, dato che sono un neofita sull'argomento, trovo problematica la wiki. Mi spiego, leggendo la Wiki mi sembra che sia scritta dando per scontato che si conosca Linux. Inoltre guardando dei video su Youtube, gli utenti autori dei video, eseguono molte piú operazioni rispetto a quelle proposte dalla Wiki. Dato che vorrei capire come funziona e non solo eseguire comandi alla cieca trovo veramente difficile l'installazione. I driver? Gli ambienti grafici? Dove trovo una guida completa, passo dopo passo? Come avete fatto voi ad imparare se il materiale sembra essere scritto tutto per chi gia sa? Scusate e grazie mille per l'attenzione!

Avatar utente
TheSaint
Robin Hood
Messaggi: 7683
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Re: Delucidazioni

Messaggio da TheSaint » 25 marzo 2019, 5:06

Se vuoi usare linux, meglio che inizi con una installazione semplice di quelle fatte per utonti.
Quando si avrà acquisito un certo bagaglio di esperienze, sarai pronto ad usare anche Archlinux, o quelle distro che hanno bisogno di una preparazione di amministrazione del sistema.
La mia impressione è che come minimo ti serve:
  1. anglosofia (una mia parola coniata, dal greco, che significa sapere inglese)
  2. non dare rilevanza a video o siti di vaga provenienza. Di solito non sono mantenuti e neanche aggiornati
  3. segui il wiki della distro. Più precisamente quello in lingua inglese che dovrebbe essere quello meglio mantenuto
Se, questo non ti impressiona, le operazioni di una installazione si risolvono abbastanza rapidamente in poche decine di minuti. Del resto basta seguire i comandi spiegati dal wiki. Ovviamente si comincia con le preparazioni di base e quindi si ha un piccolo script che completa l' installazione.

Per evitare rischi di sconvolgimento del sistema in uso, direi che si parte con il fare esperienze in macchina virtuale (virtualbox o vmware, per esempio) e vedere le problematiche da risolvere.

Eventualmente, consiglio, di fare una prova su un dispositivo di massa esterno. Basterà 8 o 16 Gb di memoria di massa per provare la installazione. Questo metodo darà la prova completa di installazione anche a riguardo la scheda grafica. Con una macchina virtuale questo caso è emulato.

Ultimo suggerimento, cerca nel forum che l' argomento è stato trattato e descritto molte volte. Tanto da evitare di annoiare i frequentatori con l' impressione di aria fritta ;)
F the saint
11 anni da questo forum ;)

emme90
Newbie
Messaggi: 2
Iscritto il: 19 marzo 2019, 19:45
Architettura: x86_64 (64bit)

Re: Delucidazioni

Messaggio da emme90 » 26 marzo 2019, 13:53

Grazie mille per le info! Sto usando una minimale di Debian ora. Piano piano vedo come aggiungere pacchetti.

Avatar utente
TheSaint
Robin Hood
Messaggi: 7683
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Re: Delucidazioni

Messaggio da TheSaint » 27 marzo 2019, 4:34

Bene!
Potresti anche tenere la debian e cominciare alcuni esperimenti con la Arch.
Avrai capito come si preparano le partizioni, da questo dovresti fare un po di posto per la Arch, magari con gparted. Da quello tieni nota l' assegnazione della partizione (qualcosa come sdaN, N un numero) e quindi non dovresti aver difficoltà a fare delle prova.
Ma forse come dicevo, potresti farlo su dispositivo esterno (qualcosa come sdXN, X una lettera e N un numero). Con questo modo non fai pasticci su quello che funziona.
Con gparted capirai quale dispositivo è quello esterno ;)
F the saint
11 anni da questo forum ;)

Avatar utente
vda
Arciere Provetto
Messaggi: 587
Iscritto il: 13 febbraio 2011, 10:53

Re: Delucidazioni

Messaggio da vda » 23 aprile 2019, 16:18

Ciao emme90,

comprendo perfettamente la tua difficoltà, che è stata prima ancora la mia, e condivido pienamente il consiglio dell'ottimo TheSaint al quale devo la soluzione di moltissimi problemi incontrati negli anni di frequentazione di questo forum.

Sperando di farti cosa gradita, di seguito i miei personali appunti (purtroppo di qualche tempo fa, quindi non aggiornatissimi) sull'installazione di Arch Linux. Ovviamente non hanno pretesa di volersi sostituire alla documentazione ufficiale e, nella loro insufficienza, riflettono le mie personalissime scelte (dal partizionamento alla scelta del boot loader o del DE così come delle applicazioni e dei servizi da installare). Ma sono stati scritti con l'intento di essere il più possibile "ragionati" e chiari proprio al neofita che ero e che in parte ancora mi ritengo. Possono quindi costituire un primo punto di partenza, se non per altro, quantomeno per mettere a fuoco i passaggi salienti del procedimento e per avere idea degli elementi chiave da sviscerare prima di accingersi all'installazione vera e propia.

Codice: Seleziona tutto


Installazione ArchLinux
=======================


********************************************
*                                          *
*      PREPARAZIONE ALL'INSTALLAZIONE      *
*                                          *
********************************************


0. Avviare il computer cd/usb di installazione inenseriti


1. Impostare la mappatura della tastiera: al propmpt dei comandi, per abilitare la tastiera italiana, digitare  

	# loadkeys it


2. Preparare il supporto (hd, disco usb, etc.) al processo di installazione.  

	2.0 Tipi di partizionamento MS-DOS / GPT 

		Come noto, partizionare un disco significa definirne al suo interno delle aree dati distinte. Operativamente questo si traduce nella compilazione
		di una "Tabella delle Partizioni" dove registrare l'inizio, la fine e le caratteristiche di ciascuna partizione. Esistono molti protocolli per la
		creazione e la gestione di una tabella delle Partizioni di un disco, ma due sono attualmente i più diffusi: 

			- MS-DOS: deve il suo nome al fatto di essere stato lungamente funzionale all'uso del Microsoft Disk Operating System. Prevede una Tabella
 			  delle Partizioni interamente allocata all'interno del Master Boot Record del disco (ovvero entro i suoi primi 512 byte, da cui l'ulteriore
                          appellativo di "Partizionamento MBR"), la presenza di non più di 4 partizioni "primarie" sullo stesso disco (tale limite viene di norma
			  aggirato mediante l'adozione di una speciale partizione "estesa", composta a sua volta di più partizioni "logiche", in luogo di una delle 
			  4 partizioni primarie suddette), ed un limite fisico alla dimensione del disco. 

			- GPT (Globally Unique Identifier Partition Table): rappresenta l'evoluzione del precedente partizionamento. In particolare, GPT supera i
			  limiti del MBR introducendo una particolare partizione di sistema, la "Partizione EFI" o "ESP" (EFI System Partition). Il termine EFI
			  origina dal fatto che GPT nasce all'interno di un progetto più ampio, l'UEFI (Unified Extensible Firmware Interface), il cui obiettivo è
			  quello di sostituirsi gradualmente al tradizionale BIOS (Basic Input/Output System), lo strato sw posto fra l'hardware della macchina ed 
			  il sistema operativo. UEFI già da qualche anno riscuote un notevole successo, ed è per tale motivo che allo stato attuale è abbastanza
			  frequente trovare partizionamenti di tipo MBR in sistemi che ancora utilizzano BIOS, mentre è più facile incontrare tabelle delle partizioni
			  di tipo GPT in sistemi di più recente costruzione equipaggiati con UEFI. 

		In definitiva, ove possibile, il partizionamento di tipo GPT è preferibile al MBR. In merito, si sappia che nulla impedisce di adottare GPT anche in
 		sistemi con supporto BIOS. Tuttavia, data la scarsa diffusione di tale combinazione, in questa sede si preferirà parlare di partizionamento MBR in
 		sitemi BIOS, e di partizionamento GPT in sistemi UEFI. 


	2.1 Strumenti per il partizionamento

    		Per partizionare un disco sono disponibili molti strumenti. Fra questi,    

			- dovendo gestire tabelle MS-DOS è consigliabile utilizzare i tool FDISK o CFDISK. In questi casi, la raccomandazione è quella di rendere
			  avviabile la partizione che dovrà ospitare la directory di sistema /boot. 
	
			- per gestire tabelle di tipo GPT, sono invece più indicate le utility GDISK o CGDISK (disponibili sul disco di installazione). In questi
			  casi, è obbligatoria la presenza di una partizione EFI del tipo su esposto. Una partizione EFI (tipo EF00) deve rispondere a specifici
			  requisiti: non essere di dimensione inferiore ai 512 Mb ed adottare un file-system di tipo FAT32. É peraltro usuale definire EFI per prima
			  fra le partizioni su disco. 

    		Una volta create le partizioni (vale a dire, una volta scritta la tabella delle partizioni), utilizzare i tool mkfs.fat, mkfs.ext2, mkfs.ext3,
 		mkfs.ext4, mkswap, etc. per dotare le stesse del file-system più appropriato. Obbligatorio, in ogni caso, adottare per la partizione UEFI il 
		file-system FAT32.


	2.2 Schemi di partizionamento
     
    		Di seguito, un esempio di schema di partizionamento. A questo schema si farà riferimento nel proseguo di questo documento riferendosi a tabelle delle
 		partizioni di tipo MBR in sistemi BIOS.  


			Device     Boot	Type		File system	Mount point
			------------------------------------------------------------

			...

			/dev/sda4       Extended	
			/dev/sda5  *    Linux		ext4		/
			/dev/sda6       Linux		ext4		/home
			/dev/sda7       Linux		ext4		/boot
			/dev/sda8       Linux		ext4		/var
			/dev/sda9      	Linux swap	linux-swap

			...


    		Quello che segue, invece è un esempio di partizionamento GPT; anche questo verrà preso a riferimento di seguito per sistemi UEFI. 


			Device		Type		File System	Mount point
			------------------------------------------------------------
			/dev/sda1	EFI		FAT32		/boot

			...

			/dev/sda5       Linux		ext4		/
			/dev/sda6       Linux		ext4		/home
			/dev/sda7       Linux		ext4		/var
			/dev/sda8      	Linux swap	

			...

			Nota: per ragioni che saranno chiare a breve, conviene di norma montare la partizione EFI in /boot.


3. Accedere alla rete

	3.0 Connessioni via cavo

		La connessione di rete via cavo dovrebbe essere disponibile senza ulteriore intervento e il servizio DHCP assegnerà automaticamente un indirizzo IP
		al pc in uso. Per conoscere tale indirizzo, è possibile eseguire

			# ifconfig

		oppure 

			# ip addr

		Verranno fornite indicazioni sulle interfacce di rete disponibili e sulle relative configurazioni


	3.1 Connessioni Wireless

		Se viceversa fosse necessario connettersi ad una rete wireless, 

			- Indentificare l'interfaccia di rete wireless 

				$ iw dev

			- Attivare l'interfaccia di rete wireless

				$ ip link set <nome_interfaccia_wireless> up

			- Connettersi ad una rete wireless

				- mediante utility wifi-menu:

					# wifi-menu <nome_interfaccia_wireless>

			  	- o manualmente:

					- identificare le reti disponibili

						# iw dev <nome_interfaccia_wireless> scan

					- accedere alla rete 

						- in presenza di rete aperta 

							# iw dev <nome_interfaccia_wireless> connect <SSID_rete>

						- in caso di rete con chiave a cifratura WEP a 64 o 128 bit

							# iwconfig <nome_interfaccia_wireless> essid '<SSID_rete>' key '<chiave_rete>'

						- per reti con chiave a cifratura WPA/WPA2

							# wpa_passphrase "<SSID_rete>" "<chiave_rete>" > <path_file_a_piacere.cfg>

							# wpa_supplicant -i <nome_interfaccia_wireless> -c <path_file_a_piacere.cfg> -B


			- Ottenere un indirizzo di rete (dinamico tramite DHCP)

				# dhcpcd <nome_interfaccia_wireless>


		3.2 Impostare un indirizzo statico

			Qualora si avesse necessità di assegnare ad un'interfaccia di rete (wired o wireless) un particolare indirizzo statico, questa la procedura

				- interrompere il servizio DHCP

					# systemctl stop dhcpcd.service

				- verificare il nome dell'interfaccia di rete: un elenco delle interfacce di rete disponibili si ottiene ad esempio tramite il comando 

					# ip link    
				
				- attivare (ove necessario) l'interfaccia di rete desiderata

					# ip link set <nome_interfaccia> up  					(es. # ip link set eth0 up)

				- assegnare all'interfaccia un indirizzo IP

					# ip addr add <indirizzo_ip>/<mask_bits> dev <nome_interfaccia>		(es. # ip addr add 192.168.1.2/24 dev eth0)

				- specificare il default gateway della rete 

					# ip route add default via <indirizzo_ip_gateway>			(es. # ip route add default via 192.168.1.1)

				- indicare gli indirizzi dei server DNS all'interno del file /etc/resolv.conf 

					es:

						# nano /etc/resolv.conf
						------------------------------------
	 					nameserver 61.23.173.5
	 					nameserver 61.95.849.8
	 					search example.com


		3.3 Verificare la connessione

			Per verificare la possibilità di inviare pacchetti dalla macchina in uso, eseguire ad esempio:

				# ping -c 3 www.archlinux.org 



**********************************************
*                                            *
*      INSTALLAZIONE DEL SISTEMA DI BASE     *
*                                            *
**********************************************


4. Montare le partizioni: con riferimento agli schemi di partizionamento del paragrafo 2.2, sarà 

	- Sistemi BIOS / partizionamento MBR:

		es:	# mount /dev/sda5 /mnt
			# mkdir /mnt/home && mount /dev/sda6 /mnt/home
			# mkdir /mnt/boot && mount /dev/sda7 /mnt/boot
			# mkdir /mnt/var && mount /dev/sda8 /mnt/var

	- Sistemi UEFI / partizionamento GPT (la partizione ESP viene montata come partizione di /boot)

		es:	# mount /dev/sda5 /mnt
			# mkdir /mnt/home && mount /dev/sda6 /mnt/home
			# mkdir /mnt/boot && mount /dev/sda1 /mnt/boot
			# mkdir /mnt/var && mount /dev/sda7 /mnt/var

   e attivare la partizione di swap:

		# swapon /dev/sda9


5. Scegliere l'origine dei dati per l'installazione: ordinando il contenuto del file /etc/pacman.d/mirrorlist, viene specificata l'ordine di priorità 
   geografica da seguire nel download dei file di installazione.

	# nano /etc/pacman.d/mirrorlist


6. Copiare su disco i file di sistema

	# pacstrap /mnt base


7. Generare il file fstab

	# genfstab -U /mnt > /mnt/etc/fstab

   Nota: l'utility genfstab genera automaticamente il file fstab, utilizzato, come noto, dal sistema per il montaggio automatico delle partizioni all'avvio. 
         L'istruzione accetta come parametri:

		-p: le partizioni vengono referenziate secondo la nomenclatura classica sdxy (x = disco; y = partizione)  
		-U: le partizioni vengono specificate in base al proprio UUID. Preferibile per installazioni su dischi esterni
		-L: le partizioni vengono referenziate in base all'etichetta   


8. Accedere al sistema di base

	# arch-chroot /mnt


9. Se desiderato, abilitare all'interno del sistema di base i servizi di rete

	_# systemctl enable dhcpcd.service

	Se si sta utilizzando una connessione wireless installare anche i pacchetti

		_# pacman -S wireless_tools wpa_supplicant wpa_actiond dialog


9. Ove necessario, creare un ambiente iniziale ramdisk
	
	_# mkinitcpio -p linux			

   Nota: solo in alcuni casi si renderà necessario creare manualmente un ambiente di ramdisk. É, tuttavia, questo il caso di installazioni su supporto USB.
         In tale evenienza, sarà necessario modificare preventivamente il conenuto del file /etc/mkinitcpio.conf, aggiungendo nella riga degli HOOKS "usb" 
         dopo "udev".  


10. Installare e configurare un bootloader

	L'installazione del bootloader è forse la parte più delicata dell'intero processo di installazione. Il bootloader ha difatti il compito di verificare i
        differenti sistemi operativi disponibili su disco, proporne la scelta all'utente ed avviarne l'esecuzione. A tal fine il bootloader ha necessità di
        interfacciarsi col BIOS / UEFI, ragione questa per la quale sarà necessario adottare un differente bootloader a seconda del sistema in uso. Infine, la 
        scelta del bootloader deve tener conto del tipo di partiuzionamento adottato.         

	Di seguito, i principali fra i bootloader disponibili 

	10.0 Bootloader per sistemi BIOS / partizionamento MBR

		10.0.0 GRUB

			L'installazione del bootloader GRUB prevede più passaggi:

			 - Recupero ed installazione del pacchetto 
 
				_# pacman -S grub

			 - Modifica del MBR
 
				_# grub-install --target=i386-pc --recheck --debug /dev/sda

			 - Configurazione: viene scritta all'interno del file /boot/grub/grub.cfg e può ottenersi in modo

				- automatico   

					_# grub-mkconfig -o /boot/grub/grub.cfg

				- o manuale 

					_# nano /boot/grub/grub.cfg
        				-----
					set timeout=5				# timeout menu
					set default=0				# default boot entry

					# (0) Arch Linux
					menuentry "Arch Linux" {
					set root=(hd0,5)			# partizione di boot (che contenente il kernel e i moduli di GRUB)
					linux /vmlinuz-linux root=/dev/sda3 ro  # path kernel (rispetto alla partizione di boot) + partizione di Root
					initrd /initramfs-linux.img		# path immagine linux (rispetto alla partizione di boot)	
					}

					## (1) Windows
					menuentry "Windows" {
					set root=(hd0,1)
					chainloader +1
					}



		10.0.1 SYSLINUX

			Anche per installare SYSLINUX sono necessari più step:

			 - Recupero ed installazione del pacchetto

				_# pacman -S syslinux 	

			 - Modifica del MBR su disco: può ottenersi 

				- automaticamente: 

					_# syslinux-install_update -iam     

				- o manualmente:  
 
					_# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sda

			 - Configurazione: la configurazione di SYSLINUX risiede nel file /boot/syslinux/syslinux.cfg

				_# nano /boot/syslinux/syslinux.cfg
				------
				...
				LABEL arch
					MENU LABEL Arch Linux
					LINUX ../vmlinuz-linux		# ../kernel (indipendentemente dalla partizione su cui risiede) 
					APPEND root=/dev/sda6 rw	# partizione / di Root 
					INITRD ../initramfs-linux.img	# ,,/immagine linux (indipendentemente dalla partizione su cui risiede)
                                ...
				LABEL windows
					MENU LABEL Windows 8.1
					COM32 chain.c32
					APPEND hd0 1
                                ...


	10.1 Bootloader per sistemi UEFI / partizionamento GPT


		10.1.0 Gummiboot

			Nota: di seguito, viene indicato con $esp il mount-point della partizione EFI, es. /boot 


			 - Recupero del pacchetto

				_# pacman -S gummiboot

			- Installazione

				_# gummiboot --path=$esp install

			
			- Configurazione

				_# nano $esp/loader/entries/arch.conf		(la directory $esp/loader/entries deve contenere un file diverso per ogni voce di menu)
				------
				title          Arch Linux
				linux          /vmlinuz-linux			# path del kernel (rispetto alla partizione EFI)	
				initrd         /initramfs-linux.img		# path dell'immagine linux (rispetto alla partizione EFI)
				options        root=/dev/sda2 rw		# partizione di Root

				_# nano $esp/loader/entries/arch.conf		(la directory $esp/loader/entries deve contenere un file diverso per ogni voce di menu)
				------
				title          Arch Linux Fallback
				linux          /vmlinuz-linux			# path del kernel (rispetto alla partizione EFI)	
				initrd         /initramfs-linux-fallback.img	# path dell'immagine linux (rispetto alla partizione EFI)
				options        root=/dev/sda2 rw		# partizione di Root
			

				_# nano $esp/loader/loader.conf	
				------
				default	arch					# sta per "arch.conf", nome del file dichiarato precedentemente
				timeout	4					# tempo di attesa scelta opzione da parte utente


		10.1.1 efibootmgr (avvio diretto senza bootloader)

			Rispetto al BIOS, UEFI è in grado di avviare direttamente un sistema operativo, senza necessariamente ricorrere ad un bootloader. Per
                        interagire con UEFI, sarà necessario installare EFI Boot Manager e, attraverso questo, aggiungere un'opzione alla gerarchia UEFI
			d'avvio predefinita:

				- Avvio da CD 
				- Avvio da HD
				- UEFI Shell 
						
			Operativamente, 

				- installare EFI Boot Mnager

					_# pacman -S efibootmgr

				- configurare la nuova opzione d'avvio

					_# efibootmgr -c -d /dev/sdX -p Y -l /vmlinuz-linux -u "root=/dev/sdXZ rw initrd=/initramfs-linux.img" -L "Arch Linux"	

				     dove:

					sdX = disco che ospita la partizione EFI (X = a, b, c, ...)
					Y   = numero della partizione EFI (Y = 1, 2, 3, ...)
					Z   = numero della partizione di Root

					-c  = opzione "create"
					-d  = opzione "disk"
					-p  = opzione "partition"
					-l  = opzione "loader"
					-L  = opzione "label" 

				- verificare l'avvenuta creazione della nuova opzione

					_# efibootmgr -v  

				- modificare l'ordine di priorità d'avvio

					_# efibootmgr -o 0004,0000,0001,0003 

				- se necessario, eliminare l'opzione aggiunta

					_# efibootmgr -b 4 -B

				  e cominciare nuovamente
				

11. Uscire dall'ambiente chroot  

	_# exit



**********************************************
*                                            *
*     CONFIGURAZIONE DEL SISTEMA DI BASE     *
*                                            *
**********************************************


12. Riavviare senza disco di installazione

	- # reboot

	- autenticarsi come amministratore di sistema "root"

	- impostare (provvisoriamente) la tastiera 

		# loadkeys it 


13.  Configurare l'utente amministratore di sistema

	Eseguire 

		# passwd

	e digitare e confermare la password per l'utente root 


14. Impostare il nome della macchina

	# echo <host_name> > /etc/hostname


15. Definire le impostazioni geografiche locali

	- generare i locales

		- abilitare in /etc/locale.gen le voci relative alla lingua di interesse (es. it_IT...)

		- generare i locales abilitati eseguendo

			# locale-gen

	- applicare i locales appena generati 

		# echo locale > /etc/locale.conf

	     o più semplicemente
 
		# echo LANG=it_IT.UTF-8 > /etc/locale.conf


16. Impostare definitivamente la tastiera
	
	# echo KEYMAP=it > /etc/vconsole.conf	

	Nota: tale configurazione vale esclusivamente per la console e varrà dal prossimo avvio  


17. Impostare l'ora

	# ln -s /usr/share/zoneinfo/Europe/Rome /etc/localtime

	# hwclock --systohc --utc

    Nota: nei sistemi Linux, è abituale distinguere fra due differenti orari: 

		- Hardware Clock: è il tradizionale orologio del computer, quello che è possibile impostare direttamente da BIOS. Esso è anche noto coi nomi di RTC
				  (Real Time Clock) o orologio CMOS.   
		- System Time:    è viceversa l'orario proprio del Kernel Linux.
	
	  Non è detto che i due orari debbano necessariamente coincidere. Se, difatti, l'hardware clock si mantiene aggiornato per mezzo della batteria tampone del
          computer, il system Time, potrebbe venir aggiornato da servizi di rete (es. Network Time Protocol). 

	  Inoltre, per il calcolo del System Time, possono essere adottati due differenti standard di misura:

		- UTC:		  il "Tempo Coordinato Universale" coincide di fatto il Greenwich Mean Time (GMT), calcolato come il numero di secondi trascorsi dal 
				  1 Gennaio 1970. UTC può essere assunto come orario di riferimento per il calcolo dei fusi orari nel mondo.
		- Local Time:  	  l'orario comunemente adottato in un determinato territorio ai fini sociali, legali e commerciali

	  Si osservi dunque che, mentre nel caso di Local Time il valore del System Time viene semplicemente importato da qualche fonte ufficiale sul territorio, nel
          caso di UTC il valore del System Time è il risultato del calcolo del fuso orario in base alla zona in cui ci si trova. 

	  Quanto detto fornisce una chiave di lettura per l'interpretazione delle istruzioni precedenti: 

		- l'opzione "--systohc" sta per "System Clock to Hardware Clock" ed indica che, all'avvio di sistema, l'orologio CMOS viene reimpostato secondo il
		  valote del System Time

		- l'opzione --utc indica che il System Time deve essere letto come Tempo Coordinato Universale
		
		- l'informazione della zona geografica dove si opera è contenuta in /etc/localtime

		- sulla base dell'UTC e della posizione geografica viene calcolato il tempo attuale         	       



**********************************************
*                                            *
*     COMPLETAMENTO DELL'INSTALLAZIONE       *
*                                            *
**********************************************

18. Riavviare il sistema

	- # reboot

	- autenticarsi come utente amministratore "root" (la password è quella impostata in precedenza)


19. Accedere alla rete

	La connessione di rete via cavo dovrebbe essere disponibile senza ulteriore intervento. Verificare in ogni caso che il servizio dhcpcd sia abilitato e 
	funzionante

		# systemctl status dhcpcd.service

	Nel caso in cui il servizio non fosse attivo, eseguire
 	
		# systemctl enable dhcpcd.service
		# systemctl start dhcpcd.service 

	Se, viceversa fosse necessaria una connessione di rete wireless, 

		3a. indentificare l'interfaccia di rete wireless 

			# ip link

		3b. attivare l'interfaccia di rete wireless

			# ip link set <nome_interfaccia_wireless> up

		3c. connettersi ad una rete wireless

			# wifi-menu <nome_interfaccia>

	Verificare la connettività:

		# ping -c 3 www.archlinux.org 


20. Aggiornare il sistema

	# pacman -Syy
	# pacman -Syu


21. Aggiungere eventuali utenti

	# useradd -m -g users -G wheel,audio,games,lp,optical,power,scanner,storage,video -s /bin/bash <nome_utente>

	Note: 	- per visualizzare tutte le opzioni dell'utility useradd, digitare 

			# useradd --help

		  si scoprirà allora che:

			-m: 	crea la directory /home/<nome_utente> per il nuovo utente
			-s:     indica la shell di riferimento per il nuovo utente
			-g: 	indica il princioale gruppo di appartenenza del nuovo utente
			-G: 	indica la lista dei gruppi accessori per il nuovo utente   

		- per elimminare un utente utilizzare 

			# userdel -r <nome_utente>	(l'opzione -r cancella la directory /home/<nome_utente>)
		
		- la lista degli utenti è contenuta nel file /etc/passwd 

			# cat /etc/passwd | sort | less	(l'istruzione sort ordina alfabeticamente l'elenco; less consente di scorrere l'elenco in una pagina)

		- la lista dei gruppi è contenuta nel file /etc/group

			# cat /etc/group | sort | less

		- per visualizzare la lista dei gruppi ai quali un utente appartiene:

			# groups [<nome_utente>]  

		- per creare un nuovo gruppo

			# groupadd <nome_gruppo>	(per tutte le possibili opzioni "# groupadd --help")

		- per eliminare un gruppo 

			# groupdel

		- per aggiungere un utente ad un gruppo:

			gpasswd -a <nome_utente> <nome_gruppo>

		- per eliminare un utente da un gruppo:

			gpasswd -d <nome_utente> <nome_gruppo>


	21.a Impostare la password 

		# passwd <nome_utente>
					


22. Installare sudo

	# pacman -S sudo		

	Configurare opportunamente /etc/sudoers


23. Cambiare utente

	# su <nome_utente>	


24. Configurare l'audio con ALSA

	$ sudo pacman -S alsa-utils alsa-oss				[installa gli strumenti di amministrazione di Alsa]
	$ alsamixer							[lancia AlsaMixer per impostare i livelli dei singoli canali audio: 
										- tasto M per attivare/disattivare un canale
										- tasti Su/Giù per aumentare/diminuire il livello di un canale o per 
											abilitare/disabilitare la modalità auto-mute (se abilitato, come di 
											default, esclude audio dalle casse con gli auricolari connessi)
 										- barra spaziatrice per abilitare/disabilitare il microfono interno CAPTURE
										- ESC per uscire da alsamixer]
	$ aplay /usr/share/sounds/alsa/Front_Center.wav			[effettua un test audio]
	$ sudo alsactl store						[salva le impostazioni di Alsa]


25. Installare il Server Grafico X

	Nota: X.Org (o più semplicemenet Xorg, o X, o X11) è l'implementazione Open Source di X Windows System, lo standard grafico curato dalla X.Org Foundation
       	      per la gestione dei principali aspetti grafici in un sistema: disegnare e muovere le finestre, consentire l'interazione dell'utente con la macchina
	      tramite tastiera e mouse, etc.    

	L'installazione di X si articola in più passi 

	- Installazione del software 
	
		$ sudo pacman -S xorg-server 				[anche se non indispensabili, potrebbero risulrarte utili anche xorg-server-utils e mesa-demos]
	
	- Installazione dei driver grafici 

		- per l'utilizzo di mouse/touchpad è di norma sufficiente installare uno dei driver

			xf86-input-mouse
			xf86-input-synaptics
		
	  	  in ogni caso, per avere l'elenco completo dei driver disponibili per i dispositivi di input, eseguire 

			$ sudo pacman -Ss xf86-input  
 
		- per l'uso del monitor,

			verificare il tipo di scheda video montata, col comando 

				$ lspci | grep -i VGA

			a seconda della scheda, installare un driver fra 

				xf86-video-ati		per schede video ATI
				xf86-video-intel	per schede video intel
				xf86-video-nouveau	per schede video Nvidia
				xf86-video-openchrome   per schede video VIA  

			in alternativa è possibile installare il driver xf86-video-vesa che copre (a meno di funzionalità specifiche) la quasi totalità delle schede
		        grafiche in commercio. 

			In caso di problemi, provare ad installare anche xf86-video-fbdev (driver per il framebuffer della scheda video) 

		  Per ottenere l'elenco completo dei driver grafici

			$ sudo pacman -Ss xf86-video 

		- [Opzionale] Avviare e testare X: per verificare il corretto funzionamento di X 

			- installare il pacchetto  

				$ sudo pacman -S xorg-xinit

			- installare un ambiente di test

				$ sudo pacman -S xorg-twm xorg-xclock xterm

			- avviare X:

				$ startx		N.B. 	É necessario eseguire il comando dalla stessa tty sulla quale ci si è autenticati.

								Lo script "startx" è, in realtà, un front-end per il comando "xinit". Quando invocato, startx (o xinit)
								cercherà di leggere il file .xinitrc nella directory home dell'utente che ha eseguito il comando. In
								assenza del file ~/.xinitrc, verrà letto il file globale predefinito /etc/X11/xinit/xinitrc, il quale
								ha come impostazione di default, quella di avviare un ambiente di base con il window manager Twm,
								l'emulatore di terminale Xterm ed un piccolo applicativo di test quale Xclock. Se  si avesse necessità
								~/.xinitrc, dopo l'installazione di xorg-xinit, una copia non ancora configurata sarà dsponibile in
								/etc/skel.   

			- per terminare X

				# pkill X

		- I file di configurazione di X si trovano in /etc/X11/xorg.conf.d, ma di norma nessuna configurazione aggiuntiva è richiesta.




**********************************************
*                                            *
*     INSTALLAZIONE DI UN D.E. (Xfce)	     *
*                                            *
**********************************************

26. Istallare Xfce

	La scelta di un Desktop Enviroment è estremamente soggettiva. In questa sede si sceglie Xfce4 per via delle sue caratteristiche di leggerezza e semplicità 
	d'uso. D'altra parte, i passaggi qui riportati sono in gran misura validi anche per l'installzione di altri D.E.

  	L'installazione di Xfce4 richiede differenti passaggi:

	- Installazione del sw
		
		$ sudo pacman -S xfce4
		$ sudo pacman -S xfce4-goodies

	- Verifica dell'installazione: testare l'avvio di Xfce attraverso: 

		$ startxfce4 				(Nota:	per funzionare Xfce si appoggia al server X. Valgono di conseguenza le stesse considerazioni già fatte
								in quella sede)   

	- Verificare le funzioni di riavvio, ibernazione e spegnimento del sistema tramite apposito pulsante (in alto a dx): tali funzionalità sono consentite
		attraverso il sever X anche al semplice user per merito del servizio systemd-logind. Qualora, quindi, le suddette operazioni non fossero ancora
		abilitate, eseguire

			$ sudo systemctl enable systemd-logind.service
			$ sudo systemctl start systemd-logind.service

	- Installazione degli strumenti per la gestione dei permessi 

		- Gksu è l'interfaccia grafica per sudo. Necessario per lanciare applicazioni che richiedono i diritti di amministrazione. Per installare

			$ sudo pacman -S gksu
				
		- Polkit è un sistema per la gestione automatica della concessione di diritti agli utenti. Completa l'azione di systemd-logind e si compone di una
		  parte server ("polkit") e di un authentication-agent (generalmente "polkit-gnome-authentiacation-agent"). Di norma, sia polkit, sia polkit-gnome
		  risultano installati e configuirati in Xfde4. Qualora, tuttavia, così non fosse procedere come segue:    

			$ sudo pacman -S polkit
			$ sudo pacman -S polkit-gnome
			
		  Configurare Xfce4 per eseguire automaticamente all'avvio l'agent di polkit-gnome /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1:   

		  	Start > Impostazioni > Sessione e avvio > Avvio automatico > Aggiungi > Comando: /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1

		  In alternativa a polkit-gnome è possibile installare lxsession. In tal caso, Xfce4 deve essere configurato per eseguire automaticamente
		  l'auhentication agent

			/usr/bin/lxpolkit  


	- Installazione di specifici file system

		- gvfs: Gnome Virtual File System è un file system virtuale per gnome che consente agli utenti di accedere a differenti tipi di file system remoti
		- gvfs-mtp: Implementazione del Media Transfert Protocol per accedere a dispositivi Android 
		- ntfs-3g: implementazione open source del file system ntfs di Microsoft
		- gvfs-smb: consente di accedere a risorse condivise anche su macchine windows 
	
	- Consentire l'accesso a risorse condivise anche in reti miste

		Installare il client samba 

			$ sudo pacman -S smbclient 

		Notare che tale operazione consente di accedere a file condivisi su altri computer windows, non a condividere risorse della propia macchina. É 
		comunque necessario aver installato preventivamente gvfs-smb. 

		Per accedere alla condivisione puntare da Thunar a:

			smb://nome_server/condivisione

	- Installazione di un gestore di password: GNOME Keyring is a collection of components that store secrets, passwords, keys, certificates and make 
	  them available to applications.

			$ sudo pacman -S gnome-keyring [seahorse] 


	- Installazione di un file finder compatibile con Thunar: Catfish 	

		# pacman -S catfish
		# pacman -S mlocate				(Catfish utilizza locate che non è di default presente in Arch Linux) 	 
		# pacman -S zeitgeist tracker strigi pinot	(dipendenze di catfish per la ricerca testuale)

		Nota: per integrare catfish in Thunar: Modifica -> Imposta azioni personalizzate -> Base -> Nome: "Search"; Descrizione: "Find files or folders";
		      Comando: "catfish %f" -> Condizioni di visibilità -> selezionare solo "Cartelle"

	- Installazione di un gestore di archivi (compatibile con Thunar - File roller) 

		# sudo pacman -S file-roller 
		# sudo pacman -S tar gzip bzip2 zip unzip unrar p7zip arj xz lzop unace
		
		Nota: è possibile installare da aur anche rar; l'integrazione di File-Roller in Thunar è automatica 


	- Configurazione dei servizi di rete
	
		$ sudo pacman -S networkmanager
		$ sudo pacman -S network-manager-applet

	  Nota: disabilitare altri servizi di rete ed abilitare quello di NetworkManager
	
		$ sudo systemctl disable dhcpcd.service 
		$ sudo systemctl enable NetworkManager.service

	  Per il riconoscimento e l'utilizzo di hardware di rete particolare (ad es. internet-key), è opportuno installare anche i pacchetti Modem Manager e
	  Usb_modeswitch 

			# pacman -S modemmanager
			# pacman -S usb_modeswitch

	- Installazione driver Bluetooth: se utile, installare i driver per il bluetooth e relativo pannello di configurazione

			# pacman -S bluez
			# systemctl enable bluetooth.service
			# pacman -S gnome-bluetooth


	- Impostare l'audio: Pulseaudio

		PulseAudio è un server audio utilizzato comunemente da ambienti desktop e ha funzione di proxy per le applicazioni che richiedano l'utilizzo 
		dell'audio utilizzando componenti come ALSA. 

		Installazione:

			# pacman -S pulseaudio
			# pacman -S pulseaudio-alsa	[per integrazione con Alsa]
			# pacman -S pavucontrol		[interfaccia per configurazione] 

			(Si installino inoltre lib32-libpulse e lib32-alsa-plugins se si è su un sistema a 64 bit e si utilizzano applicazioni multilib a 32 bit come
			Skype).

		Avvio:

			La maggior parte degli ambienti grafici avviano PulseAudio automaticamente. Tuttavia, nel caso in cui PulseAudio non venisse automaticamente
			avviato all'avvio di X, può essere avviato con:

				$ pulseaudio --start

			PulseAudio può essere interrotto con:

				$ pulseaudio --kill

		Installazione di un controllo volume (volumeicon)

			# sudo pacman -S volumeicon

			Nota: affinchè il controllo volume venga visualizzato permanentemente nell'area di notifica, Menu -> Impostazioni -> Sessione e avvio -> Avvio
			      automatico -> Aggiungi -> Comando: "volumeicon"

		- plugin del gestore energia: direttamente selezionabile dalle preferenze del pannello


	- Installazione servizi per la sincronizzazione dell'ora

			# pacman -S ntp 			(eventualmente configurare /etc/ntp.conf)
			# systemctl enable ntpd.service


	- Personalizzazione dell'ambiente di lavoro

		Xfce fornisce degli strumenti per la personalizzazione di base del desktop (Menu -> Impostazioni). In aggiunta, è possibile agire sulle seguenti 
		configurazioni:

		- Font: per avere un elenco completo dei temi-font direttamente installabili, eseguire

			$ sudo pacman -Ss font  

		   Procedere quindi all'installazione del tema scelto. Es. 		   

			# pacman -S ttf-dejavu

		   In alternativa, è possibile scaricare da internet (es. http://xfce-look.org) nuovi font e copiarli all'interno della directory /usr/share/fonts per
 		   renderli disponibili a tutti gli utenti del sistema, o nella cartella /home/<nome_utente>/.fonts per dotarne singoli utenti.  

		- Icone: per disporre di un elenco dei temi per icone installabili, eseguire ad esempio

			$ sudo pacman -Ss icons  

		   Procedere quindi all'installazione del tema scelto. In alternativa, anche in questo caso, è possibile scaricare da internet (es. 
		   http://xfce-look.org) nuovi temi e copiarli all'interno della directory /usr/share/icons  per renderli disponibili a tutti gli utenti del sistema, o
		   nella cartella /home/<nome_utente>/.icons per singoli utenti.  

		- Cursori: per visualizzare l'elenco dei temi per cursori disponibili nei repository, eseguire

			$ sudo pacman -Ss cursor  

		   Procedere quindi all'installazione del tema scelto. Es.

			$ sudo pacman -S xcursor-vanilla-dmz
			$ sudo pacman -S xcursor-vanilla-dmz-aa

		   É comunque possibile scaricare da internet (es. http://xfce-look.org) nuovi temi e copiarli direttamente all'interno della directory 
	           /usr/share/icons per tutti gli utenti del sistema, o nella cartella /home/<nome_utente>/.icons per singoli utenti.   

		- Temi per finestre: procedere come nei casi precedenti. I temi per finestre sono raccolti all'interno della cartella /usr/share/themes  per
 		   renderli disponibili a tutti gli utenti del sistema, o nella cartella /home/<nome_utente>/.themes per renderli disponibili a singoli utenti.   




******************************************************
*                                            	     *
*     INSTALLAZIONE DI UN LOGIN MANAGER (SLIM)	     *
*                                            	     *
******************************************************

Compito di un login manager grafico è quello di validare l'utenza al fine di limitare l'accesso al D.E. In dettaglio, una volta verificata l'utenza, il login manager lancia lo script ~/.xinitrc che, opportunamente configurato, avvia a sua volta il D.E.  

Analogamente a quanto visto per il Desktop Enviroment, la scelta del login manager è personale. Vengono qui proposte sue alternative: Slim e LXDM


	SLIM
   
		27. Configurare .xinitrc

			Se non già presente, è necessario copiare nella directory dell'utente il file .xinitrc 

				$ cp /etc/skel/.xinitrc ~/.xinitrc

			.xinitrc dovrà quindi venir configurato per l'avvio del D.E. Es.   

				$ nano ~/.xinitrc
				-----
				#!/bin/sh
				#
				# ~/.xinitrc
				#
				# Executed by startx (run your window manager from here)
				# exec gnome-session
				# exec startkde
				exec startxfce4
				# ...or the Window Manager of your choice
			 	# exec ck-launch-session dbus-launch --exit-with-session startxfce4

			É ora possibile verificare l'avvio di Xfce col già noto comando (startx è l'interfaccia di .xinitrc)

				$ startx

			o 

				$ sh ~/.xinitrc


		28. Installare Slim

			Slim viene installato come servizio:

				$ sudo pacman -S slim
				$ sudo systemctl enable slim.service
				$ sudo systemctl start slim.service

			É possibile configurare Slim attraverso il suo file di configurazione /etc/slim.conf; immagini di sfondo, tema e pannello di Slim sono invece
			all'indirizzo 

				/usr/share/slim/themes/default
	


		LXDM

			Installare LXDM

				$ sudo pacman -S lxdm


			Configurare LXDM per avviare Xfce

				/etc/etc/lxdm.conf
				---------------------
				...
				## default session or desktop used when no systemwide config
				# session=/usr/bin/startlxde
				session=/usr/bin/startxfce4
 				...

			
			Se gradito, configurare l'aspetto di LXDM tramite GUI

				$ sudo lxdm-config 

			
			Abilitare ed avviare il servizio

				$ sudo systemctl enable lxdm.service
				$ sudo systemctl start lxdm.service



******************************************************
*                                            	     *
*     INSTALLAZIONE DELE APPLICAZIONI		     *
*                                            	     *
******************************************************

30. Installare strumenti per la navigazione in internet

	$ sudo pacman -S firefox			(browser)
	$ sudo pacman -S chromium			(browser chrome per linux)

	$ sudo pacman -S flashplugin			(plugin flash player)
	$ sudo pacman -S gecko-mediaplayer		(plugin video)
	$ sudo pacman -S evince				(visualizzatore esterno file pdf)
	$ sudo pacman -S jre8-openjdk jdk8-openjdk	(java run time enviroment e plugin java)


31. Installare un client di posta (Thunderbird)

	$ sudo pacman -S thunderbird


32. Installare una suite di produttività (libreoffice)

	$ sudo pacman -S libreoffice 
	$ sudo pacman -S ttf-dejavu artwiz-fonts	(font)
	$ sudo pacman -Sy libreoffice-it		(lingua italiana) 
	$ sudo pacman -S hunspell 			(controllo ortografico)
	$ sudo pacman -S hunspell-it			(dizionario italiano)


33. Installare applicazioni per la grafica

	$ sudo pacman -S shotwell			(visualizzatore e editing foto)
	$ sudo pacman -S pinta				(semplice editor grafico)


34. Installare strumenti per il mutimedia

	$ sudo pacman -S cheese
	$ sudo pacman -S vlc libdvdcss
	$ sudo pacman -S audacity
	$ sudo pacman -S sound-juicer

	extra/gst-plugins-*
	extra/gstreamer*


35. Installare strumenti per il VOIP

	Nei sistemi 64 bit abilitare preventivamente repository "multilib" in /etc/pacman.conf

	$ sudo pacman -S skype


36. Installare VirtualBox

	$ sudo pacman -S virtualbox
	$ sudo modprobe vboxdrv							(carica manualmente il relativo modulo del kernel)
	$ sudo echo vboxdrv > /etc/modules-load.d/virtualbox.conf		(consente il caricamento del modulo all'avvio del sistema)

	In effetti, però, anche se non strettamente obbligatorio, potrebbe risultare utile caricare anche i moduli kernel vboxnetadp, vboxnetflt e vboxpci per
	consentire alle macchine virtuali realizzate di simulare differenti configurazioni di rete. Al riguardo, potrebbe essere opportuno completare il file 
	/etc/modules-load.d/virtualbox.conf come di seguito

		virtualbox.conf
		----- 
		vboxdrv

		# Extra modules 
		vboxnetadp
		vboxnetflt
		vboxpci

        É quindi necessario installare il VirtualBox Extension Pack: è possibile prelevarne la versione più aggiornata direttamente dalla sezione Downloads del sito
	https://www.virtualbox.org ed applicarla a VirtualBox attraverso interfaccia grafica (File > Preferenze... > Estensioni > Aggiungi pacchetto).

	Aggiungere poi l'utente al gruppo vboxusers

		$ su
		# usermod -aG vboxusers <nome-utente>  

	Infine, se si desidera simulare in VB sistemi a 64 bit, sarà necessario abilitare la Virtualizzazione Hardware nel BIOS della macchina.

	Una volta creata una macchina virtuale, qualora si intendessero installare le Virtual Guest Additions per sfruttare a pieno le potenzialità di VirtualBox,

		- inserire nella macchina creata l'apposito CD virtuale (Dispositivi > Inserisci l'immagine del CD delle Guest Additions...)
		- accedere allo stesso cd attraverso un file manager o, nel caso di assenza di interfaccia grafica, attraverso istruzioni del tipo

			$ sudo mount /dev/cdrom /mnt	    	
			$ cd /mnt
			$ ls -l

		- lanciare il file VBoxLinuxAdditions.run  
	
	Tale procedura deve essere sostituita dall'installazione diretta del pacchetto virtualbox-guest-utils all'interno di una macchina virtuale che ospiti 
	a sua volta Arch-Linux. 


37. Installare GParted

	$ sudo pacman -S gparted
	$ sudo pacman -S dosfstools f2fs-tools btrfs-progs exfat-utils reiserfsprogs gpart mtools


38. Installre ADB e Fastboot per la gestione di terminali Android

	- Abilitare il telefono al Debug USB

	- Installare i pacchetti android-tools, android-udev, lib32-ncurses 

	- Aggiungere il proprio utente al gruppo adbusers 

		$ sudo gpasswd -a username adbusers

	- Connettere il telefono al pc tramite cavo USB e verificare che il primo venga rilevato

		$ adb devices
		List of devices attached 
		<device-code>    device	  

	- Qualora il device non dovesse essere rilevato, sarà necessario creare una regola Udev:

		eseguendo il comando lsusb, è possibile determinare [VENDOR ID] e [PRODUCT ID] del dispositivo

			$lsusb
			...
			Bus 002 Device 008: ID <Vendor_ID>:<Product_ID> Motorola PCS 
			...

		creare quindi il file: 

			/etc/udev/rules.d/51-android.rules
			---------------------------------------
			SUBSYSTEM=="usb", ATTR{idVendor}=="[VENDOR ID]", MODE="0666", GROUP="adbusers"
			SUBSYSTEM=="usb",ATTR{idVendor}=="[VENDOR ID]",ATTR{idProduct}=="[PRODUCT ID]",SYMLINK+="android_adb"
			SUBSYSTEM=="usb",ATTR{idVendor}=="[VENDOR ID]",ATTR{idProduct}=="[PRODUCT ID]",SYMLINK+="android_fastboot"

		riavviare per caricare a nuova regola e vericare nuovamente.




-----   INSTALLAZIONE DEI SERVIZI


100. Installare SSH per accesso remoto sicuro

	Lato Server (o macchina da accedere):
		Installare OpenSSH ed abilitare il servizio sshd 
			
			$ sudo pacman -S openssh
			$ sudo systemctl enable sshd.service

	Lato Client (o macchina da cui si accede)
		Installare OpenSSH

			$ sudo pacman -S openssh

	Per accedere al server: 

			$ ssh nome_utente_server@ip_server		# se non si è modificata la porta di default 22
		oppure 
			$ ssh -p port nome_utente_server@ip_server  	# se la porta del servizio è stata modificata

	Per configurare il servizio, modificare sulla macchina server il file

			/etc/ssh/sshd_config  

		Sarà allora possibile, solo per fare degli esempi:

			- modificare la porta del servizio (default = 22): 			#Port 22
												Port 1000

			- impostare la possibilità o il divieto  di autenticarsi come Root: 	# PermitRootLogin yes
												PermitRootLogin no 
		Dopo ogni modifica è necessario riavviare il servizio

			$ sudo systemctl restart sshd.service


110. Installare Webmin per l'amministrazione guidata di sistema (anche da remoto)

	É possibile installare Webmin come servizio
	
		$ sudo pacman -S webmin
		$ systemctl enable webmin.service
		$ systemctl start webmin.service	
	
	Ora,
 
		- per utilizzare Webmin dalla macchina locale è sufficiente puntare il browser all'indirizzo

			http://localhost:10000

		- per utilizzare Webmin da postazione remota, posta ad esempio all'indirizzo <IP_address>, prima di indirizzare su client   

			http://<ip_server>:10000
 
		  è necessario autorizzare l'IP del client aggiungendo al file /etc/webmin/miniserv.conf del server la direttiva

			allow=<IP_address>
		  
			es.   $ sudo nano /etc/webmin/miniserv.conf
				-----------------------------------
				...

				allow=127.0.0.1	192.168.2.1 192.168.1.0		# l'accesso a webmin dalla macchina locale è di norma preimpostato
										# viene consentito l'accesso a webmin dall'indirizzo 192.168.2.1
										# viene consentito l'accesso a webmin dall'intera rete 192.168.1.0    

		  Dopo la modifica riavviare il servizio

			$ systemctl restart webmin.service

	Se poi si desidera accedere al server in modo sicuro (SSL), è sufficiente installare il pacchetto perl-net-ssleay; in quest'ultimo caso, il servizio sarà
	disponibile agli indirizzi https://localhost:10000 o https://<ip_server>:10000.

	N.B. Per accedere al servizio è richiesto autenticarsi come root 	



120. Creare un Server FTP

	Installare il pacchetto Very Secure File Transfert Protocol Daemon

		$ sudo pacman -S vsftpd

	e abilitare/avviare il servizio vsftpd

		$ sudo systemctl enable vsftpd.service
		$ sudo systemctl start vsftpd.service
	 
	Di default verrà "servita" la directory /srv/ftp. 	

	Per configurare il servizio, è possibile modificare opportunamente il file di configurazione /etc/vsftpd.conf. É così possibile, ad esempio,

		- Abilitare i permesssi di scrittura, quindi l'upload di file	write_enable=YES
		- Consentire agli utenti del sistema di accedere		local_enable=YES
		- Regolamentare l'accesso anonimo				anonymous_enable=YES/NO
		- Limitare la navigabilità nel file-system	 		chroot_local_user=YES	# Limita l'utente locale alla propria home
	 
	Dopo ogni modifica è necessario riavviare il servizio:
 
		$ sudo systemctl restart vsftpd.service 
		 




130. Creare un Server LAMP

	130.1 Installazione manuale

		1. Installazione del Web Server Apache: 

			Installare il software
	 	
				$ sudo pacman -S apache

			e riavviare il servizio di rete installato: DHCP o NetworkManager

				$ sudo systemctl restart dhcpcd.service
				
				oppure

				$ sudo systemctl restart NetworkManager.service 
	 
			Di default verrano "servite" le pagine della directory /srv/http. 	

			La configurazione del servizio è possibile attraverso il file /etc/httpd/conf/httpd.conf. Di qui è, ad esempio, possibile modificare
				
				Utente e gruppo che eseguono httpd	User http			# http è l'utente di default
									Group http			# http è il gruppo di default

				Porta del servizio			Listen 80			# 80 è valore di default			
									Listen 8080			# Imposta la nuova porta 
									Listen 127.0.0.1:80		# Abilita l'accesso ad Apache solo da locale sulla porta 80
				
				Directory di pubblicazione		DocumentRoot "/srv/http"	# Valore di
									<Directory "/srv/http">		# default

				mail amministratore			ServerAdmin you@example.com	# appare nelle pagine d'errore
		 									

			Dopo eventuali modifiche riavviare il servizio di rete: DHCP o NetworkManager 


		2. Installazione del motore PHP

			scaricare ed installare i pacchetti 

				$ sudo pacman -S php php-apache


			configurare il file /etc/httpd/conf/httpd.conf come di seguito


				/etc/httpd/conf/httpd.conf
				----------
				
				...
		
				# LoadModule mpm_event_module modules/mod_mpm_event.so
				LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

				...
				
				LoadModule php5_module modules/libphp5.so

				...

				Include conf/extra/php5_module.conf

				...


			affinchè, ricaricando il servizio http, Apache possa caricare i moduli PHP riavviare i servizi di rete   

				$ sudo systemctl restart dhcpcd.service (o $ sudo systemctl restart NetworkManager)

			Ulteriori configurazioni, se necessarie, saranno possibili attraverso il file di configurazione /etc/php/php.ini

			A titolo di verifica si pubblichi una pagina del tipo

				/srv/http/test.php
				-------------------
				<?php phpinfo(); ?>   



		3. Installazione MySql

			Installare il pacchetto mariadb (MySql) 

				$ sudo pacman -S mariadb

			lanciare l'utility per la configurazione del DB Server

				$ sudo mysql_secure_installation

			abilitare / avviare il servizio mysql
 
				$ sudo systemctl enable mysqld.service
				$ sudo systemctl start mysqld.service

			Eventuali configurazioni sono possibili attraverso i file /etc/my.cnf, /etc/mysql/my.cnf, ~/.my.cnf

			Per verificare la corretta installazione si esegua, a titolo d'esempio, direttamente su server (l'accesso da remoto è disabilitato di default) 

				$ mysql -u root -p		# accede al db server: u=user, p=password 
				> show databases;		# elenca i databese
				> use information_schema;	# seleziona un db
				> show tables;			# elenca le tabelle del db
				> select * from column_stats;	# esegue una query
				> quit				# esce
  


		4. Installazione dell'interfaccia phpMyAdmin

			Installare i pacchetti

				$ sudo pacman -S phpmyadmin php-mcrypt

			Abilitare in /etc/php/php.ini l'estensione mysqli per consentire l'interazione fra PHP e MySql

				/etc/php/php.ini
				-----

				...

				;extension=mysqli
				extension=mysqli

				...


			Creare il file di configurazione di phpmyadmin 

				$ sudo nano /etc/httpd/conf/extra/httpd-phpmyadmin.conf

				/etc/httpd/conf/extra/httpd-phpmyadmin.conf
				-----
				Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
				<Directory "/usr/share/webapps/phpMyAdmin">
				    DirectoryIndex index.html index.php
				    AllowOverride All
				    Options FollowSymlinks
				    Require all granted
				</Directory> 


			e farlo caricare da Apache 


				/etc/httpd/conf/httpd.conf
				------
			
				...

				Include conf/extra/httpd-phpmyadmin.conf

				...

			al suo riavvio 

				$ sudo systemctl restart dhcpcd.service

			Il servizio è accesssibile all'indirizzo

				http://<server_ip>/phpmyadmin


	130.2 Installazione automatica

		Installare XAMPP

			Per sistemi 64-bit installare preventivamente lib32-glibc e gcc-libs-multilib.

			Se necessario creare il gruppo "nogroup"

				$ sudo groupadd nogroup

			Scaricare i file di installazione da http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/

				$ sudo tar xvfz <file_di_installazione>.tar.gz -C /opt	(installa xampp)
				$ sudo /opt/lampp/lampp start				(avvia xampp)
				$ sudo /opt/lampp/lampp security			(imposta sicurezza: HostAdministrator: "xampp"; DbServerAdministrator: "root")

			Per accedere phpmyadmin da remoto potrebbe essere necessario modificare il file /opt/lampp/etc/extra/httpd-xampp.conf come segue

				/opt/lampp/etc/extra/httpd-xampp.conf
				-------------------------------------
				#
				# New XAMPP security concept
				#
				<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-st$
				       #Require local
					Require all granted
					ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
				</LocationMatch>

			Nel caso si riceva un errore del tipo 

				/opt/lampp/lampp: line 21: netstat: command not found

			basta installare net-tools e inetutils
 

Buona lettura, 8)
Soltanto quando siamo in grado di dare possediamo veramente.
Tutto ciò che non siamo in grado di dare ci possiede. [André Gide]

Rispondi